Updated docs.
diff --git a/docs/dyn/adexchangebuyer_v1_3.accounts.html b/docs/dyn/adexchangebuyer_v1_3.accounts.html
new file mode 100644
index 0000000..e4308fd
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_3.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_3.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_3.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_3.creatives.html b/docs/dyn/adexchangebuyer_v1_3.creatives.html
new file mode 100644
index 0000000..6969051
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_3.creatives.html
@@ -0,0 +1,390 @@
+<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_3.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_3.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. A creative will be available 30-40 minutes after submission.</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, buyerCreativeId=None, accountId=None)</a></code></p>
+<p class="firstline">Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.</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. A creative will be available 30-40 minutes after submission.
+
+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,
+      ],
+      "restrictedCategories": [ # All restricted categories for the ads that may be shown from this snippet.
+        42,
+      ],
+      "vendorType": [ # All vendor types 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",
+      ],
+      "corrections": [ # Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.
+        {
+          "reason": "A String", # The type of correction that was applied to the creative.
+          "details": [ # Additional details about the correction.
+            "A String",
+          ],
+        },
+      ],
+      "filteringReasons": { # The filtering reasons for the creative. Read-only. This field should not be set in requests.
+        "date": "A String", # The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
+        "reasons": [ # The filtering reasons.
+          {
+            "filteringCount": "A String", # The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.
+            "filteringStatus": 42, # The filtering status code. Please refer to "creative-status-codes.txt" in the Downloads section for the status codes.
+          },
+        ],
+      },
+      "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,
+    ],
+    "restrictedCategories": [ # All restricted categories for the ads that may be shown from this snippet.
+      42,
+    ],
+    "vendorType": [ # All vendor types 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",
+    ],
+    "corrections": [ # Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.
+      {
+        "reason": "A String", # The type of correction that was applied to the creative.
+        "details": [ # Additional details about the correction.
+          "A String",
+        ],
+      },
+    ],
+    "filteringReasons": { # The filtering reasons for the creative. Read-only. This field should not be set in requests.
+      "date": "A String", # The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
+      "reasons": [ # The filtering reasons.
+        {
+          "filteringCount": "A String", # The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.
+          "filteringStatus": 42, # The filtering status code. Please refer to "creative-status-codes.txt" in the Downloads section for the status codes.
+        },
+      ],
+    },
+    "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,
+      ],
+      "restrictedCategories": [ # All restricted categories for the ads that may be shown from this snippet.
+        42,
+      ],
+      "vendorType": [ # All vendor types 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",
+      ],
+      "corrections": [ # Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.
+        {
+          "reason": "A String", # The type of correction that was applied to the creative.
+          "details": [ # Additional details about the correction.
+            "A String",
+          ],
+        },
+      ],
+      "filteringReasons": { # The filtering reasons for the creative. Read-only. This field should not be set in requests.
+        "date": "A String", # The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
+        "reasons": [ # The filtering reasons.
+          {
+            "filteringCount": "A String", # The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.
+            "filteringStatus": 42, # The filtering status code. Please refer to "creative-status-codes.txt" in the Downloads section for the status codes.
+          },
+        ],
+      },
+      "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, buyerCreativeId=None, accountId=None)</code>
+  <pre>Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.
+
+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.
+  buyerCreativeId: string, When specified, only creatives for the given buyer creative ids are returned. (repeated)
+  accountId: integer, When specified, only creatives for the given account ids are returned. (repeated)
+
+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,
+          ],
+          "restrictedCategories": [ # All restricted categories for the ads that may be shown from this snippet.
+            42,
+          ],
+          "vendorType": [ # All vendor types 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",
+          ],
+          "corrections": [ # Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.
+            {
+              "reason": "A String", # The type of correction that was applied to the creative.
+              "details": [ # Additional details about the correction.
+                "A String",
+              ],
+            },
+          ],
+          "filteringReasons": { # The filtering reasons for the creative. Read-only. This field should not be set in requests.
+            "date": "A String", # The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
+            "reasons": [ # The filtering reasons.
+              {
+                "filteringCount": "A String", # The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.
+                "filteringStatus": 42, # The filtering status code. Please refer to "creative-status-codes.txt" in the Downloads section for the status codes.
+              },
+            ],
+          },
+          "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_3.directDeals.html b/docs/dyn/adexchangebuyer_v1_3.directDeals.html
new file mode 100644
index 0000000..687bcd7
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_3.directDeals.html
@@ -0,0 +1,138 @@
+<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_3.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_3.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.
+    "name": "A String", # Deal name.
+    "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).
+    "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).
+    "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.
+        "name": "A String", # Deal name.
+        "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).
+        "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).
+        "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_3.html b/docs/dyn/adexchangebuyer_v1_3.html
new file mode 100644
index 0000000..581e9f6
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_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="adexchangebuyer_v1_3.html">Ad Exchange Buyer API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adexchangebuyer_v1_3.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer_v1_3.creatives.html">creatives()</a></code>
+</p>
+<p class="firstline">Returns the creatives Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer_v1_3.directDeals.html">directDeals()</a></code>
+</p>
+<p class="firstline">Returns the directDeals Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangebuyer_v1_3.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_3.performanceReport.html b/docs/dyn/adexchangebuyer_v1_3.performanceReport.html
new file mode 100644
index 0000000..0918875
--- /dev/null
+++ b/docs/dyn/adexchangebuyer_v1_3.performanceReport.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="adexchangebuyer_v1_3.html">Ad Exchange Buyer API</a> . <a href="adexchangebuyer_v1_3.performanceReport.html">performanceReport</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, endDateTime, startDateTime, pageToken=None, maxResults=None)</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, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves the authenticated user's list of performance metrics.
+
+Args:
+  accountId: string, The account id to get the reports. (required)
+  endDateTime: string, The end time of the report in ISO 8601 timestamp format using UTC. (required)
+  startDateTime: string, The start time of the report in ISO 8601 timestamp format using UTC. (required)
+  pageToken: string, A continuation token, used to page through performance reports. 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.
+
+Returns:
+  An object of the form:
+
+    { # The configuration data for an Ad Exchange performance report list. 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.
+    "performanceReport": [ # A list of performance reports relevant for the account.
+      { # 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
+        "hostedMatchStatusRate": [ # Average QPS for hosted match operations.
+          "",
+        ],
+        "kind": "adexchangebuyer#performanceReport", # Resource type.
+        "cookieMatcherStatusRate": [ # Average QPS for cookie matcher operations.
+          "",
+        ],
+        "calloutStatusRate": [ # Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.
+          "",
+        ],
+        "noQuotaInRegion": 3.14, # Rate of various quota account statuses per quota check.
+        "timestamp": "A String", # The unix timestamp of the starting time of this performance data.
+        "region": "A String", # The trading location of this data.
+        "quotaConfiguredLimit": 3.14, # The configured quota limits for this account.
+        "latency50thPercentile": 3.14, # The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.
+        "latency85thPercentile": 3.14, # The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.
+        "pixelMatchResponses": 3.14, # Average QPS for pixel match responses from clients.
+        "outOfQuota": 3.14, # Rate of various quota account statuses per quota check.
+        "creativeStatusRate": [ # Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.
+          "",
+        ],
+        "quotaThrottledLimit": 3.14, # The throttled quota limits for this account.
+        "latency95thPercentile": 3.14, # The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.
+        "pixelMatchRequests": 3.14, # Average QPS for pixel match requests from clients.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1_1.accounts.html b/docs/dyn/adexchangeseller_v1_1.accounts.html
new file mode 100644
index 0000000..f9ae132
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.accounts.html
@@ -0,0 +1,98 @@
+<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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.accounts.html">accounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId)</a></code></p>
+<p class="firstline">Get information about the selected Ad Exchange account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId)</code>
+  <pre>Get information about the selected Ad Exchange account.
+
+Args:
+  accountId: string, Account to get information about. Tip: 'myaccount' is a valid ID. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adexchangeseller#account", # Kind of resource this is, in this case adexchangeseller#account.
+    "id": "A String", # Unique identifier of this account.
+    "name": "A String", # Name of this account.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1_1.adclients.html b/docs/dyn/adexchangeseller_v1_1.adclients.html
new file mode 100644
index 0000000..969b58d
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.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 Ad Exchange 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 Ad Exchange 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": "adexchangeseller#adClient", # Kind of resource this is, in this case adexchangeseller#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": "adexchangeseller#adClients", # Kind of list this is, in this case adexchangeseller#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/adexchangeseller_v1_1.adunits.customchannels.html b/docs/dyn/adexchangeseller_v1_1.adunits.customchannels.html
new file mode 100644
index 0000000..ccecbfe
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.adunits.html">adunits</a> . <a href="adexchangeseller_v1_1.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": "adexchangeseller#customChannel", # Kind of resource this is, in this case adexchangeseller#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": "adexchangeseller#customChannels", # Kind of list this is, in this case adexchangeseller#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/adexchangeseller_v1_1.adunits.html b/docs/dyn/adexchangeseller_v1_1.adunits.html
new file mode 100644
index 0000000..4b45994
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.adunits.html
@@ -0,0 +1,165 @@
+<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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.adunits.html">adunits</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.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="#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 Ad Exchange 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": "adexchangeseller#adUnit", # Kind of resource this is, in this case adexchangeseller#adUnit.
+    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+    "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.
+    "name": "A String", # Name of this ad unit.
+  }</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 Ad Exchange 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": "adexchangeseller#adUnit", # Kind of resource this is, in this case adexchangeseller#adUnit.
+        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+        "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.
+        "name": "A String", # Name of this ad unit.
+      },
+    ],
+    "kind": "adexchangeseller#adUnits", # Kind of list this is, in this case adexchangeseller#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/adexchangeseller_v1_1.alerts.html b/docs/dyn/adexchangeseller_v1_1.alerts.html
new file mode 100644
index 0000000..2c4ca2c
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.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 Ad Exchange account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(locale=None)</code>
+  <pre>List the alerts for this Ad Exchange 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": "adexchangeseller#alert", # Kind of resource this is, in this case adexchangeseller#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": "adexchangeseller#alerts", # Kind of list this is, in this case adexchangeseller#alerts.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1_1.customchannels.adunits.html b/docs/dyn/adexchangeseller_v1_1.customchannels.adunits.html
new file mode 100644
index 0000000..0439c38
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.customchannels.adunits.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.customchannels.html">customchannels</a> . <a href="adexchangeseller_v1_1.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": "adexchangeseller#adUnit", # Kind of resource this is, in this case adexchangeseller#adUnit.
+        "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+        "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.
+        "name": "A String", # Name of this ad unit.
+      },
+    ],
+    "kind": "adexchangeseller#adUnits", # Kind of list this is, in this case adexchangeseller#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/adexchangeseller_v1_1.customchannels.html b/docs/dyn/adexchangeseller_v1_1.customchannels.html
new file mode 100644
index 0000000..fbb66c8
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.customchannels.html">customchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.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 Ad Exchange 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": "adexchangeseller#customChannel", # Kind of resource this is, in this case adexchangeseller#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 Ad Exchange 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": "adexchangeseller#customChannel", # Kind of resource this is, in this case adexchangeseller#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": "adexchangeseller#customChannels", # Kind of list this is, in this case adexchangeseller#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/adexchangeseller_v1_1.html b/docs/dyn/adexchangeseller_v1_1.html
new file mode 100644
index 0000000..98714d5
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.adclients.html">adclients()</a></code>
+</p>
+<p class="firstline">Returns the adclients Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.adunits.html">adunits()</a></code>
+</p>
+<p class="firstline">Returns the adunits Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.alerts.html">alerts()</a></code>
+</p>
+<p class="firstline">Returns the alerts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.customchannels.html">customchannels()</a></code>
+</p>
+<p class="firstline">Returns the customchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.metadata.html">metadata()</a></code>
+</p>
+<p class="firstline">Returns the metadata Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.preferreddeals.html">preferreddeals()</a></code>
+</p>
+<p class="firstline">Returns the preferreddeals Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.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/adexchangeseller_v1_1.metadata.dimensions.html b/docs/dyn/adexchangeseller_v1_1.metadata.dimensions.html
new file mode 100644
index 0000000..52d9fc6
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.metadata.html">metadata</a> . <a href="adexchangeseller_v1_1.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 AdExchange 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 AdExchange 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": "adexchangeseller#reportingMetadataEntry", # Kind of resource this is, in this case adexchangeseller#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": "adexchangeseller#metadata", # Kind of list this is, in this case adexchangeseller#metadata.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1_1.metadata.html b/docs/dyn/adexchangeseller_v1_1.metadata.html
new file mode 100644
index 0000000..dee3afe
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.metadata.html">metadata</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.metadata.dimensions.html">dimensions()</a></code>
+</p>
+<p class="firstline">Returns the dimensions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.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/adexchangeseller_v1_1.metadata.metrics.html b/docs/dyn/adexchangeseller_v1_1.metadata.metrics.html
new file mode 100644
index 0000000..afa594c
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.metadata.html">metadata</a> . <a href="adexchangeseller_v1_1.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 AdExchange 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 AdExchange 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": "adexchangeseller#reportingMetadataEntry", # Kind of resource this is, in this case adexchangeseller#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": "adexchangeseller#metadata", # Kind of list this is, in this case adexchangeseller#metadata.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1_1.preferreddeals.html b/docs/dyn/adexchangeseller_v1_1.preferreddeals.html
new file mode 100644
index 0000000..a5f5e56
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.preferreddeals.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.preferreddeals.html">preferreddeals</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(dealId)</a></code></p>
+<p class="firstline">Get information about the selected Ad Exchange Preferred Deal.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">List the preferred deals for this Ad Exchange account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(dealId)</code>
+  <pre>Get information about the selected Ad Exchange Preferred Deal.
+
+Args:
+  dealId: string, Preferred deal to get information about. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adexchangeseller#preferredDeal", # Kind of resource this is, in this case adexchangeseller#preferredDeal.
+    "buyerNetworkName": "A String", # The name of the buyer network this deal is for.
+    "currencyCode": "A String", # The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
+    "advertiserName": "A String", # The name of the advertiser this deal is for.
+    "fixedCpm": "A String", # The fixed price for this preferred deal. In cpm micros of currency according to currencyCode. If set, then this preferred deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).
+    "startTime": "A String", # Time when this deal becomes active in seconds since the epoch (GMT). If not set then this deal is active immediately upon creation.
+    "endTime": "A String", # Time when this deal stops being active in seconds since the epoch (GMT). If not set then this deal is valid until manually disabled by the publisher.
+    "id": "A String", # Unique identifier of this preferred deal.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>List the preferred deals for this Ad Exchange account.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The preferred deals returned in this list response.
+      {
+        "kind": "adexchangeseller#preferredDeal", # Kind of resource this is, in this case adexchangeseller#preferredDeal.
+        "buyerNetworkName": "A String", # The name of the buyer network this deal is for.
+        "currencyCode": "A String", # The currency code that applies to the fixed_cpm value. If not set then assumed to be USD.
+        "advertiserName": "A String", # The name of the advertiser this deal is for.
+        "fixedCpm": "A String", # The fixed price for this preferred deal. In cpm micros of currency according to currencyCode. If set, then this preferred deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).
+        "startTime": "A String", # Time when this deal becomes active in seconds since the epoch (GMT). If not set then this deal is active immediately upon creation.
+        "endTime": "A String", # Time when this deal stops being active in seconds since the epoch (GMT). If not set then this deal is valid until manually disabled by the publisher.
+        "id": "A String", # Unique identifier of this preferred deal.
+      },
+    ],
+    "kind": "adexchangeseller#preferredDeals", # Kind of list this is, in this case adexchangeseller#preferredDeals.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1_1.reports.html b/docs/dyn/adexchangeseller_v1_1.reports.html
new file mode 100644
index 0000000..edbd328
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.reports.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adexchangeseller_v1_1.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, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</a></code></p>
+<p class="firstline">Generate an Ad Exchange 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, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</a></code></p>
+<p class="firstline">Generate an Ad Exchange 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, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</code>
+  <pre>Generate an Ad Exchange 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)
+  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)
+  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)
+  maxResults: integer, The maximum number of rows of report data to return.
+  dimension: string, Dimensions to base the report on. (repeated)
+  startIndex: integer, Index of the first row of report data to return.
+  filter: string, Filters to be run on the report. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adexchangeseller#report", # Kind this is, in this case adexchangeseller#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, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=None)</code>
+  <pre>Generate an Ad Exchange 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)
+  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)
+  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)
+  maxResults: integer, The maximum number of rows of report data to return.
+  dimension: string, Dimensions to base the report on. (repeated)
+  startIndex: integer, Index of the first row of report data to return.
+  filter: string, Filters to be run on the report. (repeated)
+
+Returns:
+  The media object as a string.
+
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adexchangeseller_v1_1.reports.saved.html b/docs/dyn/adexchangeseller_v1_1.reports.saved.html
new file mode 100644
index 0000000..73b7621
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.reports.html">reports</a> . <a href="adexchangeseller_v1_1.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 Ad Exchange 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 Ad Exchange 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 Ad Exchange 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": "adexchangeseller#report", # Kind this is, in this case adexchangeseller#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 Ad Exchange 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": "adexchangeseller#savedReport", # Kind of resource this is, in this case adexchangeseller#savedReport.
+        "id": "A String", # Unique identifier of this saved report.
+        "name": "A String", # This saved report's name.
+      },
+    ],
+    "kind": "adexchangeseller#savedReports", # Kind of list this is, in this case adexchangeseller#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/adexchangeseller_v1_1.urlchannels.html b/docs/dyn/adexchangeseller_v1_1.urlchannels.html
new file mode 100644
index 0000000..f1ee25a
--- /dev/null
+++ b/docs/dyn/adexchangeseller_v1_1.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="adexchangeseller_v1_1.html">Ad Exchange Seller API</a> . <a href="adexchangeseller_v1_1.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 Ad Exchange 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 Ad Exchange 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": "adexchangeseller#urlChannel", # Kind of resource this is, in this case adexchangeseller#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": "adexchangeseller#urlChannels", # Kind of list this is, in this case adexchangeseller#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/admin_reports_v1.activities.html b/docs/dyn/admin_reports_v1.activities.html
new file mode 100644
index 0000000..52cee37
--- /dev/null
+++ b/docs/dyn/admin_reports_v1.activities.html
@@ -0,0 +1,214 @@
+<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, pageToken=None, filters=None, maxResults=None, startTime=None, endTime=None, customerId=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>
+<p class="toc_element">
+  <code><a href="#watch">watch(userKey, applicationName, body, startTime=None, filters=None, eventName=None, actorIpAddress=None, pageToken=None, maxResults=None, endTime=None, customerId=None)</a></code></p>
+<p class="firstline">Push changes to activities</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(userKey, applicationName, eventName=None, actorIpAddress=None, pageToken=None, filters=None, maxResults=None, startTime=None, endTime=None, customerId=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.
+  pageToken: string, Token to specify next page.
+  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.
+  startTime: string, Return events which occured at or after this time.
+  endTime: string, Return events which occured at or before this time.
+  customerId: string, Represents the customer for which the data is to be fetched.
+
+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.
+        },
+        "etag": "A String", # ETag of the entry.
+        "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.
+    "etag": "A String", # ETag of the 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="watch">watch(userKey, applicationName, body, startTime=None, filters=None, eventName=None, actorIpAddress=None, pageToken=None, maxResults=None, endTime=None, customerId=None)</code>
+  <pre>Push changes to activities
+
+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)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An notification channel used to watch for resource changes.
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this channel.
+  }
+
+  startTime: string, Return events which occured at or after this time.
+  filters: string, Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],...
+  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.
+  pageToken: string, Token to specify next page.
+  maxResults: integer, Number of activity records to be shown in each page.
+  endTime: string, Return events which occured at or before this time.
+  customerId: string, Represents the customer for which the data is to be fetched.
+
+Returns:
+  An object of the form:
+
+    { # An notification channel used to watch for resource changes.
+      "resourceUri": "A String", # A version-specific identifier for the watched resource.
+      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+      "params": { # Additional parameters controlling delivery channel behavior. Optional.
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+      "address": "A String", # The address where notifications are delivered for this channel.
+      "type": "A String", # The type of delivery mechanism used for this channel.
+      "id": "A String", # A UUID or similar unique string that identifies this channel.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/admin_reports_v1.channels.html b/docs/dyn/admin_reports_v1.channels.html
new file mode 100644
index 0000000..ca2afc5
--- /dev/null
+++ b/docs/dyn/admin_reports_v1.channels.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="admin_reports_v1.html">Admin Reports API</a> . <a href="admin_reports_v1.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">Stop watching resources through this channel</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="stop">stop(body)</code>
+  <pre>Stop watching resources through this channel
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An notification channel used to watch for resource changes.
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this channel.
+  }
+
+</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..050bf0c
--- /dev/null
+++ b/docs/dyn/admin_reports_v1.customerUsageReports.html
@@ -0,0 +1,157 @@
+<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, parameters=None, pageToken=None, customerId=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, parameters=None, pageToken=None, customerId=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)
+  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.
+  customerId: string, Represents the customer for which the data is to be fetched.
+
+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.
+    "etag": "A String", # ETag of the resource.
+    "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.
+        "etag": "A String", # ETag of the resource.
+        "parameters": [ # Parameter value pairs for various applications.
+          {
+            "msgValue": [ # Nested message value of the parameter.
+              {
+                "a_key": "",
+              },
+            ],
+            "name": "A String", # The name of the parameter.
+            "intValue": "A String", # Integral value of the parameter.
+            "boolValue": True or False, # Boolean value of the parameter.
+            "datetimeValue": "A String", # RFC 3339 formatted value of the parameter.
+            "stringValue": "A String", # String value 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..a0a2b49
--- /dev/null
+++ b/docs/dyn/admin_reports_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="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.channels.html">channels()</a></code>
+</p>
+<p class="firstline">Returns the channels 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..732a1e4
--- /dev/null
+++ b/docs/dyn/admin_reports_v1.userUsageReport.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="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, customerId=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, customerId=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
+  customerId: string, Represents the customer for which the data is to be fetched.
+
+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.
+    "etag": "A String", # ETag of the resource.
+    "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.
+        "etag": "A String", # ETag of the resource.
+        "parameters": [ # Parameter value pairs for various applications.
+          {
+            "msgValue": [ # Nested message value of the parameter.
+              {
+                "a_key": "",
+              },
+            ],
+            "name": "A String", # The name of the parameter.
+            "intValue": "A String", # Integral value of the parameter.
+            "boolValue": True or False, # Boolean value of the parameter.
+            "datetimeValue": "A String", # RFC 3339 formatted value of the parameter.
+            "stringValue": "A String", # String value 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_4.accounts.adclients.html b/docs/dyn/adsense_v1_4.accounts.adclients.html
new file mode 100644
index 0000000..08a09ba
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.accounts.adclients.html
@@ -0,0 +1,127 @@
+<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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.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.
+        "supportsReporting": True or False, # Whether this ad client supports being reported on.
+        "arcReviewMode": "A String", # ARC review mode this ad client is in. Empty if the client is not opted in to ARC. Possible values: POST_REVIEW, AUTOMATIC_PRE_REVIEW.
+        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
+        "id": "A String", # Unique identifier of this ad client.
+      },
+    ],
+    "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_4.accounts.adunits.customchannels.html b/docs/dyn/adsense_v1_4.accounts.adunits.customchannels.html
new file mode 100644
index 0000000..5851d9a
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.accounts.adunits.html">adunits</a> . <a href="adsense_v1_4.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_4.accounts.adunits.html b/docs/dyn/adsense_v1_4.accounts.adunits.html
new file mode 100644
index 0000000..4395b0c
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.accounts.adunits.html">adunits</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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_4.accounts.alerts.html b/docs/dyn/adsense_v1_4.accounts.alerts.html
new file mode 100644
index 0000000..9de3b0c
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.accounts.alerts.html
@@ -0,0 +1,120 @@
+<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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.accounts.alerts.html">alerts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(accountId, alertId)</a></code></p>
+<p class="firstline">Dismiss (delete) the specified alert from the specified publisher AdSense account.</p>
+<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="delete">delete(accountId, alertId)</code>
+  <pre>Dismiss (delete) the specified alert from the specified publisher AdSense account.
+
+Args:
+  accountId: string, Account which contains the ad unit. (required)
+  alertId: string, Alert to delete. (required)
+</pre>
+</div>
+
+<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.
+      {
+        "kind": "adsense#alert", # Kind of resource this is, in this case adsense#alert.
+        "severity": "A String", # Severity of this alert. Possible values: INFO, WARNING, SEVERE.
+        "isDismissible": True or False, # Whether this alert can be dismissed.
+        "message": "A String", # The localized alert message.
+        "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.
+        "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.
+      },
+    ],
+    "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_4.accounts.customchannels.adunits.html b/docs/dyn/adsense_v1_4.accounts.customchannels.adunits.html
new file mode 100644
index 0000000..ab720d6
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.accounts.customchannels.html">customchannels</a> . <a href="adsense_v1_4.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_4.accounts.customchannels.html b/docs/dyn/adsense_v1_4.accounts.customchannels.html
new file mode 100644
index 0000000..4c2dde5
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.accounts.customchannels.html">customchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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_4.accounts.html b/docs/dyn/adsense_v1_4.accounts.html
new file mode 100644
index 0000000..a1f0afa
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.accounts.html
@@ -0,0 +1,194 @@
+<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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.accounts.adclients.html">adclients()</a></code>
+</p>
+<p class="firstline">Returns the adclients Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.accounts.adunits.html">adunits()</a></code>
+</p>
+<p class="firstline">Returns the adunits Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.accounts.alerts.html">alerts()</a></code>
+</p>
+<p class="firstline">Returns the alerts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.accounts.customchannels.html">customchannels()</a></code>
+</p>
+<p class="firstline">Returns the customchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.accounts.payments.html">payments()</a></code>
+</p>
+<p class="firstline">Returns the payments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.accounts.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.accounts.savedadstyles.html">savedadstyles()</a></code>
+</p>
+<p class="firstline">Returns the savedadstyles Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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.
+    "name": "A String", # Name of this account.
+    "subAccounts": [ # Sub accounts of the this account.
+      # Object with schema name: Account
+    ],
+    "timezone": "A String", # AdSense timezone of this account.
+    "id": "A String", # Unique identifier 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.
+        "name": "A String", # Name of this account.
+        "subAccounts": [ # Sub accounts of the this account.
+          # Object with schema name: Account
+        ],
+        "timezone": "A String", # AdSense timezone of this account.
+        "id": "A String", # Unique identifier 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_4.accounts.payments.html b/docs/dyn/adsense_v1_4.accounts.payments.html
new file mode 100644
index 0000000..ab0f890
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.accounts.payments.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.accounts.payments.html">payments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(accountId)</a></code></p>
+<p class="firstline">List the payments for the specified AdSense account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(accountId)</code>
+  <pre>List the payments for the specified AdSense account.
+
+Args:
+  accountId: string, Account for which to retrieve the payments. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The list of Payments for the account. One or both of a) the account's most recent payment; and b) the account's upcoming payment.
+      {
+        "paymentAmountCurrencyCode": "A String", # The currency code for the amount to be paid.
+        "kind": "adsense#payment", # Kind of resource this is, in this case adsense#payment.
+        "paymentAmount": "A String", # The amount to be paid.
+        "id": "A String", # Unique identifier of this Payment.
+        "paymentDate": "A String", # The date this payment was/will be credited to the user, or none if the payment threshold has not been met.
+      },
+    ],
+    "kind": "adsense#payments", # Kind of list this is, in this case adsense#payments.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_4.accounts.reports.html b/docs/dyn/adsense_v1_4.accounts.reports.html
new file mode 100644
index 0000000..941a51f
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.accounts.reports.html
@@ -0,0 +1,163 @@
+<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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.accounts.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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:
+
+    {
+    "startDate": "A String", # The requested start date in yyyy-mm-dd format.
+    "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",
+      ],
+    ],
+    "endDate": "A String", # The requested end date in yyyy-mm-dd format.
+    "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_4.accounts.reports.saved.html b/docs/dyn/adsense_v1_4.accounts.reports.saved.html
new file mode 100644
index 0000000..06a9cc8
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.accounts.reports.saved.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.accounts.reports.html">reports</a> . <a href="adsense_v1_4.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:
+
+    {
+    "startDate": "A String", # The requested start date in yyyy-mm-dd format.
+    "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",
+      ],
+    ],
+    "endDate": "A String", # The requested end date in yyyy-mm-dd format.
+    "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_4.accounts.savedadstyles.html b/docs/dyn/adsense_v1_4.accounts.savedadstyles.html
new file mode 100644
index 0000000..5c7e7fb
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.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_4.accounts.urlchannels.html b/docs/dyn/adsense_v1_4.accounts.urlchannels.html
new file mode 100644
index 0000000..529f5a5
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.accounts.html">accounts</a> . <a href="adsense_v1_4.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_4.adclients.html b/docs/dyn/adsense_v1_4.adclients.html
new file mode 100644
index 0000000..1afb896
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.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.
+        "supportsReporting": True or False, # Whether this ad client supports being reported on.
+        "arcReviewMode": "A String", # ARC review mode this ad client is in. Empty if the client is not opted in to ARC. Possible values: POST_REVIEW, AUTOMATIC_PRE_REVIEW.
+        "arcOptIn": True or False, # Whether this ad client is opted in to ARC.
+        "id": "A String", # Unique identifier of this ad client.
+      },
+    ],
+    "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_4.adunits.customchannels.html b/docs/dyn/adsense_v1_4.adunits.customchannels.html
new file mode 100644
index 0000000..7ee2cbb
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.adunits.html">adunits</a> . <a href="adsense_v1_4.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_4.adunits.html b/docs/dyn/adsense_v1_4.adunits.html
new file mode 100644
index 0000000..303c688
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.adunits.html">adunits</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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_4.alerts.html b/docs/dyn/adsense_v1_4.alerts.html
new file mode 100644
index 0000000..dd5cb72
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.alerts.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="adsense_v1_4.html">AdSense Management API</a> . <a href="adsense_v1_4.alerts.html">alerts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(alertId)</a></code></p>
+<p class="firstline">Dismiss (delete) the specified alert from the publisher's AdSense account.</p>
+<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="delete">delete(alertId)</code>
+  <pre>Dismiss (delete) the specified alert from the publisher's AdSense account.
+
+Args:
+  alertId: string, Alert to delete. (required)
+</pre>
+</div>
+
+<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.
+      {
+        "kind": "adsense#alert", # Kind of resource this is, in this case adsense#alert.
+        "severity": "A String", # Severity of this alert. Possible values: INFO, WARNING, SEVERE.
+        "isDismissible": True or False, # Whether this alert can be dismissed.
+        "message": "A String", # The localized alert message.
+        "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.
+        "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.
+      },
+    ],
+    "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_4.customchannels.adunits.html b/docs/dyn/adsense_v1_4.customchannels.adunits.html
new file mode 100644
index 0000000..665efe6
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.customchannels.html">customchannels</a> . <a href="adsense_v1_4.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_4.customchannels.html b/docs/dyn/adsense_v1_4.customchannels.html
new file mode 100644
index 0000000..255f7ab
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.customchannels.html">customchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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_4.html b/docs/dyn/adsense_v1_4.html
new file mode 100644
index 0000000..8ef7582
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.html
@@ -0,0 +1,127 @@
+<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_4.html">AdSense Management API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.adclients.html">adclients()</a></code>
+</p>
+<p class="firstline">Returns the adclients Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.adunits.html">adunits()</a></code>
+</p>
+<p class="firstline">Returns the adunits Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.alerts.html">alerts()</a></code>
+</p>
+<p class="firstline">Returns the alerts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.customchannels.html">customchannels()</a></code>
+</p>
+<p class="firstline">Returns the customchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.metadata.html">metadata()</a></code>
+</p>
+<p class="firstline">Returns the metadata Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.payments.html">payments()</a></code>
+</p>
+<p class="firstline">Returns the payments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.savedadstyles.html">savedadstyles()</a></code>
+</p>
+<p class="firstline">Returns the savedadstyles Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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_4.metadata.dimensions.html b/docs/dyn/adsense_v1_4.metadata.dimensions.html
new file mode 100644
index 0000000..a96d004
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.metadata.html">metadata</a> . <a href="adsense_v1_4.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_4.metadata.html b/docs/dyn/adsense_v1_4.metadata.html
new file mode 100644
index 0000000..52524d0
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.metadata.html">metadata</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.metadata.dimensions.html">dimensions()</a></code>
+</p>
+<p class="firstline">Returns the dimensions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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_4.metadata.metrics.html b/docs/dyn/adsense_v1_4.metadata.metrics.html
new file mode 100644
index 0000000..8e958c8
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.metadata.html">metadata</a> . <a href="adsense_v1_4.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_4.payments.html b/docs/dyn/adsense_v1_4.payments.html
new file mode 100644
index 0000000..27b0ede
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.payments.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="adsense_v1_4.html">AdSense Management API</a> . <a href="adsense_v1_4.payments.html">payments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">List the payments for this AdSense account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>List the payments for this AdSense account.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The list of Payments for the account. One or both of a) the account's most recent payment; and b) the account's upcoming payment.
+      {
+        "paymentAmountCurrencyCode": "A String", # The currency code for the amount to be paid.
+        "kind": "adsense#payment", # Kind of resource this is, in this case adsense#payment.
+        "paymentAmount": "A String", # The amount to be paid.
+        "id": "A String", # Unique identifier of this Payment.
+        "paymentDate": "A String", # The date this payment was/will be credited to the user, or none if the payment threshold has not been met.
+      },
+    ],
+    "kind": "adsense#payments", # Kind of list this is, in this case adsense#payments.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsense_v1_4.reports.html b/docs/dyn/adsense_v1_4.reports.html
new file mode 100644
index 0000000..6b796fe
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.reports.html
@@ -0,0 +1,163 @@
+<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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsense_v1_4.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:
+
+    {
+    "startDate": "A String", # The requested start date in yyyy-mm-dd format.
+    "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",
+      ],
+    ],
+    "endDate": "A String", # The requested end date in yyyy-mm-dd format.
+    "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_4.reports.saved.html b/docs/dyn/adsense_v1_4.reports.saved.html
new file mode 100644
index 0000000..1647e4c
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.reports.html">reports</a> . <a href="adsense_v1_4.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:
+
+    {
+    "startDate": "A String", # The requested start date in yyyy-mm-dd format.
+    "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",
+      ],
+    ],
+    "endDate": "A String", # The requested end date in yyyy-mm-dd format.
+    "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_4.savedadstyles.html b/docs/dyn/adsense_v1_4.savedadstyles.html
new file mode 100644
index 0000000..ccc5ff6
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.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_4.urlchannels.html b/docs/dyn/adsense_v1_4.urlchannels.html
new file mode 100644
index 0000000..30b3bb2
--- /dev/null
+++ b/docs/dyn/adsense_v1_4.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_4.html">AdSense Management API</a> . <a href="adsense_v1_4.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/adsensehost_v4_1.accounts.adclients.html b/docs/dyn/adsensehost_v4_1.accounts.adclients.html
new file mode 100644
index 0000000..9fb1929
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.accounts.adclients.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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.accounts.html">accounts</a> . <a href="adsensehost_v4_1.accounts.adclients.html">adclients</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, adClientId)</a></code></p>
+<p class="firstline">Get information about one of the ad clients in the specified publisher's AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all hosted ad clients in the specified hosted 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)</code>
+  <pre>Get information about one of the ad clients in the specified publisher's AdSense account.
+
+Args:
+  accountId: string, Account which contains the ad client. (required)
+  adClientId: string, Ad client to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
+    "kind": "adsensehost#adClient", # Kind of resource this is, in this case adsensehost#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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, pageToken=None, maxResults=None)</code>
+  <pre>List all hosted ad clients in the specified hosted 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": "adsensehost#adClient", # Kind of resource this is, in this case adsensehost#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": "adsensehost#adClients", # Kind of list this is, in this case adsensehost#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/adsensehost_v4_1.accounts.adunits.html b/docs/dyn/adsensehost_v4_1.accounts.adunits.html
new file mode 100644
index 0000000..167fa1e
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.accounts.adunits.html
@@ -0,0 +1,616 @@
+<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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.accounts.html">accounts</a> . <a href="adsensehost_v4_1.accounts.adunits.html">adunits</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(accountId, adClientId, adUnitId)</a></code></p>
+<p class="firstline">Delete the specified ad unit from the specified publisher AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, adClientId, adUnitId)</a></code></p>
+<p class="firstline">Get the specified host ad unit in this AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#getAdCode">getAdCode(accountId, adClientId, adUnitId, hostCustomChannelId=None)</a></code></p>
+<p class="firstline">Get ad code for the specified ad unit, attaching the specified host custom channels.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, adClientId, body)</a></code></p>
+<p class="firstline">Insert the supplied ad unit into the specified publisher AdSense account.</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 publisher's 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>
+<p class="toc_element">
+  <code><a href="#patch">patch(accountId, adClientId, adUnitId, body)</a></code></p>
+<p class="firstline">Update the supplied ad unit in the specified publisher AdSense account. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, adClientId, body)</a></code></p>
+<p class="firstline">Update the supplied ad unit in the specified publisher AdSense account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(accountId, adClientId, adUnitId)</code>
+  <pre>Delete the specified ad unit from the specified publisher AdSense account.
+
+Args:
+  accountId: string, Account which contains the ad unit. (required)
+  adClientId: string, Ad client for which to get ad unit. (required)
+  adUnitId: string, Ad unit to delete. (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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+      "name": "A String", # Name of this ad unit.
+      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+        "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+          "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. Size values are in the form SIZE_{width}_{height}.
+      },
+      "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+        "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+        },
+        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(accountId, adClientId, adUnitId)</code>
+  <pre>Get the specified host ad unit in this AdSense account.
+
+Args:
+  accountId: string, Account which contains the ad unit. (required)
+  adClientId: string, Ad client for which to get ad unit. (required)
+  adUnitId: string, Ad unit to get. (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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+      "name": "A String", # Name of this ad unit.
+      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+        "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+          "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. Size values are in the form SIZE_{width}_{height}.
+      },
+      "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+        "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+        },
+        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getAdCode">getAdCode(accountId, adClientId, adUnitId, hostCustomChannelId=None)</code>
+  <pre>Get ad code for the specified ad unit, attaching the specified host custom channels.
+
+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)
+  hostCustomChannelId: string, Host custom channel to attach to the ad code. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "adCode": "A String", # The ad code snippet.
+    "kind": "adsensehost#adCode", # Kind this is, in this case adsensehost#adCode.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, adClientId, body)</code>
+  <pre>Insert the supplied ad unit into the specified publisher AdSense account.
+
+Args:
+  accountId: string, Account which will contain the ad unit. (required)
+  adClientId: string, Ad client into which to insert the ad unit. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+    "name": "A String", # Name of this ad unit.
+    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+      "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+      "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+        "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. Size values are in the form SIZE_{width}_{height}.
+    },
+    "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+      "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+        "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+      },
+      "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+    },
+  }
+
+
+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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+      "name": "A String", # Name of this ad unit.
+      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+        "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+          "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. Size values are in the form SIZE_{width}_{height}.
+      },
+      "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+        "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+        },
+        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+      },
+    }</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 publisher's AdSense account.
+
+Args:
+  accountId: string, Account which contains the ad client. (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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+          "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+          "name": "A String", # Name of this ad unit.
+          "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+            "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+            "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+              "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. Size values are in the form SIZE_{width}_{height}.
+          },
+          "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+            "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+              "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+            },
+            "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+          },
+        },
+    ],
+    "kind": "adsensehost#adUnits", # Kind of list this is, in this case adsensehost#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>
+
+<div class="method">
+    <code class="details" id="patch">patch(accountId, adClientId, adUnitId, body)</code>
+  <pre>Update the supplied ad unit in the specified publisher AdSense account. This method supports patch semantics.
+
+Args:
+  accountId: string, Account which contains the ad client. (required)
+  adClientId: string, Ad client which contains the ad unit. (required)
+  adUnitId: string, Ad unit to get. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+    "name": "A String", # Name of this ad unit.
+    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+      "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+      "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+        "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. Size values are in the form SIZE_{width}_{height}.
+    },
+    "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+      "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+        "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+      },
+      "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+    },
+  }
+
+
+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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+      "name": "A String", # Name of this ad unit.
+      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+        "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+          "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. Size values are in the form SIZE_{width}_{height}.
+      },
+      "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+        "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+        },
+        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, adClientId, body)</code>
+  <pre>Update the supplied ad unit in the specified publisher AdSense account.
+
+Args:
+  accountId: string, Account which contains the ad client. (required)
+  adClientId: string, Ad client which contains the ad unit. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+    "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+    "name": "A String", # Name of this ad unit.
+    "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+      "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+      "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+        "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. Size values are in the form SIZE_{width}_{height}.
+    },
+    "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+      "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+        "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+      },
+      "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+    },
+  }
+
+
+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": "adsensehost#adUnit", # Kind of resource this is, in this case adsensehost#adUnit.
+      "code": "A String", # Identity code of this ad unit, not necessarily unique across ad clients.
+      "name": "A String", # Name of this ad unit.
+      "contentAdsSettings": { # Settings specific to content ads (AFC) and highend mobile content ads (AFMC).
+        "type": "A String", # Type of this ad unit. Possible values are TEXT, TEXT_IMAGE, IMAGE and LINK.
+        "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. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.
+          "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. Size values are in the form SIZE_{width}_{height}.
+      },
+      "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. Possible values are SQUARE, SLIGHTLY_ROUNDED and VERY_ROUNDED.
+        "colors": { # The colors 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. Possible values are: ACCOUNT_DEFAULT_FAMILY, ADSENSE_DEFAULT_FAMILY, ARIAL, TIMES and VERDANA.
+          "size": "A String", # The size of the font. Possible values are: ACCOUNT_DEFAULT_SIZE, ADSENSE_DEFAULT_SIZE, SMALL, MEDIUM and LARGE.
+        },
+        "kind": "adsensehost#adStyle", # Kind this is, in this case adsensehost#adStyle.
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.accounts.html b/docs/dyn/adsensehost_v4_1.accounts.html
new file mode 100644
index 0000000..733bf72
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.accounts.html
@@ -0,0 +1,141 @@
+<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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.accounts.html">accounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.accounts.adclients.html">adclients()</a></code>
+</p>
+<p class="firstline">Returns the adclients Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.accounts.adunits.html">adunits()</a></code>
+</p>
+<p class="firstline">Returns the adunits Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.accounts.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(accountId)</a></code></p>
+<p class="firstline">Get information about the selected associated AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(filterAdClientId)</a></code></p>
+<p class="firstline">List hosted accounts associated with this AdSense account by ad client id.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId)</code>
+  <pre>Get information about the selected associated AdSense account.
+
+Args:
+  accountId: string, Account to get information about. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Approval status of this account. One of: PENDING, APPROVED, DISABLED.
+    "kind": "adsensehost#account", # Kind of resource this is, in this case adsensehost#account.
+    "id": "A String", # Unique identifier of this account.
+    "name": "A String", # Name of this account.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(filterAdClientId)</code>
+  <pre>List hosted accounts associated with this AdSense account by ad client id.
+
+Args:
+  filterAdClientId: string, Ad clients to list accounts for. (required) (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The accounts returned in this list response.
+      {
+        "status": "A String", # Approval status of this account. One of: PENDING, APPROVED, DISABLED.
+        "kind": "adsensehost#account", # Kind of resource this is, in this case adsensehost#account.
+        "id": "A String", # Unique identifier of this account.
+        "name": "A String", # Name of this account.
+      },
+    ],
+    "kind": "adsensehost#accounts", # Kind of list this is, in this case adsensehost#accounts.
+    "etag": "A String", # ETag of this response for caching purposes.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.accounts.reports.html b/docs/dyn/adsensehost_v4_1.accounts.reports.html
new file mode 100644
index 0000000..920e3b6
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.accounts.reports.html
@@ -0,0 +1,127 @@
+<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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.accounts.html">accounts</a> . <a href="adsensehost_v4_1.accounts.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#generate">generate(accountId, startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=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, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=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, Hosted 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)
+  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)
+  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)
+  maxResults: integer, The maximum number of rows of report data to return.
+  dimension: string, Dimensions to base the report on. (repeated)
+  startIndex: integer, Index of the first row of report data to return.
+  filter: string, Filters to be run on the report. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsensehost#report", # Kind this is, in this case adsensehost#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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.adclients.html b/docs/dyn/adsensehost_v4_1.adclients.html
new file mode 100644
index 0000000..57422e4
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.adclients.html
@@ -0,0 +1,147 @@
+<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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.adclients.html">adclients</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(adClientId)</a></code></p>
+<p class="firstline">Get information about one of the ad clients in the Host AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all host 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="get">get(adClientId)</code>
+  <pre>Get information about one of the ad clients in the Host AdSense account.
+
+Args:
+  adClientId: string, Ad client to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "productCode": "A String", # This ad client's product code, which corresponds to the PRODUCT_CODE report dimension.
+    "kind": "adsensehost#adClient", # Kind of resource this is, in this case adsensehost#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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
+  <pre>List all host 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": "adsensehost#adClient", # Kind of resource this is, in this case adsensehost#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": "adsensehost#adClients", # Kind of list this is, in this case adsensehost#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/adsensehost_v4_1.associationsessions.html b/docs/dyn/adsensehost_v4_1.associationsessions.html
new file mode 100644
index 0000000..2bd44a5
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.associationsessions.html
@@ -0,0 +1,143 @@
+<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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.associationsessions.html">associationsessions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#start">start(productCode, websiteUrl, websiteLocale=None, userLocale=None)</a></code></p>
+<p class="firstline">Create an association session for initiating an association with an AdSense user.</p>
+<p class="toc_element">
+  <code><a href="#verify">verify(token)</a></code></p>
+<p class="firstline">Verify an association session after the association callback returns from AdSense signup.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="start">start(productCode, websiteUrl, websiteLocale=None, userLocale=None)</code>
+  <pre>Create an association session for initiating an association with an AdSense user.
+
+Args:
+  productCode: string, Products to associate with the user. (required) (repeated)
+    Allowed values
+      AFC - AdSense For Content
+      AFG - AdSense For Games
+      AFMC - AdSense For Mobile Content
+      AFS - AdSense For Search
+      AFV - AdSense For Video
+  websiteUrl: string, The URL of the user's hosted website. (required)
+  websiteLocale: string, The locale of the user's hosted website.
+  userLocale: string, The preferred locale of the user.
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the completed association, available once the association callback token has been verified. One of ACCEPTED, REJECTED, or ERROR.
+    "productCodes": [ # The products to associate with the user. Options: AFC, AFF, AFS, AFMC
+      "A String",
+    ],
+    "kind": "adsensehost#associationSession", # Kind of resource this is, in this case adsensehost#associationSession.
+    "userLocale": "A String", # The preferred locale of the user themselves when going through the AdSense association flow.
+    "websiteLocale": "A String", # The locale of the user's hosted website.
+    "redirectUrl": "A String", # Redirect URL of this association session. Used to redirect users into the AdSense association flow.
+    "websiteUrl": "A String", # The URL of the user's hosted website.
+    "id": "A String", # Unique identifier of this association session.
+    "accountId": "A String", # Hosted account id of the associated publisher after association. Present if status is ACCEPTED.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="verify">verify(token)</code>
+  <pre>Verify an association session after the association callback returns from AdSense signup.
+
+Args:
+  token: string, The token returned to the association callback URL. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the completed association, available once the association callback token has been verified. One of ACCEPTED, REJECTED, or ERROR.
+    "productCodes": [ # The products to associate with the user. Options: AFC, AFF, AFS, AFMC
+      "A String",
+    ],
+    "kind": "adsensehost#associationSession", # Kind of resource this is, in this case adsensehost#associationSession.
+    "userLocale": "A String", # The preferred locale of the user themselves when going through the AdSense association flow.
+    "websiteLocale": "A String", # The locale of the user's hosted website.
+    "redirectUrl": "A String", # Redirect URL of this association session. Used to redirect users into the AdSense association flow.
+    "websiteUrl": "A String", # The URL of the user's hosted website.
+    "id": "A String", # Unique identifier of this association session.
+    "accountId": "A String", # Hosted account id of the associated publisher after association. Present if status is ACCEPTED.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.customchannels.html b/docs/dyn/adsensehost_v4_1.customchannels.html
new file mode 100644
index 0000000..a0cd089
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.customchannels.html
@@ -0,0 +1,263 @@
+<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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.customchannels.html">customchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(adClientId, customChannelId)</a></code></p>
+<p class="firstline">Delete a specific custom channel from the host AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#get">get(adClientId, customChannelId)</a></code></p>
+<p class="firstline">Get a specific custom channel from the host AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(adClientId, body)</a></code></p>
+<p class="firstline">Add a new custom channel to the host AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all host custom channels 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>
+<p class="toc_element">
+  <code><a href="#patch">patch(adClientId, customChannelId, body)</a></code></p>
+<p class="firstline">Update a custom channel in the host AdSense account. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(adClientId, body)</a></code></p>
+<p class="firstline">Update a custom channel in the host AdSense account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(adClientId, customChannelId)</code>
+  <pre>Delete a specific custom channel from the host AdSense account.
+
+Args:
+  adClientId: string, Ad client from which to delete the custom channel. (required)
+  customChannelId: string, Custom channel to delete. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+      "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="get">get(adClientId, customChannelId)</code>
+  <pre>Get a specific custom channel from the host AdSense account.
+
+Args:
+  adClientId: string, Ad client from which to get the custom channel. (required)
+  customChannelId: string, Custom channel to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+      "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="insert">insert(adClientId, body)</code>
+  <pre>Add a new custom channel to the host AdSense account.
+
+Args:
+  adClientId: string, Ad client to which the new custom channel will be added. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+    "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.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+      "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 host custom channels in 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": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+          "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+          "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": "adsensehost#customChannels", # Kind of list this is, in this case adsensehost#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>
+
+<div class="method">
+    <code class="details" id="patch">patch(adClientId, customChannelId, body)</code>
+  <pre>Update a custom channel in the host AdSense account. This method supports patch semantics.
+
+Args:
+  adClientId: string, Ad client in which the custom channel will be updated. (required)
+  customChannelId: string, Custom channel to get. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+    "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.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+      "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="update">update(adClientId, body)</code>
+  <pre>Update a custom channel in the host AdSense account.
+
+Args:
+  adClientId: string, Ad client in which the custom channel will be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+    "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+    "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.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "adsensehost#customChannel", # Kind of resource this is, in this case adsensehost#customChannel.
+      "code": "A String", # Code of this custom channel, not necessarily unique across ad clients.
+      "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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.html b/docs/dyn/adsensehost_v4_1.html
new file mode 100644
index 0000000..52a5227
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.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="adsensehost_v4_1.html">AdSense Host API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.adclients.html">adclients()</a></code>
+</p>
+<p class="firstline">Returns the adclients Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.associationsessions.html">associationsessions()</a></code>
+</p>
+<p class="firstline">Returns the associationsessions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.customchannels.html">customchannels()</a></code>
+</p>
+<p class="firstline">Returns the customchannels Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="adsensehost_v4_1.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/adsensehost_v4_1.reports.html b/docs/dyn/adsensehost_v4_1.reports.html
new file mode 100644
index 0000000..6e9c039
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.reports.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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#generate">generate(startDate, endDate, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=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, sort=None, locale=None, metric=None, maxResults=None, dimension=None, startIndex=None, filter=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)
+  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)
+  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)
+  maxResults: integer, The maximum number of rows of report data to return.
+  dimension: string, Dimensions to base the report on. (repeated)
+  startIndex: integer, Index of the first row of report data to return.
+  filter: string, Filters to be run on the report. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "adsensehost#report", # Kind this is, in this case adsensehost#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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/adsensehost_v4_1.urlchannels.html b/docs/dyn/adsensehost_v4_1.urlchannels.html
new file mode 100644
index 0000000..fa85805
--- /dev/null
+++ b/docs/dyn/adsensehost_v4_1.urlchannels.html
@@ -0,0 +1,174 @@
+<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="adsensehost_v4_1.html">AdSense Host API</a> . <a href="adsensehost_v4_1.urlchannels.html">urlchannels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(adClientId, urlChannelId)</a></code></p>
+<p class="firstline">Delete a URL channel from the host AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(adClientId, body)</a></code></p>
+<p class="firstline">Add a new URL channel to the host AdSense account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(adClientId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all host URL channels in the host 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="delete">delete(adClientId, urlChannelId)</code>
+  <pre>Delete a URL channel from the host AdSense account.
+
+Args:
+  adClientId: string, Ad client from which to delete the URL channel. (required)
+  urlChannelId: string, URL channel to delete. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "adsensehost#urlChannel", # Kind of resource this is, in this case adsensehost#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
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(adClientId, body)</code>
+  <pre>Add a new URL channel to the host AdSense account.
+
+Args:
+  adClientId: string, Ad client to which the new URL channel will be added. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "adsensehost#urlChannel", # Kind of resource this is, in this case adsensehost#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
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "adsensehost#urlChannel", # Kind of resource this is, in this case adsensehost#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
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(adClientId, pageToken=None, maxResults=None)</code>
+  <pre>List all host URL channels in the host 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": "adsensehost#urlChannel", # Kind of resource this is, in this case adsensehost#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": "adsensehost#urlChannels", # Kind of list this is, in this case adsensehost#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
new file mode 100644
index 0000000..5f7894e
--- /dev/null
+++ b/docs/dyn/analytics_v3.data.ga.html
@@ -0,0 +1,181 @@
+<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.ga.html">ga</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(ids, start_date, end_date, metrics, max_results=None, filters=None, dimensions=None, sort=None, samplingLevel=None, segment=None, start_index=None, output=None)</a></code></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, max_results=None, filters=None, dimensions=None, sort=None, samplingLevel=None, segment=None, start_index=None, output=None)</code>
+  <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 view (profile) ID. (required)
+  start_date: string, Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. (required)
+  end_date: string, End date for fetching Analytics data. Request can should specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is yesterday. (required)
+  metrics: string, A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified. (required)
+  max_results: integer, The maximum number of entries to include in this feed.
+  filters: string, A comma-separated list of dimension or metric filters to be applied to Analytics data.
+  dimensions: string, A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'.
+  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for Analytics data.
+  samplingLevel: string, The desired sampling level.
+    Allowed values
+      DEFAULT - Returns response with a sample size that balances speed and accuracy.
+      FASTER - Returns a fast response with a smaller sample size.
+      HIGHER_PRECISION - Returns a more accurate response using a large sample size, but this may result in the response being slower.
+  segment: string, An Analytics segment to be applied to data.
+  start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+  output: string, The selected format for the response. Default format is JSON.
+    Allowed values
+      dataTable - Returns the response in Google Charts Data Table format. This is useful in creating visualization using Google Charts.
+      json - Returns the response in standard JSON format.
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      [
+        "A String",
+      ],
+    ],
+    "containsSampledData": True or False, # Determines if Analytics data contains samples.
+    "totalResults": 42, # The total number of rows for the query, regardless of the number of rows in the response.
+    "itemsPerPage": 42, # The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
+    "totalsForAllResults": { # 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.
+    },
+    "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.
+      },
+    ],
+    "sampleSize": "A String", # The number of samples used to calculate the result.
+    "dataTable": {
+      "rows": [
+        {
+          "c": [
+            {
+              "v": "A String",
+            },
+          ],
+        },
+      ],
+      "cols": [
+        {
+          "type": "A String",
+          "id": "A String",
+          "label": "A String",
+        },
+      ],
+    },
+    "query": { # Analytics data request query parameters.
+      "max-results": 42, # Maximum results per page.
+      "sort": [ # List of dimensions or metrics based on which Analytics data is sorted.
+        "A String",
+      ],
+      "dimensions": "A String", # List of analytics dimensions.
+      "start-date": "A String", # Start date.
+      "start-index": 42, # Start index.
+      "segment": "A String", # Analytics advanced segment.
+      "ids": "A String", # Unique table ID.
+      "metrics": [ # List of analytics metrics.
+        "A String",
+      ],
+      "samplingLevel": "A String", # Desired sampling level
+      "filters": "A String", # Comma-separated list of dimension or metric filters.
+      "end-date": "A String", # End date.
+    },
+    "previousLink": "A String", # Link to previous page for this Analytics data query.
+    "nextLink": "A String", # Link to next page for this Analytics data query.
+    "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.
+    },
+    "id": "A String", # Unique ID for this data response.
+    "selfLink": "A String", # Link to this page.
+    "sampleSpace": "A String", # Total size of the sample space from which the samples were selected.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.data.html b/docs/dyn/analytics_v3.data.html
new file mode 100644
index 0000000..7d24ed6
--- /dev/null
+++ b/docs/dyn/analytics_v3.data.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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.data.html">data</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="analytics_v3.data.ga.html">ga()</a></code>
+</p>
+<p class="firstline">Returns the ga Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.data.mcf.html">mcf()</a></code>
+</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
new file mode 100644
index 0000000..583b1f9
--- /dev/null
+++ b/docs/dyn/analytics_v3.data.mcf.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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.data.html">data</a> . <a href="analytics_v3.data.mcf.html">mcf</a></h1>
+<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, samplingLevel=None, start_index=None)</a></code></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, samplingLevel=None, start_index=None)</code>
+  <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 view (profile) ID. (required)
+  start_date: string, Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. (required)
+  end_date: string, End date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. (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)
+  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data.
+  dimensions: string, A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'.
+  filters: string, A comma-separated list of dimension or metric filters to be applied to the Analytics data.
+  max_results: integer, The maximum number of entries to include in this feed.
+  samplingLevel: string, The desired sampling level.
+    Allowed values
+      DEFAULT - Returns response with a sample size that balances speed and accuracy.
+      FASTER - Returns a fast response with a smaller sample size.
+      HIGHER_PRECISION - Returns a more accurate response using a large sample size, but this may result in the response being slower.
+  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:
+
+    { # 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.
+      [
+        { # A union object representing a dimension or metric value. Only one of "primitiveValue" or "conversionPathValue" attribute will be populated.
+          "primitiveValue": "A String", # A primitive dimension value. A primitive metric value.
+          "conversionPathValue": [ # A conversion path dimension value, containing a list of interactions with their attributes.
+            {
+              "nodeValue": "A String", # Node value of an interaction on conversion path. Such as source, medium etc.
+              "interactionType": "A String", # Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc.
+            },
+          ],
+        },
+      ],
+    ],
+    "containsSampledData": True or False, # Determines if the Analytics data contains sampled data.
+    "totalResults": 42, # The total number of rows for the query, regardless of the number of rows in the response.
+    "itemsPerPage": 42, # The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
+    "totalsForAllResults": { # 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.
+    },
+    "nextLink": "A String", # Link to next page for this Analytics data query.
+    "sampleSize": "A String", # The number of samples used to calculate the result.
+    "id": "A String", # Unique ID for this data response.
+    "query": { # Analytics data request query parameters.
+      "max-results": 42, # Maximum results per page.
+      "sort": [ # List of dimensions or metrics based on which Analytics data is sorted.
+        "A String",
+      ],
+      "dimensions": "A String", # List of analytics dimensions.
+      "start-date": "A String", # Start date.
+      "start-index": 42, # Start index.
+      "segment": "A String", # Analytics advanced segment.
+      "ids": "A String", # Unique table ID.
+      "metrics": [ # List of analytics metrics.
+        "A String",
+      ],
+      "samplingLevel": "A String", # Desired sampling level
+      "filters": "A String", # Comma-separated list of dimension or metric filters.
+      "end-date": "A String", # End date.
+    },
+    "previousLink": "A String", # Link to previous page for this Analytics data query.
+    "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.
+      {
+        "dataType": "A String", # Data type. Dimension and metric values data types such as INTEGER, DOUBLE, CURRENCY, MCF_SEQUENCE etc.
+        "columnType": "A String", # Column Type. Either DIMENSION or METRIC.
+        "name": "A String", # Column name.
+      },
+    ],
+    "selfLink": "A String", # Link to this page.
+    "sampleSpace": "A String", # Total size of the sample space from which the samples were selected.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.data.realtime.html b/docs/dyn/analytics_v3.data.realtime.html
new file mode 100644
index 0000000..443500e
--- /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 real time 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 real time metrics. E.g., 'rt:activeUsers'. 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., 'rt:medium,rt: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.html b/docs/dyn/analytics_v3.html
new file mode 100644
index 0000000..e5ab16b
--- /dev/null
+++ b/docs/dyn/analytics_v3.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="analytics_v3.html">Google Analytics API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="analytics_v3.data.html">data()</a></code>
+</p>
+<p class="firstline">Returns the data Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.html">management()</a></code>
+</p>
+<p class="firstline">Returns the management Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.metadata.html">metadata()</a></code>
+</p>
+<p class="firstline">Returns the metadata Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.accountSummaries.html b/docs/dyn/analytics_v3.management.accountSummaries.html
new file mode 100644
index 0000000..08696f2
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.accountSummaries.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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.accountSummaries.html">accountSummaries</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists account summaries (lightweight tree comprised of accounts/properties/profiles) to which the user has access.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(max_results=None, start_index=None)</code>
+  <pre>Lists account summaries (lightweight tree comprised of accounts/properties/profiles) to which the user has access.
+
+Args:
+  max_results: integer, The maximum number of filters 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:
+
+    { # An AccountSummary collection lists a summary of accounts, properties and views (profiles) to which the user has access. Each resource in the collection corresponds to a single AccountSummary.
+    "username": "A String", # Email ID of the authenticated user
+    "kind": "analytics#accountSummaries", # Collection type.
+    "items": [ # A list of AccountSummaries.
+      { # JSON template for an Analytics AccountSummary. An AccountSummary is a lightweight tree comprised of properties/profiles.
+        "kind": "analytics#accountSummary", # Resource type for Analytics AccountSummary.
+        "webProperties": [ # List of web properties under this account.
+          { # JSON template for an Analytics WebPropertySummary. WebPropertySummary returns basic information (i.e., summary) for a web property.
+            "kind": "analytics#webPropertySummary", # Resource type for Analytics WebPropertySummary.
+            "name": "A String", # Web property name.
+            "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+            "profiles": [ # List of profiles under this web property.
+              { # JSON template for an Analytics ProfileSummary. ProfileSummary returns basic information (i.e., summary) for a profile.
+                "kind": "analytics#profileSummary", # Resource type for Analytics ProfileSummary.
+                "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+                "id": "A String", # View (profile) ID.
+                "name": "A String", # View (profile) name.
+              },
+            ],
+            "websiteUrl": "A String", # Website url for this web property.
+            "internalWebPropertyId": "A String", # Internal ID for this web property.
+            "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+          },
+        ],
+        "id": "A String", # Account ID.
+        "name": "A String", # Account name.
+      },
+    ],
+    "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 AccountSummary 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 AccountSummary collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.accountUserLinks.html b/docs/dyn/analytics_v3.management.accountUserLinks.html
new file mode 100644
index 0000000..e607e2e
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.accountUserLinks.html
@@ -0,0 +1,372 @@
+<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.accountUserLinks.html">accountUserLinks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(accountId, linkId)</a></code></p>
+<p class="firstline">Removes a user from the given account.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, body)</a></code></p>
+<p class="firstline">Adds a new user to the given account.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists account-user links for a given account.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, linkId, body)</a></code></p>
+<p class="firstline">Updates permissions for an existing user on the given account.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(accountId, linkId)</code>
+  <pre>Removes a user from the given account.
+
+Args:
+  accountId: string, Account ID to delete the user link for. (required)
+  linkId: string, Link ID to delete the user link for. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, body)</code>
+  <pre>Adds a new user to the given account.
+
+Args:
+  accountId: string, Account ID to create the user link for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+    "kind": "analytics#entityUserLink", # Resource type for entity user link.
+    "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+      "accountRef": { # JSON template for a linked account. # Account for this link.
+        "kind": "analytics#accountRef", # Analytics account reference.
+        "href": "A String", # Link for this account.
+        "id": "A String", # Account ID.
+        "name": "A String", # Account name.
+      },
+      "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+        "kind": "analytics#profileRef", # Analytics view (profile) reference.
+        "name": "A String", # Name of this view (profile).
+        "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+        "href": "A String", # Link for this view (profile).
+        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+        "id": "A String", # View (Profile) ID.
+        "accountId": "A String", # Account ID to which this view (profile) belongs.
+      },
+      "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+        "kind": "analytics#webPropertyRef", # Analytics web property reference.
+        "name": "A String", # Name of this web property.
+        "internalWebPropertyId": "A String", # Internal ID for this web property.
+        "href": "A String", # Link for this web property.
+        "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+        "accountId": "A String", # Account ID to which this web property belongs.
+      },
+    },
+    "userRef": { # JSON template for a user reference. # User reference.
+      "kind": "analytics#userRef",
+      "email": "A String", # Email ID of this user.
+      "id": "A String", # User ID.
+    },
+    "id": "A String", # Entity user link ID
+    "selfLink": "A String", # Self link for this resource.
+    "permissions": { # Permissions the user has for this entity.
+      "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+        "A String",
+      ],
+      "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+        "A String",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+      "kind": "analytics#entityUserLink", # Resource type for entity user link.
+      "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+        "accountRef": { # JSON template for a linked account. # Account for this link.
+          "kind": "analytics#accountRef", # Analytics account reference.
+          "href": "A String", # Link for this account.
+          "id": "A String", # Account ID.
+          "name": "A String", # Account name.
+        },
+        "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+          "kind": "analytics#profileRef", # Analytics view (profile) reference.
+          "name": "A String", # Name of this view (profile).
+          "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+          "href": "A String", # Link for this view (profile).
+          "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+          "id": "A String", # View (Profile) ID.
+          "accountId": "A String", # Account ID to which this view (profile) belongs.
+        },
+        "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+          "kind": "analytics#webPropertyRef", # Analytics web property reference.
+          "name": "A String", # Name of this web property.
+          "internalWebPropertyId": "A String", # Internal ID for this web property.
+          "href": "A String", # Link for this web property.
+          "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+          "accountId": "A String", # Account ID to which this web property belongs.
+        },
+      },
+      "userRef": { # JSON template for a user reference. # User reference.
+        "kind": "analytics#userRef",
+        "email": "A String", # Email ID of this user.
+        "id": "A String", # User ID.
+      },
+      "id": "A String", # Entity user link ID
+      "selfLink": "A String", # Self link for this resource.
+      "permissions": { # Permissions the user has for this entity.
+        "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+          "A String",
+        ],
+        "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+          "A String",
+        ],
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, max_results=None, start_index=None)</code>
+  <pre>Lists account-user links for a given account.
+
+Args:
+  accountId: string, Account ID to retrieve the user links for. (required)
+  max_results: integer, The maximum number of account-user links to include in this response.
+  start_index: integer, An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # An entity user link collection provides a list of Analytics ACL links Each resource in this collection corresponds to a single link.
+    "kind": "analytics#entityUserLinks", # Collection type.
+    "items": [ # A list of entity user links.
+      { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+          "kind": "analytics#entityUserLink", # Resource type for entity user link.
+          "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+            "accountRef": { # JSON template for a linked account. # Account for this link.
+              "kind": "analytics#accountRef", # Analytics account reference.
+              "href": "A String", # Link for this account.
+              "id": "A String", # Account ID.
+              "name": "A String", # Account name.
+            },
+            "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+              "kind": "analytics#profileRef", # Analytics view (profile) reference.
+              "name": "A String", # Name of this view (profile).
+              "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+              "href": "A String", # Link for this view (profile).
+              "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+              "id": "A String", # View (Profile) ID.
+              "accountId": "A String", # Account ID to which this view (profile) belongs.
+            },
+            "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+              "kind": "analytics#webPropertyRef", # Analytics web property reference.
+              "name": "A String", # Name of this web property.
+              "internalWebPropertyId": "A String", # Internal ID for this web property.
+              "href": "A String", # Link for this web property.
+              "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+              "accountId": "A String", # Account ID to which this web property belongs.
+            },
+          },
+          "userRef": { # JSON template for a user reference. # User reference.
+            "kind": "analytics#userRef",
+            "email": "A String", # Email ID of this user.
+            "id": "A String", # User ID.
+          },
+          "id": "A String", # Entity user link ID
+          "selfLink": "A String", # Self link for this resource.
+          "permissions": { # Permissions the user has for this entity.
+            "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+              "A String",
+            ],
+            "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+              "A String",
+            ],
+          },
+        },
+    ],
+    "itemsPerPage": 42, # The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
+    "previousLink": "A String", # Previous link for this account collection.
+    "startIndex": 42, # The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.
+    "nextLink": "A String", # Next link for this account collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, linkId, body)</code>
+  <pre>Updates permissions for an existing user on the given account.
+
+Args:
+  accountId: string, Account ID to update the account-user link for. (required)
+  linkId: string, Link ID to update the account-user link for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+    "kind": "analytics#entityUserLink", # Resource type for entity user link.
+    "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+      "accountRef": { # JSON template for a linked account. # Account for this link.
+        "kind": "analytics#accountRef", # Analytics account reference.
+        "href": "A String", # Link for this account.
+        "id": "A String", # Account ID.
+        "name": "A String", # Account name.
+      },
+      "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+        "kind": "analytics#profileRef", # Analytics view (profile) reference.
+        "name": "A String", # Name of this view (profile).
+        "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+        "href": "A String", # Link for this view (profile).
+        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+        "id": "A String", # View (Profile) ID.
+        "accountId": "A String", # Account ID to which this view (profile) belongs.
+      },
+      "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+        "kind": "analytics#webPropertyRef", # Analytics web property reference.
+        "name": "A String", # Name of this web property.
+        "internalWebPropertyId": "A String", # Internal ID for this web property.
+        "href": "A String", # Link for this web property.
+        "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+        "accountId": "A String", # Account ID to which this web property belongs.
+      },
+    },
+    "userRef": { # JSON template for a user reference. # User reference.
+      "kind": "analytics#userRef",
+      "email": "A String", # Email ID of this user.
+      "id": "A String", # User ID.
+    },
+    "id": "A String", # Entity user link ID
+    "selfLink": "A String", # Self link for this resource.
+    "permissions": { # Permissions the user has for this entity.
+      "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+        "A String",
+      ],
+      "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+        "A String",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+      "kind": "analytics#entityUserLink", # Resource type for entity user link.
+      "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+        "accountRef": { # JSON template for a linked account. # Account for this link.
+          "kind": "analytics#accountRef", # Analytics account reference.
+          "href": "A String", # Link for this account.
+          "id": "A String", # Account ID.
+          "name": "A String", # Account name.
+        },
+        "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+          "kind": "analytics#profileRef", # Analytics view (profile) reference.
+          "name": "A String", # Name of this view (profile).
+          "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+          "href": "A String", # Link for this view (profile).
+          "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+          "id": "A String", # View (Profile) ID.
+          "accountId": "A String", # Account ID to which this view (profile) belongs.
+        },
+        "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+          "kind": "analytics#webPropertyRef", # Analytics web property reference.
+          "name": "A String", # Name of this web property.
+          "internalWebPropertyId": "A String", # Internal ID for this web property.
+          "href": "A String", # Link for this web property.
+          "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+          "accountId": "A String", # Account ID to which this web property belongs.
+        },
+      },
+      "userRef": { # JSON template for a user reference. # User reference.
+        "kind": "analytics#userRef",
+        "email": "A String", # Email ID of this user.
+        "id": "A String", # User ID.
+      },
+      "id": "A String", # Entity user link ID
+      "selfLink": "A String", # Self link for this resource.
+      "permissions": { # Permissions the user has for this entity.
+        "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+          "A String",
+        ],
+        "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+          "A String",
+        ],
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.accounts.html b/docs/dyn/analytics_v3.management.accounts.html
new file mode 100644
index 0000000..f3dca44
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.accounts.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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.accounts.html">accounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists all accounts to which the user has access.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(max_results=None, start_index=None)</code>
+  <pre>Lists all accounts to which the user has access.
+
+Args:
+  max_results: integer, The maximum number of accounts to include in this response.
+  start_index: integer, An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # An account collection provides a list of Analytics accounts to which a user has access. The account collection is the entry point to all management information. Each resource in the collection corresponds to a single Analytics account.
+    "username": "A String", # Email ID of the authenticated user
+    "kind": "analytics#accounts", # Collection type.
+    "items": [ # A list of accounts.
+      { # JSON template for Analytics account entry.
+        "kind": "analytics#account", # Resource type for Analytics account.
+        "name": "A String", # Account name.
+        "created": "A String", # Time the account was created.
+        "updated": "A String", # Time the account was last modified.
+        "childLink": { # Child link for an account entry. Points to the list of web properties for this account.
+          "href": "A String", # Link to the list of web properties for this account.
+          "type": "analytics#webproperties", # Type of the child link. Its value is "analytics#webproperties".
+        },
+        "id": "A String", # Account ID.
+        "selfLink": "A String", # Link for this account.
+        "permissions": { # Permissions the user has for this account.
+          "effective": [ # All the permissions that the user has for this account. These include any implied permissions (e.g., EDIT implies VIEW).
+            "A String",
+          ],
+        },
+      },
+    ],
+    "itemsPerPage": 42, # The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
+    "previousLink": "A String", # Previous link for this account collection.
+    "startIndex": 42, # The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.
+    "nextLink": "A String", # Next link for this account collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</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
new file mode 100644
index 0000000..51b15c0
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.customDataSources.html
@@ -0,0 +1,130 @@
+<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.customDataSources.html">customDataSources</a></h1>
+<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">List custom data sources 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>List custom data sources to which the user has access.
+
+Args:
+  accountId: string, Account Id for the custom data sources to retrieve. (required)
+  webPropertyId: string, Web property Id for the custom data sources to retrieve. (required)
+  max_results: integer, The maximum number of custom data sources to include in this response.
+  start_index: integer, A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # Lists Analytics custom data sources to which the user has access. Each resource in the collection corresponds to a single Analytics custom data source.
+    "username": "A String", # Email ID of the authenticated user
+    "kind": "analytics#customDataSources", # Collection type.
+    "items": [ # Collection of custom data sources.
+      { # JSON template for an Analytics custom data source.
+        "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": [ # 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": {
+          "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.
+      },
+    ],
+    "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 custom data source 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 custom data source collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.dailyUploads.html b/docs/dyn/analytics_v3.management.dailyUploads.html
new file mode 100644
index 0000000..80428b9
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.dailyUploads.html
@@ -0,0 +1,182 @@
+<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.dailyUploads.html">dailyUploads</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(accountId, webPropertyId, customDataSourceId, date, type)</a></code></p>
+<p class="firstline">Delete uploaded data for the given date.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, webPropertyId, customDataSourceId, start_date, end_date, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">List daily uploads to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#upload">upload(accountId, webPropertyId, customDataSourceId, date, appendNumber, type, reset=None, media_body=None)</a></code></p>
+<p class="firstline">Update/Overwrite data for a custom data source.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(accountId, webPropertyId, customDataSourceId, date, type)</code>
+  <pre>Delete uploaded data for the given date.
+
+Args:
+  accountId: string, Account Id associated with daily upload delete. (required)
+  webPropertyId: string, Web property Id associated with daily upload delete. (required)
+  customDataSourceId: string, Custom data source Id associated with daily upload delete. (required)
+  date: string, Date for which data is to be deleted. Date should be formatted as YYYY-MM-DD. (required)
+  type: string, Type of data for this delete. (required)
+    Allowed values
+      cost - Value for specifying cost data upload.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, customDataSourceId, start_date, end_date, max_results=None, start_index=None)</code>
+  <pre>List daily uploads to which the user has access.
+
+Args:
+  accountId: string, Account Id for the daily uploads to retrieve. (required)
+  webPropertyId: string, Web property Id for the daily uploads to retrieve. (required)
+  customDataSourceId: string, Custom data source Id for daily uploads to retrieve. (required)
+  start_date: string, Start date of the form YYYY-MM-DD. (required)
+  end_date: string, End date of the form YYYY-MM-DD. (required)
+  max_results: integer, The maximum number of custom data sources to include in this response.
+  start_index: integer, A 1-based index of the first daily upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # A daily upload collection lists Analytics daily uploads to which the user has access. Each resource in the collection corresponds to a single Analytics daily upload.
+    "username": "A String", # Email ID of the authenticated user
+    "kind": "analytics#dailyUploads", # Collection type. Value is analytics#dailyUploads.
+    "items": [ # A collection of daily uploads.
+      { # Metadata for daily upload entity.
+        "recentChanges": [ # Change log for last 10 changes in chronological order.
+          {
+            "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.
+        "modifiedTime": "A String", # Time this daily upload was last modified.
+        "appendCount": 42, # Number of appends for this date.
+        "customDataSourceId": "A String", # Custom data source ID to which this daily upload belongs.
+        "date": "A String", # Date associated with daily upload.
+        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this daily upload belongs.
+        "createdTime": "A String", # Time this daily upload was created.
+        "parentLink": { # Parent link for a daily upload. Points to the custom data source to which this daily upload belongs.
+          "href": "A String", # Link to the custom data source to which this daily upload belongs.
+          "type": "analytics#customDataSource", # Value is "analytics#customDataSource".
+        },
+        "selfLink": "A String", # Link for this daily upload.
+        "accountId": "A String", # Account ID to which this daily upload 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 daily upload 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 daily upload collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="upload">upload(accountId, webPropertyId, customDataSourceId, date, appendNumber, type, reset=None, media_body=None)</code>
+  <pre>Update/Overwrite data for a custom data source.
+
+Args:
+  accountId: string, Account Id associated with daily upload. (required)
+  webPropertyId: string, Web property Id associated with daily upload. (required)
+  customDataSourceId: string, Custom data source Id to which the data being uploaded belongs. (required)
+  date: string, Date for which data is uploaded. Date should be formatted as YYYY-MM-DD. (required)
+  appendNumber: integer, Append number for this upload indexed from 1. (required)
+  type: string, Type of data for this upload. (required)
+    Allowed values
+      cost - Value for specifying cost data upload.
+  reset: boolean, Reset/Overwrite all previous appends for this date and start over with this file as the first upload.
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # Metadata returned for a successful append operation.
+    "kind": "analytics#dailyUploadAppend", # Resource type for Analytics daily upload append.
+    "customDataSourceId": "A String", # Custom data source Id to which this daily upload append belongs.
+    "appendNumber": 42, # Append number.
+    "webPropertyId": "A String", # Web property Id of the form UA-XXXXX-YY to which this daily upload append belongs.
+    "date": "A String", # Date associated with daily upload append.
+    "nextAppendLink": "A String",
+    "accountId": "A String", # Account Id to which this daily upload append belongs.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.experiments.html b/docs/dyn/analytics_v3.management.experiments.html
new file mode 100644
index 0000000..110387a
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.experiments.html
@@ -0,0 +1,558 @@
+<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:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+      "equalWeighting": True or False, # Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.
+      "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": True or False, # 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": "A String", # 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:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+    "equalWeighting": True or False, # Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.
+    "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": True or False, # 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": "A String", # 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:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+      "equalWeighting": True or False, # Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.
+      "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": True or False, # 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": "A String", # 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:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+          "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+          "equalWeighting": True or False, # Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.
+          "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": True or False, # 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": "A String", # 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:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+    "equalWeighting": True or False, # Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.
+    "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": True or False, # 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": "A String", # 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:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+      "equalWeighting": True or False, # Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.
+      "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": True or False, # 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": "A String", # 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:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+    "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+    "equalWeighting": True or False, # Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.
+    "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": True or False, # 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": "A String", # 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:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API".
+      "id": "A String", # Experiment ID. Required for patch and update. Disallowed for create.
+      "equalWeighting": True or False, # Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.
+      "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": True or False, # 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": "A String", # 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
new file mode 100644
index 0000000..249639d
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.goals.html
@@ -0,0 +1,607 @@
+<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.goals.html">goals</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, webPropertyId, profileId, goalId)</a></code></p>
+<p class="firstline">Gets a goal 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 goal.</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 goals to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(accountId, webPropertyId, profileId, goalId, body)</a></code></p>
+<p class="firstline">Updates an existing view (profile). This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, webPropertyId, profileId, goalId, body)</a></code></p>
+<p class="firstline">Updates an existing view (profile).</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, webPropertyId, profileId, goalId)</code>
+  <pre>Gets a goal to which the user has access.
+
+Args:
+  accountId: string, Account ID to retrieve the goal for. (required)
+  webPropertyId: string, Web property ID to retrieve the goal for. (required)
+  profileId: string, View (Profile) ID to retrieve the goal for. (required)
+  goalId: string, Goal ID to retrieve the goal for. (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics goal resource.
+      "kind": "analytics#goal", # Resource type for an Analytics goal.
+      "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
+        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
+        "comparisonValue": "A String", # Value used for this comparison.
+      },
+      "name": "A String", # Goal name.
+      "created": "A String", # Time this goal was created.
+      "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
+        "url": "A String", # URL for this goal.
+        "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
+        "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
+        "steps": [ # List of steps configured for this goal funnel.
+          {
+            "url": "A String", # URL for this step.
+            "name": "A String", # Step name.
+            "number": 42, # Step number.
+          },
+        ],
+        "firstStepRequired": True or False, # Determines if the first step in this goal is required.
+      },
+      "updated": "A String", # Time this goal was last modified.
+      "value": 3.14, # Goal value.
+      "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
+        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
+        "comparisonValue": "A String", # Value used for this comparison.
+      },
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
+      "eventDetails": { # Details for the goal of the type EVENT.
+        "eventConditions": [ # List of event conditions.
+          {
+            "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
+            "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
+            "expression": "A String", # Expression used for this match.
+            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
+            "comparisonValue": "A String", # Value used for this comparison.
+          },
+        ],
+        "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
+      },
+      "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", # 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.
+      "id": "A String", # Goal ID.
+      "selfLink": "A String", # Link for this goal.
+      "accountId": "A String", # Account ID to which this goal belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, webPropertyId, profileId, body)</code>
+  <pre>Create a new goal.
+
+Args:
+  accountId: string, Account ID to create the goal for. (required)
+  webPropertyId: string, Web property ID to create the goal for. (required)
+  profileId: string, View (Profile) ID to create the goal for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics goal resource.
+    "kind": "analytics#goal", # Resource type for an Analytics goal.
+    "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
+      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
+      "comparisonValue": "A String", # Value used for this comparison.
+    },
+    "name": "A String", # Goal name.
+    "created": "A String", # Time this goal was created.
+    "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
+      "url": "A String", # URL for this goal.
+      "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
+      "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
+      "steps": [ # List of steps configured for this goal funnel.
+        {
+          "url": "A String", # URL for this step.
+          "name": "A String", # Step name.
+          "number": 42, # Step number.
+        },
+      ],
+      "firstStepRequired": True or False, # Determines if the first step in this goal is required.
+    },
+    "updated": "A String", # Time this goal was last modified.
+    "value": 3.14, # Goal value.
+    "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
+      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
+      "comparisonValue": "A String", # Value used for this comparison.
+    },
+    "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
+    "eventDetails": { # Details for the goal of the type EVENT.
+      "eventConditions": [ # List of event conditions.
+        {
+          "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
+          "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
+          "expression": "A String", # Expression used for this match.
+          "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
+          "comparisonValue": "A String", # Value used for this comparison.
+        },
+      ],
+      "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
+    },
+    "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", # 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.
+    "id": "A String", # Goal ID.
+    "selfLink": "A String", # Link for this goal.
+    "accountId": "A String", # Account ID to which this goal belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics goal resource.
+      "kind": "analytics#goal", # Resource type for an Analytics goal.
+      "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
+        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
+        "comparisonValue": "A String", # Value used for this comparison.
+      },
+      "name": "A String", # Goal name.
+      "created": "A String", # Time this goal was created.
+      "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
+        "url": "A String", # URL for this goal.
+        "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
+        "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
+        "steps": [ # List of steps configured for this goal funnel.
+          {
+            "url": "A String", # URL for this step.
+            "name": "A String", # Step name.
+            "number": 42, # Step number.
+          },
+        ],
+        "firstStepRequired": True or False, # Determines if the first step in this goal is required.
+      },
+      "updated": "A String", # Time this goal was last modified.
+      "value": 3.14, # Goal value.
+      "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
+        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
+        "comparisonValue": "A String", # Value used for this comparison.
+      },
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
+      "eventDetails": { # Details for the goal of the type EVENT.
+        "eventConditions": [ # List of event conditions.
+          {
+            "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
+            "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
+            "expression": "A String", # Expression used for this match.
+            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
+            "comparisonValue": "A String", # Value used for this comparison.
+          },
+        ],
+        "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
+      },
+      "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", # 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.
+      "id": "A String", # Goal ID.
+      "selfLink": "A String", # Link for this goal.
+      "accountId": "A String", # Account ID to which this goal belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</code>
+  <pre>Lists goals to which the user has access.
+
+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, 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 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.
+      { # JSON template for Analytics goal resource.
+          "kind": "analytics#goal", # Resource type for an Analytics goal.
+          "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
+            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
+            "comparisonValue": "A String", # Value used for this comparison.
+          },
+          "name": "A String", # Goal name.
+          "created": "A String", # Time this goal was created.
+          "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
+            "url": "A String", # URL for this goal.
+            "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
+            "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
+            "steps": [ # List of steps configured for this goal funnel.
+              {
+                "url": "A String", # URL for this step.
+                "name": "A String", # Step name.
+                "number": 42, # Step number.
+              },
+            ],
+            "firstStepRequired": True or False, # Determines if the first step in this goal is required.
+          },
+          "updated": "A String", # Time this goal was last modified.
+          "value": 3.14, # Goal value.
+          "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
+            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
+            "comparisonValue": "A String", # Value used for this comparison.
+          },
+          "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
+          "eventDetails": { # Details for the goal of the type EVENT.
+            "eventConditions": [ # List of event conditions.
+              {
+                "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
+                "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
+                "expression": "A String", # Expression used for this match.
+                "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
+                "comparisonValue": "A String", # Value used for this comparison.
+              },
+            ],
+            "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
+          },
+          "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", # 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.
+          "id": "A String", # Goal ID.
+          "selfLink": "A String", # Link for this goal.
+          "accountId": "A String", # Account ID to which this goal 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 goal 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 goal 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, goalId, body)</code>
+  <pre>Updates an existing view (profile). This method supports patch semantics.
+
+Args:
+  accountId: string, Account ID to update the goal. (required)
+  webPropertyId: string, Web property ID to update the goal. (required)
+  profileId: string, View (Profile) ID to update the goal. (required)
+  goalId: string, Index of the goal to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics goal resource.
+    "kind": "analytics#goal", # Resource type for an Analytics goal.
+    "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
+      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
+      "comparisonValue": "A String", # Value used for this comparison.
+    },
+    "name": "A String", # Goal name.
+    "created": "A String", # Time this goal was created.
+    "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
+      "url": "A String", # URL for this goal.
+      "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
+      "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
+      "steps": [ # List of steps configured for this goal funnel.
+        {
+          "url": "A String", # URL for this step.
+          "name": "A String", # Step name.
+          "number": 42, # Step number.
+        },
+      ],
+      "firstStepRequired": True or False, # Determines if the first step in this goal is required.
+    },
+    "updated": "A String", # Time this goal was last modified.
+    "value": 3.14, # Goal value.
+    "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
+      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
+      "comparisonValue": "A String", # Value used for this comparison.
+    },
+    "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
+    "eventDetails": { # Details for the goal of the type EVENT.
+      "eventConditions": [ # List of event conditions.
+        {
+          "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
+          "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
+          "expression": "A String", # Expression used for this match.
+          "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
+          "comparisonValue": "A String", # Value used for this comparison.
+        },
+      ],
+      "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
+    },
+    "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", # 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.
+    "id": "A String", # Goal ID.
+    "selfLink": "A String", # Link for this goal.
+    "accountId": "A String", # Account ID to which this goal belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics goal resource.
+      "kind": "analytics#goal", # Resource type for an Analytics goal.
+      "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
+        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
+        "comparisonValue": "A String", # Value used for this comparison.
+      },
+      "name": "A String", # Goal name.
+      "created": "A String", # Time this goal was created.
+      "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
+        "url": "A String", # URL for this goal.
+        "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
+        "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
+        "steps": [ # List of steps configured for this goal funnel.
+          {
+            "url": "A String", # URL for this step.
+            "name": "A String", # Step name.
+            "number": 42, # Step number.
+          },
+        ],
+        "firstStepRequired": True or False, # Determines if the first step in this goal is required.
+      },
+      "updated": "A String", # Time this goal was last modified.
+      "value": 3.14, # Goal value.
+      "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
+        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
+        "comparisonValue": "A String", # Value used for this comparison.
+      },
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
+      "eventDetails": { # Details for the goal of the type EVENT.
+        "eventConditions": [ # List of event conditions.
+          {
+            "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
+            "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
+            "expression": "A String", # Expression used for this match.
+            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
+            "comparisonValue": "A String", # Value used for this comparison.
+          },
+        ],
+        "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
+      },
+      "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", # 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.
+      "id": "A String", # Goal ID.
+      "selfLink": "A String", # Link for this goal.
+      "accountId": "A String", # Account ID to which this goal belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, webPropertyId, profileId, goalId, body)</code>
+  <pre>Updates an existing view (profile).
+
+Args:
+  accountId: string, Account ID to update the goal. (required)
+  webPropertyId: string, Web property ID to update the goal. (required)
+  profileId: string, View (Profile) ID to update the goal. (required)
+  goalId: string, Index of the goal to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Analytics goal resource.
+    "kind": "analytics#goal", # Resource type for an Analytics goal.
+    "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
+      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
+      "comparisonValue": "A String", # Value used for this comparison.
+    },
+    "name": "A String", # Goal name.
+    "created": "A String", # Time this goal was created.
+    "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
+      "url": "A String", # URL for this goal.
+      "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
+      "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
+      "steps": [ # List of steps configured for this goal funnel.
+        {
+          "url": "A String", # URL for this step.
+          "name": "A String", # Step name.
+          "number": 42, # Step number.
+        },
+      ],
+      "firstStepRequired": True or False, # Determines if the first step in this goal is required.
+    },
+    "updated": "A String", # Time this goal was last modified.
+    "value": 3.14, # Goal value.
+    "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
+      "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
+      "comparisonValue": "A String", # Value used for this comparison.
+    },
+    "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
+    "eventDetails": { # Details for the goal of the type EVENT.
+      "eventConditions": [ # List of event conditions.
+        {
+          "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
+          "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
+          "expression": "A String", # Expression used for this match.
+          "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
+          "comparisonValue": "A String", # Value used for this comparison.
+        },
+      ],
+      "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
+    },
+    "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", # 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.
+    "id": "A String", # Goal ID.
+    "selfLink": "A String", # Link for this goal.
+    "accountId": "A String", # Account ID to which this goal belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Analytics goal resource.
+      "kind": "analytics#goal", # Resource type for an Analytics goal.
+      "visitTimeOnSiteDetails": { # Details for the goal of the type VISIT_TIME_ON_SITE.
+        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN or GREATER_THAN.
+        "comparisonValue": "A String", # Value used for this comparison.
+      },
+      "name": "A String", # Goal name.
+      "created": "A String", # Time this goal was created.
+      "urlDestinationDetails": { # Details for the goal of the type URL_DESTINATION.
+        "url": "A String", # URL for this goal.
+        "caseSensitive": True or False, # Determines if the goal URL must exactly match the capitalization of visited URLs.
+        "matchType": "A String", # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.
+        "steps": [ # List of steps configured for this goal funnel.
+          {
+            "url": "A String", # URL for this step.
+            "name": "A String", # Step name.
+            "number": 42, # Step number.
+          },
+        ],
+        "firstStepRequired": True or False, # Determines if the first step in this goal is required.
+      },
+      "updated": "A String", # Time this goal was last modified.
+      "value": 3.14, # Goal value.
+      "visitNumPagesDetails": { # Details for the goal of the type VISIT_NUM_PAGES.
+        "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.
+        "comparisonValue": "A String", # Value used for this comparison.
+      },
+      "internalWebPropertyId": "A String", # Internal ID for the web property to which this goal belongs.
+      "eventDetails": { # Details for the goal of the type EVENT.
+        "eventConditions": [ # List of event conditions.
+          {
+            "type": "A String", # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.
+            "matchType": "A String", # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.
+            "expression": "A String", # Expression used for this match.
+            "comparisonType": "A String", # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.
+            "comparisonValue": "A String", # Value used for this comparison.
+          },
+        ],
+        "useEventValue": True or False, # Determines if the event value should be used as the value for this goal.
+      },
+      "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", # 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.
+      "id": "A String", # Goal ID.
+      "selfLink": "A String", # Link for this goal.
+      "accountId": "A String", # Account ID to which this goal belongs.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.html b/docs/dyn/analytics_v3.management.html
new file mode 100644
index 0000000..ff78c9f
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.html
@@ -0,0 +1,142 @@
+<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></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="analytics_v3.management.accountSummaries.html">accountSummaries()</a></code>
+</p>
+<p class="firstline">Returns the accountSummaries Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.accountUserLinks.html">accountUserLinks()</a></code>
+</p>
+<p class="firstline">Returns the accountUserLinks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.customDataSources.html">customDataSources()</a></code>
+</p>
+<p class="firstline">Returns the customDataSources Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.dailyUploads.html">dailyUploads()</a></code>
+</p>
+<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>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.profileUserLinks.html">profileUserLinks()</a></code>
+</p>
+<p class="firstline">Returns the profileUserLinks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.profiles.html">profiles()</a></code>
+</p>
+<p class="firstline">Returns the profiles Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.segments.html">segments()</a></code>
+</p>
+<p class="firstline">Returns the segments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.uploads.html">uploads()</a></code>
+</p>
+<p class="firstline">Returns the uploads Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.webproperties.html">webproperties()</a></code>
+</p>
+<p class="firstline">Returns the webproperties Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analytics_v3.management.webpropertyUserLinks.html">webpropertyUserLinks()</a></code>
+</p>
+<p class="firstline">Returns the webpropertyUserLinks Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.profileUserLinks.html b/docs/dyn/analytics_v3.management.profileUserLinks.html
new file mode 100644
index 0000000..d73e8bc
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.profileUserLinks.html
@@ -0,0 +1,380 @@
+<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.profileUserLinks.html">profileUserLinks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(accountId, webPropertyId, profileId, linkId)</a></code></p>
+<p class="firstline">Removes a user from the given view (profile).</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, webPropertyId, profileId, body)</a></code></p>
+<p class="firstline">Adds a new user to the given view (profile).</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 profile-user links for a given view (profile).</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, webPropertyId, profileId, linkId, body)</a></code></p>
+<p class="firstline">Updates permissions for an existing user on the given view (profile).</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(accountId, webPropertyId, profileId, linkId)</code>
+  <pre>Removes a user from the given view (profile).
+
+Args:
+  accountId: string, Account ID to delete the user link for. (required)
+  webPropertyId: string, Web Property ID to delete the user link for. (required)
+  profileId: string, View (Profile) ID to delete the user link for. (required)
+  linkId: string, Link ID to delete the user link for. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, webPropertyId, profileId, body)</code>
+  <pre>Adds a new user to the given view (profile).
+
+Args:
+  accountId: string, Account ID to create the user link for. (required)
+  webPropertyId: string, Web Property ID to create the user link for. (required)
+  profileId: string, View (Profile) ID to create the user link for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+    "kind": "analytics#entityUserLink", # Resource type for entity user link.
+    "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+      "accountRef": { # JSON template for a linked account. # Account for this link.
+        "kind": "analytics#accountRef", # Analytics account reference.
+        "href": "A String", # Link for this account.
+        "id": "A String", # Account ID.
+        "name": "A String", # Account name.
+      },
+      "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+        "kind": "analytics#profileRef", # Analytics view (profile) reference.
+        "name": "A String", # Name of this view (profile).
+        "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+        "href": "A String", # Link for this view (profile).
+        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+        "id": "A String", # View (Profile) ID.
+        "accountId": "A String", # Account ID to which this view (profile) belongs.
+      },
+      "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+        "kind": "analytics#webPropertyRef", # Analytics web property reference.
+        "name": "A String", # Name of this web property.
+        "internalWebPropertyId": "A String", # Internal ID for this web property.
+        "href": "A String", # Link for this web property.
+        "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+        "accountId": "A String", # Account ID to which this web property belongs.
+      },
+    },
+    "userRef": { # JSON template for a user reference. # User reference.
+      "kind": "analytics#userRef",
+      "email": "A String", # Email ID of this user.
+      "id": "A String", # User ID.
+    },
+    "id": "A String", # Entity user link ID
+    "selfLink": "A String", # Self link for this resource.
+    "permissions": { # Permissions the user has for this entity.
+      "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+        "A String",
+      ],
+      "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+        "A String",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+      "kind": "analytics#entityUserLink", # Resource type for entity user link.
+      "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+        "accountRef": { # JSON template for a linked account. # Account for this link.
+          "kind": "analytics#accountRef", # Analytics account reference.
+          "href": "A String", # Link for this account.
+          "id": "A String", # Account ID.
+          "name": "A String", # Account name.
+        },
+        "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+          "kind": "analytics#profileRef", # Analytics view (profile) reference.
+          "name": "A String", # Name of this view (profile).
+          "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+          "href": "A String", # Link for this view (profile).
+          "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+          "id": "A String", # View (Profile) ID.
+          "accountId": "A String", # Account ID to which this view (profile) belongs.
+        },
+        "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+          "kind": "analytics#webPropertyRef", # Analytics web property reference.
+          "name": "A String", # Name of this web property.
+          "internalWebPropertyId": "A String", # Internal ID for this web property.
+          "href": "A String", # Link for this web property.
+          "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+          "accountId": "A String", # Account ID to which this web property belongs.
+        },
+      },
+      "userRef": { # JSON template for a user reference. # User reference.
+        "kind": "analytics#userRef",
+        "email": "A String", # Email ID of this user.
+        "id": "A String", # User ID.
+      },
+      "id": "A String", # Entity user link ID
+      "selfLink": "A String", # Self link for this resource.
+      "permissions": { # Permissions the user has for this entity.
+        "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+          "A String",
+        ],
+        "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+          "A String",
+        ],
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, profileId, max_results=None, start_index=None)</code>
+  <pre>Lists profile-user links for a given view (profile).
+
+Args:
+  accountId: string, Account ID which the given view (profile) belongs to. (required)
+  webPropertyId: string, Web Property ID which the given view (profile) belongs to. (required)
+  profileId: string, View (Profile) ID to retrieve the profile-user links for (required)
+  max_results: integer, The maximum number of profile-user links to include in this response.
+  start_index: integer, An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # An entity user link collection provides a list of Analytics ACL links Each resource in this collection corresponds to a single link.
+    "kind": "analytics#entityUserLinks", # Collection type.
+    "items": [ # A list of entity user links.
+      { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+          "kind": "analytics#entityUserLink", # Resource type for entity user link.
+          "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+            "accountRef": { # JSON template for a linked account. # Account for this link.
+              "kind": "analytics#accountRef", # Analytics account reference.
+              "href": "A String", # Link for this account.
+              "id": "A String", # Account ID.
+              "name": "A String", # Account name.
+            },
+            "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+              "kind": "analytics#profileRef", # Analytics view (profile) reference.
+              "name": "A String", # Name of this view (profile).
+              "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+              "href": "A String", # Link for this view (profile).
+              "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+              "id": "A String", # View (Profile) ID.
+              "accountId": "A String", # Account ID to which this view (profile) belongs.
+            },
+            "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+              "kind": "analytics#webPropertyRef", # Analytics web property reference.
+              "name": "A String", # Name of this web property.
+              "internalWebPropertyId": "A String", # Internal ID for this web property.
+              "href": "A String", # Link for this web property.
+              "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+              "accountId": "A String", # Account ID to which this web property belongs.
+            },
+          },
+          "userRef": { # JSON template for a user reference. # User reference.
+            "kind": "analytics#userRef",
+            "email": "A String", # Email ID of this user.
+            "id": "A String", # User ID.
+          },
+          "id": "A String", # Entity user link ID
+          "selfLink": "A String", # Self link for this resource.
+          "permissions": { # Permissions the user has for this entity.
+            "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+              "A String",
+            ],
+            "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+              "A String",
+            ],
+          },
+        },
+    ],
+    "itemsPerPage": 42, # The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
+    "previousLink": "A String", # Previous link for this account collection.
+    "startIndex": 42, # The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.
+    "nextLink": "A String", # Next link for this account collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, webPropertyId, profileId, linkId, body)</code>
+  <pre>Updates permissions for an existing user on the given view (profile).
+
+Args:
+  accountId: string, Account ID to update the user link for. (required)
+  webPropertyId: string, Web Property ID to update the user link for. (required)
+  profileId: string, View (Profile ID) to update the user link for. (required)
+  linkId: string, Link ID to update the user link for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+    "kind": "analytics#entityUserLink", # Resource type for entity user link.
+    "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+      "accountRef": { # JSON template for a linked account. # Account for this link.
+        "kind": "analytics#accountRef", # Analytics account reference.
+        "href": "A String", # Link for this account.
+        "id": "A String", # Account ID.
+        "name": "A String", # Account name.
+      },
+      "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+        "kind": "analytics#profileRef", # Analytics view (profile) reference.
+        "name": "A String", # Name of this view (profile).
+        "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+        "href": "A String", # Link for this view (profile).
+        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+        "id": "A String", # View (Profile) ID.
+        "accountId": "A String", # Account ID to which this view (profile) belongs.
+      },
+      "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+        "kind": "analytics#webPropertyRef", # Analytics web property reference.
+        "name": "A String", # Name of this web property.
+        "internalWebPropertyId": "A String", # Internal ID for this web property.
+        "href": "A String", # Link for this web property.
+        "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+        "accountId": "A String", # Account ID to which this web property belongs.
+      },
+    },
+    "userRef": { # JSON template for a user reference. # User reference.
+      "kind": "analytics#userRef",
+      "email": "A String", # Email ID of this user.
+      "id": "A String", # User ID.
+    },
+    "id": "A String", # Entity user link ID
+    "selfLink": "A String", # Self link for this resource.
+    "permissions": { # Permissions the user has for this entity.
+      "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+        "A String",
+      ],
+      "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+        "A String",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+      "kind": "analytics#entityUserLink", # Resource type for entity user link.
+      "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+        "accountRef": { # JSON template for a linked account. # Account for this link.
+          "kind": "analytics#accountRef", # Analytics account reference.
+          "href": "A String", # Link for this account.
+          "id": "A String", # Account ID.
+          "name": "A String", # Account name.
+        },
+        "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+          "kind": "analytics#profileRef", # Analytics view (profile) reference.
+          "name": "A String", # Name of this view (profile).
+          "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+          "href": "A String", # Link for this view (profile).
+          "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+          "id": "A String", # View (Profile) ID.
+          "accountId": "A String", # Account ID to which this view (profile) belongs.
+        },
+        "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+          "kind": "analytics#webPropertyRef", # Analytics web property reference.
+          "name": "A String", # Name of this web property.
+          "internalWebPropertyId": "A String", # Internal ID for this web property.
+          "href": "A String", # Link for this web property.
+          "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+          "accountId": "A String", # Account ID to which this web property belongs.
+        },
+      },
+      "userRef": { # JSON template for a user reference. # User reference.
+        "kind": "analytics#userRef",
+        "email": "A String", # Email ID of this user.
+        "id": "A String", # User ID.
+      },
+      "id": "A String", # Entity user link ID
+      "selfLink": "A String", # Self link for this resource.
+      "permissions": { # Permissions the user has for this entity.
+        "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+          "A String",
+        ],
+        "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+          "A String",
+        ],
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.profiles.html b/docs/dyn/analytics_v3.management.profiles.html
new file mode 100644
index 0000000..859eff9
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.profiles.html
@@ -0,0 +1,488 @@
+<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.profiles.html">profiles</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(accountId, webPropertyId, profileId)</a></code></p>
+<p class="firstline">Deletes a view (profile).</p>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, webPropertyId, profileId)</a></code></p>
+<p class="firstline">Gets a view (profile) to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, webPropertyId, body)</a></code></p>
+<p class="firstline">Create a new view (profile).</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, webPropertyId, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists views (profiles) to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(accountId, webPropertyId, profileId, body)</a></code></p>
+<p class="firstline">Updates an existing view (profile). This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, webPropertyId, profileId, body)</a></code></p>
+<p class="firstline">Updates an existing view (profile).</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(accountId, webPropertyId, profileId)</code>
+  <pre>Deletes a view (profile).
+
+Args:
+  accountId: string, Account ID to delete the view (profile) for. (required)
+  webPropertyId: string, Web property ID to delete the view (profile) for. (required)
+  profileId: string, ID of the view (profile) to be deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(accountId, webPropertyId, profileId)</code>
+  <pre>Gets a view (profile) to which the user has access.
+
+Args:
+  accountId: string, Account ID to retrieve the goal for. (required)
+  webPropertyId: string, Web property ID to retrieve the goal for. (required)
+  profileId: string, View (Profile) ID to retrieve the goal for. (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics view (profile).
+      "currency": "A String", # The currency type associated with this view (profile). The supported values are:
+          # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+      "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
+      "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+      "timezone": "A String", # Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.
+      "id": "A String", # View (Profile) ID.
+      "accountId": "A String", # Account ID to which this view (profile) belongs.
+      "stripSiteSearchCategoryParameters": True or False, # Whether or not Analytics will strip search category parameters from the URLs in your reports.
+      "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+      "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+      "updated": "A String", # Time this view (profile) was last modified.
+      "excludeQueryParameters": "A String", # The query parameters that are excluded from 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".
+      },
+      "permissions": { # Permissions the user has for this view (profile).
+        "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
+          "A String",
+        ],
+      },
+      "defaultPage": "A String", # Default page for this view (profile).
+      "kind": "analytics#profile", # Resource type for Analytics view (profile).
+      "stripSiteSearchQueryParameters": True or False, # Whether or not Analytics will strip search query parameters from the URLs in your reports.
+      "name": "A String", # Name of this view (profile).
+      "created": "A String", # Time this view (profile) was created.
+      "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+      "websiteUrl": "A String", # Website URL 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".
+      },
+      "selfLink": "A String", # Link for this view (profile).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, webPropertyId, body)</code>
+  <pre>Create a new view (profile).
+
+Args:
+  accountId: string, Account ID to create the view (profile) for. (required)
+  webPropertyId: string, Web property ID to create the view (profile) for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics view (profile).
+    "currency": "A String", # The currency type associated with this view (profile). The supported values are:
+        # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+    "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
+    "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+    "timezone": "A String", # Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.
+    "id": "A String", # View (Profile) ID.
+    "accountId": "A String", # Account ID to which this view (profile) belongs.
+    "stripSiteSearchCategoryParameters": True or False, # Whether or not Analytics will strip search category parameters from the URLs in your reports.
+    "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+    "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+    "updated": "A String", # Time this view (profile) was last modified.
+    "excludeQueryParameters": "A String", # The query parameters that are excluded from 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".
+    },
+    "permissions": { # Permissions the user has for this view (profile).
+      "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
+        "A String",
+      ],
+    },
+    "defaultPage": "A String", # Default page for this view (profile).
+    "kind": "analytics#profile", # Resource type for Analytics view (profile).
+    "stripSiteSearchQueryParameters": True or False, # Whether or not Analytics will strip search query parameters from the URLs in your reports.
+    "name": "A String", # Name of this view (profile).
+    "created": "A String", # Time this view (profile) was created.
+    "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+    "websiteUrl": "A String", # Website URL 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".
+    },
+    "selfLink": "A String", # Link for this view (profile).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics view (profile).
+      "currency": "A String", # The currency type associated with this view (profile). The supported values are:
+          # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+      "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
+      "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+      "timezone": "A String", # Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.
+      "id": "A String", # View (Profile) ID.
+      "accountId": "A String", # Account ID to which this view (profile) belongs.
+      "stripSiteSearchCategoryParameters": True or False, # Whether or not Analytics will strip search category parameters from the URLs in your reports.
+      "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+      "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+      "updated": "A String", # Time this view (profile) was last modified.
+      "excludeQueryParameters": "A String", # The query parameters that are excluded from 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".
+      },
+      "permissions": { # Permissions the user has for this view (profile).
+        "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
+          "A String",
+        ],
+      },
+      "defaultPage": "A String", # Default page for this view (profile).
+      "kind": "analytics#profile", # Resource type for Analytics view (profile).
+      "stripSiteSearchQueryParameters": True or False, # Whether or not Analytics will strip search query parameters from the URLs in your reports.
+      "name": "A String", # Name of this view (profile).
+      "created": "A String", # Time this view (profile) was created.
+      "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+      "websiteUrl": "A String", # Website URL 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".
+      },
+      "selfLink": "A String", # Link for this view (profile).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
+  <pre>Lists views (profiles) to which the user has access.
+
+Args:
+  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 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 views (profiles).
+      { # JSON template for an Analytics view (profile).
+          "currency": "A String", # The currency type associated with this view (profile). The supported values are:
+              # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+          "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
+          "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+          "timezone": "A String", # Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.
+          "id": "A String", # View (Profile) ID.
+          "accountId": "A String", # Account ID to which this view (profile) belongs.
+          "stripSiteSearchCategoryParameters": True or False, # Whether or not Analytics will strip search category parameters from the URLs in your reports.
+          "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+          "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+          "updated": "A String", # Time this view (profile) was last modified.
+          "excludeQueryParameters": "A String", # The query parameters that are excluded from 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".
+          },
+          "permissions": { # Permissions the user has for this view (profile).
+            "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
+              "A String",
+            ],
+          },
+          "defaultPage": "A String", # Default page for this view (profile).
+          "kind": "analytics#profile", # Resource type for Analytics view (profile).
+          "stripSiteSearchQueryParameters": True or False, # Whether or not Analytics will strip search query parameters from the URLs in your reports.
+          "name": "A String", # Name of this view (profile).
+          "created": "A String", # Time this view (profile) was created.
+          "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+          "websiteUrl": "A String", # Website URL 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".
+          },
+          "selfLink": "A String", # Link for this view (profile).
+        },
+    ],
+    "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 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 view (profile) collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(accountId, webPropertyId, profileId, body)</code>
+  <pre>Updates an existing view (profile). This method supports patch semantics.
+
+Args:
+  accountId: string, Account ID to which the view (profile) belongs (required)
+  webPropertyId: string, Web property ID to which the view (profile) belongs (required)
+  profileId: string, ID of the view (profile) to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics view (profile).
+    "currency": "A String", # The currency type associated with this view (profile). The supported values are:
+        # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+    "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
+    "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+    "timezone": "A String", # Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.
+    "id": "A String", # View (Profile) ID.
+    "accountId": "A String", # Account ID to which this view (profile) belongs.
+    "stripSiteSearchCategoryParameters": True or False, # Whether or not Analytics will strip search category parameters from the URLs in your reports.
+    "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+    "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+    "updated": "A String", # Time this view (profile) was last modified.
+    "excludeQueryParameters": "A String", # The query parameters that are excluded from 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".
+    },
+    "permissions": { # Permissions the user has for this view (profile).
+      "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
+        "A String",
+      ],
+    },
+    "defaultPage": "A String", # Default page for this view (profile).
+    "kind": "analytics#profile", # Resource type for Analytics view (profile).
+    "stripSiteSearchQueryParameters": True or False, # Whether or not Analytics will strip search query parameters from the URLs in your reports.
+    "name": "A String", # Name of this view (profile).
+    "created": "A String", # Time this view (profile) was created.
+    "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+    "websiteUrl": "A String", # Website URL 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".
+    },
+    "selfLink": "A String", # Link for this view (profile).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics view (profile).
+      "currency": "A String", # The currency type associated with this view (profile). The supported values are:
+          # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+      "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
+      "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+      "timezone": "A String", # Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.
+      "id": "A String", # View (Profile) ID.
+      "accountId": "A String", # Account ID to which this view (profile) belongs.
+      "stripSiteSearchCategoryParameters": True or False, # Whether or not Analytics will strip search category parameters from the URLs in your reports.
+      "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+      "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+      "updated": "A String", # Time this view (profile) was last modified.
+      "excludeQueryParameters": "A String", # The query parameters that are excluded from 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".
+      },
+      "permissions": { # Permissions the user has for this view (profile).
+        "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
+          "A String",
+        ],
+      },
+      "defaultPage": "A String", # Default page for this view (profile).
+      "kind": "analytics#profile", # Resource type for Analytics view (profile).
+      "stripSiteSearchQueryParameters": True or False, # Whether or not Analytics will strip search query parameters from the URLs in your reports.
+      "name": "A String", # Name of this view (profile).
+      "created": "A String", # Time this view (profile) was created.
+      "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+      "websiteUrl": "A String", # Website URL 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".
+      },
+      "selfLink": "A String", # Link for this view (profile).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, webPropertyId, profileId, body)</code>
+  <pre>Updates an existing view (profile).
+
+Args:
+  accountId: string, Account ID to which the view (profile) belongs (required)
+  webPropertyId: string, Web property ID to which the view (profile) belongs (required)
+  profileId: string, ID of the view (profile) to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics view (profile).
+    "currency": "A String", # The currency type associated with this view (profile). The supported values are:
+        # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+    "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
+    "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+    "timezone": "A String", # Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.
+    "id": "A String", # View (Profile) ID.
+    "accountId": "A String", # Account ID to which this view (profile) belongs.
+    "stripSiteSearchCategoryParameters": True or False, # Whether or not Analytics will strip search category parameters from the URLs in your reports.
+    "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+    "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+    "updated": "A String", # Time this view (profile) was last modified.
+    "excludeQueryParameters": "A String", # The query parameters that are excluded from 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".
+    },
+    "permissions": { # Permissions the user has for this view (profile).
+      "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
+        "A String",
+      ],
+    },
+    "defaultPage": "A String", # Default page for this view (profile).
+    "kind": "analytics#profile", # Resource type for Analytics view (profile).
+    "stripSiteSearchQueryParameters": True or False, # Whether or not Analytics will strip search query parameters from the URLs in your reports.
+    "name": "A String", # Name of this view (profile).
+    "created": "A String", # Time this view (profile) was created.
+    "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+    "websiteUrl": "A String", # Website URL 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".
+    },
+    "selfLink": "A String", # Link for this view (profile).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics view (profile).
+      "currency": "A String", # The currency type associated with this view (profile). The supported values are:
+          # ARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR
+      "eCommerceTracking": True or False, # Indicates whether ecommerce tracking is enabled for this view (profile).
+      "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+      "timezone": "A String", # Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.
+      "id": "A String", # View (Profile) ID.
+      "accountId": "A String", # Account ID to which this view (profile) belongs.
+      "stripSiteSearchCategoryParameters": True or False, # Whether or not Analytics will strip search category parameters from the URLs in your reports.
+      "siteSearchCategoryParameters": "A String", # Site search category parameters for this view (profile).
+      "type": "A String", # View (Profile) type. Supported types: WEB or APP.
+      "updated": "A String", # Time this view (profile) was last modified.
+      "excludeQueryParameters": "A String", # The query parameters that are excluded from 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".
+      },
+      "permissions": { # Permissions the user has for this view (profile).
+        "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.
+          "A String",
+        ],
+      },
+      "defaultPage": "A String", # Default page for this view (profile).
+      "kind": "analytics#profile", # Resource type for Analytics view (profile).
+      "stripSiteSearchQueryParameters": True or False, # Whether or not Analytics will strip search query parameters from the URLs in your reports.
+      "name": "A String", # Name of this view (profile).
+      "created": "A String", # Time this view (profile) was created.
+      "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile).
+      "websiteUrl": "A String", # Website URL 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".
+      },
+      "selfLink": "A String", # Link for this view (profile).
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.segments.html b/docs/dyn/analytics_v3.management.segments.html
new file mode 100644
index 0000000..397a4c2
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.segments.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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.management.html">management</a> . <a href="analytics_v3.management.segments.html">segments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists segments to which the user has access.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(max_results=None, start_index=None)</code>
+  <pre>Lists segments to which the user has access.
+
+Args:
+  max_results: integer, The maximum number of segments to include in this response.
+  start_index: integer, An index of the first segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # An segment collection lists Analytics segments that the user has access to. Each resource in the collection corresponds to a single Analytics segment.
+    "username": "A String", # Email ID of the authenticated user
+    "kind": "analytics#segments", # Collection type for segments.
+    "items": [ # A list of segments.
+      { # JSON template for an Analytics segment.
+        "definition": "A String", # Segment definition.
+        "kind": "analytics#segment", # Resource type for Analytics segment.
+        "segmentId": "A String", # Segment ID. Can be used with the 'segment' parameter in Core Reporting API.
+        "created": "A String", # Time the segment was created.
+        "updated": "A String", # Time the segment was last modified.
+        "type": "A String", # Type for a segment. Possible values are "BUILT_IN" or "CUSTOM".
+        "id": "A String", # Segment ID.
+        "selfLink": "A String", # Link for this segment.
+        "name": "A String", # Segment name.
+      },
+    ],
+    "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 segment 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 segment collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.uploads.html b/docs/dyn/analytics_v3.management.uploads.html
new file mode 100644
index 0000000..1b63ecc
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.uploads.html
@@ -0,0 +1,196 @@
+<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.uploads.html">uploads</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#deleteUploadData">deleteUploadData(accountId, webPropertyId, customDataSourceId, body)</a></code></p>
+<p class="firstline">Delete data associated with a previous upload.</p>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, webPropertyId, customDataSourceId, uploadId)</a></code></p>
+<p class="firstline">List uploads to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, webPropertyId, customDataSourceId, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">List uploads to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#uploadData">uploadData(accountId, webPropertyId, customDataSourceId, media_body=None)</a></code></p>
+<p class="firstline">Upload data for a custom data source.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="deleteUploadData">deleteUploadData(accountId, webPropertyId, customDataSourceId, body)</code>
+  <pre>Delete data associated with a previous upload.
+
+Args:
+  accountId: string, Account Id for the uploads to be deleted. (required)
+  webPropertyId: string, Web property Id for the uploads to be deleted. (required)
+  customDataSourceId: string, Custom data source Id for the uploads to be deleted. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request template for the delete upload data request.
+    "customDataImportUids": [ # A list of upload UIDs.
+      "A String",
+    ],
+  }
+
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(accountId, webPropertyId, customDataSourceId, uploadId)</code>
+  <pre>List uploads to which the user has access.
+
+Args:
+  accountId: string, Account Id for the upload to retrieve. (required)
+  webPropertyId: string, Web property Id for the upload to retrieve. (required)
+  customDataSourceId: string, Custom data source Id for upload to retrieve. (required)
+  uploadId: string, Upload Id to retrieve. (required)
+
+Returns:
+  An object of the form:
+
+    { # Metadata returned for an upload operation.
+    "status": "A String", # Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED.
+    "kind": "analytics#upload", # Resource type for Analytics upload.
+    "errors": [ # Data import errors collection.
+      "A String",
+    ],
+    "customDataSourceId": "A String", # Custom data source Id to which this data import belongs.
+    "id": "A String", # A unique ID for this upload.
+    "accountId": "A String", # Account Id to which this upload belongs.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, customDataSourceId, max_results=None, start_index=None)</code>
+  <pre>List uploads to which the user has access.
+
+Args:
+  accountId: string, Account Id for the uploads to retrieve. (required)
+  webPropertyId: string, Web property Id for the uploads to retrieve. (required)
+  customDataSourceId: string, Custom data source Id for uploads to retrieve. (required)
+  max_results: integer, The maximum number of uploads to include in this response.
+  start_index: integer, A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # Upload collection lists Analytics uploads to which the user has access. Each custom data source can have a set of uploads. Each resource in the upload collection corresponds to a single Analytics data upload.
+    "kind": "analytics#uploads", # Collection type.
+    "items": [ # A list of uploads.
+      { # Metadata returned for an upload operation.
+        "status": "A String", # Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED.
+        "kind": "analytics#upload", # Resource type for Analytics upload.
+        "errors": [ # Data import errors collection.
+          "A String",
+        ],
+        "customDataSourceId": "A String", # Custom data source Id to which this data import belongs.
+        "id": "A String", # A unique ID for this upload.
+        "accountId": "A String", # Account Id to which this upload 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 upload 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 upload 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="uploadData">uploadData(accountId, webPropertyId, customDataSourceId, media_body=None)</code>
+  <pre>Upload data for a custom data source.
+
+Args:
+  accountId: string, Account Id associated with the upload. (required)
+  webPropertyId: string, Web property UA-string associated with the upload. (required)
+  customDataSourceId: string, Custom data source Id to which the data being uploaded belongs. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # Metadata returned for an upload operation.
+    "status": "A String", # Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED.
+    "kind": "analytics#upload", # Resource type for Analytics upload.
+    "errors": [ # Data import errors collection.
+      "A String",
+    ],
+    "customDataSourceId": "A String", # Custom data source Id to which this data import belongs.
+    "id": "A String", # A unique ID for this upload.
+    "accountId": "A String", # Account Id to which this upload belongs.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.webproperties.html b/docs/dyn/analytics_v3.management.webproperties.html
new file mode 100644
index 0000000..a1a5f85
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.webproperties.html
@@ -0,0 +1,405 @@
+<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.webproperties.html">webproperties</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(accountId, webPropertyId)</a></code></p>
+<p class="firstline">Gets a web property to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, body)</a></code></p>
+<p class="firstline">Create a new property if the account has fewer than 20 properties. Web properties are visible in the Google Analytics interface only if they have at least one profile.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists web properties to which the user has access.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(accountId, webPropertyId, body)</a></code></p>
+<p class="firstline">Updates an existing web property. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, webPropertyId, body)</a></code></p>
+<p class="firstline">Updates an existing web property.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(accountId, webPropertyId)</code>
+  <pre>Gets a web property to which the user has access.
+
+Args:
+  accountId: string, Account ID to retrieve the web property for. (required)
+  webPropertyId: string, ID to retrieve the web property for. (required)
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "defaultProfileId": "A String", # Default view (profile) ID.
+      "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+      "updated": "A String", # Time this web property was last modified.
+      "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 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".
+      },
+      "permissions": { # Permissions the user has for this web property.
+        "effective": [ # All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.
+          "A String",
+        ],
+      },
+      "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+      "selfLink": "A String", # Link for this web property.
+      "accountId": "A String", # Account ID to which this web property belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, body)</code>
+  <pre>Create a new property if the account has fewer than 20 properties. Web properties are visible in the Google Analytics interface only if they have at least one profile.
+
+Args:
+  accountId: string, Account ID to create the web property for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+    "defaultProfileId": "A String", # Default view (profile) ID.
+    "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+    "updated": "A String", # Time this web property was last modified.
+    "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 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".
+    },
+    "permissions": { # Permissions the user has for this web property.
+      "effective": [ # All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.
+        "A String",
+      ],
+    },
+    "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+    "selfLink": "A String", # Link for this web property.
+    "accountId": "A String", # Account ID to which this web property belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "defaultProfileId": "A String", # Default view (profile) ID.
+      "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+      "updated": "A String", # Time this web property was last modified.
+      "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 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".
+      },
+      "permissions": { # Permissions the user has for this web property.
+        "effective": [ # All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.
+          "A String",
+        ],
+      },
+      "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+      "selfLink": "A String", # Link for this web property.
+      "accountId": "A String", # Account ID to which this web property belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, max_results=None, start_index=None)</code>
+  <pre>Lists web properties to which the user has access.
+
+Args:
+  accountId: string, Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. (required)
+  max_results: integer, The maximum number of web properties 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 web property collection lists Analytics web properties to which the user has access. Each resource in the collection corresponds to a single Analytics web property.
+    "username": "A String", # Email ID of the authenticated user
+    "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.
+          "defaultProfileId": "A String", # Default view (profile) ID.
+          "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+          "updated": "A String", # Time this web property was last modified.
+          "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 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".
+          },
+          "permissions": { # Permissions the user has for this web property.
+            "effective": [ # All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.
+              "A String",
+            ],
+          },
+          "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+          "selfLink": "A String", # Link for this web property.
+          "accountId": "A String", # Account ID to which this web property 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 web property 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 web property collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(accountId, webPropertyId, body)</code>
+  <pre>Updates an existing web property. This method supports patch semantics.
+
+Args:
+  accountId: string, Account ID to which the web property belongs (required)
+  webPropertyId: string, Web property ID (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+    "defaultProfileId": "A String", # Default view (profile) ID.
+    "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+    "updated": "A String", # Time this web property was last modified.
+    "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 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".
+    },
+    "permissions": { # Permissions the user has for this web property.
+      "effective": [ # All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.
+        "A String",
+      ],
+    },
+    "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+    "selfLink": "A String", # Link for this web property.
+    "accountId": "A String", # Account ID to which this web property belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "defaultProfileId": "A String", # Default view (profile) ID.
+      "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+      "updated": "A String", # Time this web property was last modified.
+      "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 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".
+      },
+      "permissions": { # Permissions the user has for this web property.
+        "effective": [ # All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.
+          "A String",
+        ],
+      },
+      "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+      "selfLink": "A String", # Link for this web property.
+      "accountId": "A String", # Account ID to which this web property belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, webPropertyId, body)</code>
+  <pre>Updates an existing web property.
+
+Args:
+  accountId: string, Account ID to which the web property belongs (required)
+  webPropertyId: string, Web property ID (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+    "defaultProfileId": "A String", # Default view (profile) ID.
+    "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+    "updated": "A String", # Time this web property was last modified.
+    "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 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".
+    },
+    "permissions": { # Permissions the user has for this web property.
+      "effective": [ # All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.
+        "A String",
+      ],
+    },
+    "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+    "selfLink": "A String", # Link for this web property.
+    "accountId": "A String", # Account ID to which this web property belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "defaultProfileId": "A String", # Default view (profile) ID.
+      "level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM.
+      "updated": "A String", # Time this web property was last modified.
+      "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 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".
+      },
+      "permissions": { # Permissions the user has for this web property.
+        "effective": [ # All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.
+          "A String",
+        ],
+      },
+      "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+      "selfLink": "A String", # Link for this web property.
+      "accountId": "A String", # Account ID to which this web property belongs.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.management.webpropertyUserLinks.html b/docs/dyn/analytics_v3.management.webpropertyUserLinks.html
new file mode 100644
index 0000000..986762c
--- /dev/null
+++ b/docs/dyn/analytics_v3.management.webpropertyUserLinks.html
@@ -0,0 +1,376 @@
+<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.webpropertyUserLinks.html">webpropertyUserLinks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(accountId, webPropertyId, linkId)</a></code></p>
+<p class="firstline">Removes a user from the given web property.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(accountId, webPropertyId, body)</a></code></p>
+<p class="firstline">Adds a new user to the given web property.</p>
+<p class="toc_element">
+  <code><a href="#list">list(accountId, webPropertyId, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Lists webProperty-user links for a given web property.</p>
+<p class="toc_element">
+  <code><a href="#update">update(accountId, webPropertyId, linkId, body)</a></code></p>
+<p class="firstline">Updates permissions for an existing user on the given web property.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(accountId, webPropertyId, linkId)</code>
+  <pre>Removes a user from the given web property.
+
+Args:
+  accountId: string, Account ID to delete the user link for. (required)
+  webPropertyId: string, Web Property ID to delete the user link for. (required)
+  linkId: string, Link ID to delete the user link for. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(accountId, webPropertyId, body)</code>
+  <pre>Adds a new user to the given web property.
+
+Args:
+  accountId: string, Account ID to create the user link for. (required)
+  webPropertyId: string, Web Property ID to create the user link for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+    "kind": "analytics#entityUserLink", # Resource type for entity user link.
+    "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+      "accountRef": { # JSON template for a linked account. # Account for this link.
+        "kind": "analytics#accountRef", # Analytics account reference.
+        "href": "A String", # Link for this account.
+        "id": "A String", # Account ID.
+        "name": "A String", # Account name.
+      },
+      "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+        "kind": "analytics#profileRef", # Analytics view (profile) reference.
+        "name": "A String", # Name of this view (profile).
+        "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+        "href": "A String", # Link for this view (profile).
+        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+        "id": "A String", # View (Profile) ID.
+        "accountId": "A String", # Account ID to which this view (profile) belongs.
+      },
+      "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+        "kind": "analytics#webPropertyRef", # Analytics web property reference.
+        "name": "A String", # Name of this web property.
+        "internalWebPropertyId": "A String", # Internal ID for this web property.
+        "href": "A String", # Link for this web property.
+        "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+        "accountId": "A String", # Account ID to which this web property belongs.
+      },
+    },
+    "userRef": { # JSON template for a user reference. # User reference.
+      "kind": "analytics#userRef",
+      "email": "A String", # Email ID of this user.
+      "id": "A String", # User ID.
+    },
+    "id": "A String", # Entity user link ID
+    "selfLink": "A String", # Self link for this resource.
+    "permissions": { # Permissions the user has for this entity.
+      "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+        "A String",
+      ],
+      "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+        "A String",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+      "kind": "analytics#entityUserLink", # Resource type for entity user link.
+      "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+        "accountRef": { # JSON template for a linked account. # Account for this link.
+          "kind": "analytics#accountRef", # Analytics account reference.
+          "href": "A String", # Link for this account.
+          "id": "A String", # Account ID.
+          "name": "A String", # Account name.
+        },
+        "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+          "kind": "analytics#profileRef", # Analytics view (profile) reference.
+          "name": "A String", # Name of this view (profile).
+          "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+          "href": "A String", # Link for this view (profile).
+          "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+          "id": "A String", # View (Profile) ID.
+          "accountId": "A String", # Account ID to which this view (profile) belongs.
+        },
+        "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+          "kind": "analytics#webPropertyRef", # Analytics web property reference.
+          "name": "A String", # Name of this web property.
+          "internalWebPropertyId": "A String", # Internal ID for this web property.
+          "href": "A String", # Link for this web property.
+          "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+          "accountId": "A String", # Account ID to which this web property belongs.
+        },
+      },
+      "userRef": { # JSON template for a user reference. # User reference.
+        "kind": "analytics#userRef",
+        "email": "A String", # Email ID of this user.
+        "id": "A String", # User ID.
+      },
+      "id": "A String", # Entity user link ID
+      "selfLink": "A String", # Self link for this resource.
+      "permissions": { # Permissions the user has for this entity.
+        "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+          "A String",
+        ],
+        "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+          "A String",
+        ],
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(accountId, webPropertyId, max_results=None, start_index=None)</code>
+  <pre>Lists webProperty-user links for a given web property.
+
+Args:
+  accountId: string, Account ID which the given web property belongs to. (required)
+  webPropertyId: string, Web Property ID for the webProperty-user links to retrieve. (required)
+  max_results: integer, The maximum number of webProperty-user Links to include in this response.
+  start_index: integer, An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.
+
+Returns:
+  An object of the form:
+
+    { # An entity user link collection provides a list of Analytics ACL links Each resource in this collection corresponds to a single link.
+    "kind": "analytics#entityUserLinks", # Collection type.
+    "items": [ # A list of entity user links.
+      { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+          "kind": "analytics#entityUserLink", # Resource type for entity user link.
+          "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+            "accountRef": { # JSON template for a linked account. # Account for this link.
+              "kind": "analytics#accountRef", # Analytics account reference.
+              "href": "A String", # Link for this account.
+              "id": "A String", # Account ID.
+              "name": "A String", # Account name.
+            },
+            "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+              "kind": "analytics#profileRef", # Analytics view (profile) reference.
+              "name": "A String", # Name of this view (profile).
+              "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+              "href": "A String", # Link for this view (profile).
+              "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+              "id": "A String", # View (Profile) ID.
+              "accountId": "A String", # Account ID to which this view (profile) belongs.
+            },
+            "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+              "kind": "analytics#webPropertyRef", # Analytics web property reference.
+              "name": "A String", # Name of this web property.
+              "internalWebPropertyId": "A String", # Internal ID for this web property.
+              "href": "A String", # Link for this web property.
+              "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+              "accountId": "A String", # Account ID to which this web property belongs.
+            },
+          },
+          "userRef": { # JSON template for a user reference. # User reference.
+            "kind": "analytics#userRef",
+            "email": "A String", # Email ID of this user.
+            "id": "A String", # User ID.
+          },
+          "id": "A String", # Entity user link ID
+          "selfLink": "A String", # Self link for this resource.
+          "permissions": { # Permissions the user has for this entity.
+            "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+              "A String",
+            ],
+            "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+              "A String",
+            ],
+          },
+        },
+    ],
+    "itemsPerPage": 42, # The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
+    "previousLink": "A String", # Previous link for this account collection.
+    "startIndex": 42, # The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.
+    "nextLink": "A String", # Next link for this account collection.
+    "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(accountId, webPropertyId, linkId, body)</code>
+  <pre>Updates permissions for an existing user on the given web property.
+
+Args:
+  accountId: string, Account ID to update the account-user link for. (required)
+  webPropertyId: string, Web property ID to update the account-user link for. (required)
+  linkId: string, Link ID to update the account-user link for. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+    "kind": "analytics#entityUserLink", # Resource type for entity user link.
+    "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+      "accountRef": { # JSON template for a linked account. # Account for this link.
+        "kind": "analytics#accountRef", # Analytics account reference.
+        "href": "A String", # Link for this account.
+        "id": "A String", # Account ID.
+        "name": "A String", # Account name.
+      },
+      "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+        "kind": "analytics#profileRef", # Analytics view (profile) reference.
+        "name": "A String", # Name of this view (profile).
+        "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+        "href": "A String", # Link for this view (profile).
+        "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+        "id": "A String", # View (Profile) ID.
+        "accountId": "A String", # Account ID to which this view (profile) belongs.
+      },
+      "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+        "kind": "analytics#webPropertyRef", # Analytics web property reference.
+        "name": "A String", # Name of this web property.
+        "internalWebPropertyId": "A String", # Internal ID for this web property.
+        "href": "A String", # Link for this web property.
+        "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+        "accountId": "A String", # Account ID to which this web property belongs.
+      },
+    },
+    "userRef": { # JSON template for a user reference. # User reference.
+      "kind": "analytics#userRef",
+      "email": "A String", # Email ID of this user.
+      "id": "A String", # User ID.
+    },
+    "id": "A String", # Entity user link ID
+    "selfLink": "A String", # Self link for this resource.
+    "permissions": { # Permissions the user has for this entity.
+      "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+        "A String",
+      ],
+      "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+        "A String",
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.
+      "kind": "analytics#entityUserLink", # Resource type for entity user link.
+      "entity": { # Entity for this link. It can be an account, a web property, or a view (profile).
+        "accountRef": { # JSON template for a linked account. # Account for this link.
+          "kind": "analytics#accountRef", # Analytics account reference.
+          "href": "A String", # Link for this account.
+          "id": "A String", # Account ID.
+          "name": "A String", # Account name.
+        },
+        "profileRef": { # JSON template for a linked view (profile). # View (Profile) for this link.
+          "kind": "analytics#profileRef", # Analytics view (profile) reference.
+          "name": "A String", # Name of this view (profile).
+          "internalWebPropertyId": "A String", # Internal ID for the web property to which this view (profile) belongs.
+          "href": "A String", # Link for this view (profile).
+          "webPropertyId": "A String", # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.
+          "id": "A String", # View (Profile) ID.
+          "accountId": "A String", # Account ID to which this view (profile) belongs.
+        },
+        "webPropertyRef": { # JSON template for a web property reference. # Web property for this link.
+          "kind": "analytics#webPropertyRef", # Analytics web property reference.
+          "name": "A String", # Name of this web property.
+          "internalWebPropertyId": "A String", # Internal ID for this web property.
+          "href": "A String", # Link for this web property.
+          "id": "A String", # Web property ID of the form UA-XXXXX-YY.
+          "accountId": "A String", # Account ID to which this web property belongs.
+        },
+      },
+      "userRef": { # JSON template for a user reference. # User reference.
+        "kind": "analytics#userRef",
+        "email": "A String", # Email ID of this user.
+        "id": "A String", # User ID.
+      },
+      "id": "A String", # Entity user link ID
+      "selfLink": "A String", # Self link for this resource.
+      "permissions": { # Permissions the user has for this entity.
+        "local": [ # Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.
+          "A String",
+        ],
+        "effective": [ # Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.
+          "A String",
+        ],
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.metadata.columns.html b/docs/dyn/analytics_v3.metadata.columns.html
new file mode 100644
index 0000000..4f94bcc
--- /dev/null
+++ b/docs/dyn/analytics_v3.metadata.columns.html
@@ -0,0 +1,110 @@
+<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.metadata.html">metadata</a> . <a href="analytics_v3.metadata.columns.html">columns</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(reportType)</a></code></p>
+<p class="firstline">Lists all columns for a report type</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(reportType)</code>
+  <pre>Lists all columns for a report type
+
+Args:
+  reportType: string, Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting API (required)
+
+Returns:
+  An object of the form:
+
+    { # Lists columns (dimensions and metrics) for a particular report type.
+    "items": [ # List of columns for a report type.
+      { # JSON template for a metadata column.
+        "attributes": { # Map of attribute name and value for this column.
+          "a_key": "A String", # The name of the attribute.
+        },
+        "kind": "analytics#column", # Resource type for Analytics column.
+        "id": "A String", # Column id.
+      },
+    ],
+    "kind": "analytics#columns", # Collection type.
+    "etag": "A String", # Etag of collection. This etag can be compared with the last response etag to check if response has changed.
+    "totalResults": 42, # Total number of columns returned in the response.
+    "attributeNames": [ # List of attributes names returned by columns.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analytics_v3.metadata.html b/docs/dyn/analytics_v3.metadata.html
new file mode 100644
index 0000000..3b10d9b
--- /dev/null
+++ b/docs/dyn/analytics_v3.metadata.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="analytics_v3.html">Google Analytics API</a> . <a href="analytics_v3.metadata.html">metadata</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="analytics_v3.metadata.columns.html">columns()</a></code>
+</p>
+<p class="firstline">Returns the columns Resource.</p>
+
+</body></html>
\ No newline at end of file
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..56f0ed5
--- /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:
+        # - Yet to be consumed
+        # - 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..ede89de
--- /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. If the key does not exist on the server, an HTTP 404 will be returned.</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. If the key does not exist on the server, an HTTP 404 will be returned.
+
+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/audit_v1.activities.html b/docs/dyn/audit_v1.activities.html
new file mode 100644
index 0000000..a869ae5
--- /dev/null
+++ b/docs/dyn/audit_v1.activities.html
@@ -0,0 +1,141 @@
+<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="audit_v1.html">Enterprise Audit API</a> . <a href="audit_v1.activities.html">activities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(customerId, applicationId, caller=None, startTime=None, actorIpAddress=None, eventName=None, actorApplicationId=None, continuationToken=None, maxResults=None, actorEmail=None, endTime=None)</a></code></p>
+<p class="firstline">Retrieves a list of activities for a specific customer and application.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(customerId, applicationId, caller=None, startTime=None, actorIpAddress=None, eventName=None, actorApplicationId=None, continuationToken=None, maxResults=None, actorEmail=None, endTime=None)</code>
+  <pre>Retrieves a list of activities for a specific customer and application.
+
+Args:
+  customerId: string, Represents the customer who is the owner of target object on which action was performed. (required)
+  applicationId: string, Application ID of the application on which the event was performed. (required)
+  caller: string, Type of the caller.
+    Allowed values
+      application_owner - Caller is an application owner.
+      customer - Caller is a customer.
+  startTime: string, Return events which occured at or after this time.
+  actorIpAddress: string, IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.
+  eventName: string, Name of the event being queried.
+  actorApplicationId: string, Application ID of the application which interacted on behalf of the user while performing the event.
+  continuationToken: string, Next page URL.
+  maxResults: integer, Number of activity records to be shown in each page.
+  actorEmail: string, Email address of the user who performed the action.
+  endTime: string, Return events which occured at or before this time.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # Each record in read response.
+      {
+        "kind": "audit#activity", # Kind of resource this is.
+        "ownerDomain": "A String", # Domain of source customer.
+        "actor": { # User doing the action.
+          "applicationId": "A String", # ID of application which interacted on behalf 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.
+          "uniqQualifier": "A String", # Unique qualifier if multiple events have the same time.
+          "applicationId": "A String", # Application ID of the source application.
+          "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.
+          {
+            "eventType": "A String", # Type of event.
+            "name": "A String", # Name of event.
+            "parameters": [ # Event parameters.
+              {
+                "name": "A String", # Name of the parameter.
+                "value": "A String", # Value of the parameter.
+              },
+            ],
+          },
+        ],
+      },
+    ],
+    "kind": "audit#activities", # Kind of list response this is.
+    "next": "A String", # Next page URL.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/audit_v1.html b/docs/dyn/audit_v1.html
new file mode 100644
index 0000000..13aa956
--- /dev/null
+++ b/docs/dyn/audit_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="audit_v1.html">Enterprise Audit API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="audit_v1.activities.html">activities()</a></code>
+</p>
+<p class="firstline">Returns the activities Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.datasets.html b/docs/dyn/bigquery_v2.datasets.html
new file mode 100644
index 0000000..7e18a37
--- /dev/null
+++ b/docs/dyn/bigquery_v2.datasets.html
@@ -0,0 +1,379 @@
+<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="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.datasets.html">datasets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(projectId, datasetId, deleteContents=None)</a></code></p>
+<p class="firstline">Deletes the dataset specified by the datasetId value. Before you can delete a dataset, you must delete all its tables, either manually or by specifying deleteContents. Immediately after deletion, you can create another dataset with the same name.</p>
+<p class="toc_element">
+  <code><a href="#get">get(projectId, datasetId)</a></code></p>
+<p class="firstline">Returns the dataset specified by datasetID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(projectId, body)</a></code></p>
+<p class="firstline">Creates a new empty dataset.</p>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, all=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all the datasets in the specified project to which the caller has read access; however, a project owner can list (but not necessarily get) all datasets in his 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(projectId, datasetId, body)</a></code></p>
+<p class="firstline">Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(projectId, datasetId, body)</a></code></p>
+<p class="firstline">Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(projectId, datasetId, deleteContents=None)</code>
+  <pre>Deletes the dataset specified by the datasetId value. Before you can delete a dataset, you must delete all its tables, either manually or by specifying deleteContents. Immediately after deletion, you can create another dataset with the same name.
+
+Args:
+  projectId: string, Project ID of the dataset being deleted (required)
+  datasetId: string, Dataset ID of dataset being deleted (required)
+  deleteContents: boolean, If True, delete all the tables in the dataset. If False and the dataset contains tables, the request will fail. Default is False
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(projectId, datasetId)</code>
+  <pre>Returns the dataset specified by datasetID.
+
+Args:
+  projectId: string, Project ID of the requested dataset (required)
+  datasetId: string, Dataset ID of the requested dataset (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "bigquery#dataset", # [Output-only] The resource type.
+      "description": "A String", # [Optional] A user-friendly description of the dataset.
+      "datasetReference": { # [Required] A reference that identifies the dataset.
+        "projectId": "A String", # [Optional] The ID of the container project.
+        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+      },
+      "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
+      "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
+        {
+          "specialGroup": "A String", # [Pick one] A special group to grant access to. Possible values include: 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: READER, WRITER, OWNER.
+          "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
+          "userByEmail": "A String", # [Pick one] An email address of a user to grant access to. For example: fred@example.com.
+        },
+      ],
+      "etag": "A String", # [Output-only] A hash of the resource.
+      "friendlyName": "A String", # [Optional] A descriptive name for the dataset.
+      "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
+      "id": "A String", # [Output-only] The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
+      "selfLink": "A String", # [Output-only] A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(projectId, body)</code>
+  <pre>Creates a new empty dataset.
+
+Args:
+  projectId: string, Project ID of the new dataset (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "bigquery#dataset", # [Output-only] The resource type.
+    "description": "A String", # [Optional] A user-friendly description of the dataset.
+    "datasetReference": { # [Required] A reference that identifies the dataset.
+      "projectId": "A String", # [Optional] The ID of the container project.
+      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+    },
+    "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
+    "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
+      {
+        "specialGroup": "A String", # [Pick one] A special group to grant access to. Possible values include: 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: READER, WRITER, OWNER.
+        "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
+        "userByEmail": "A String", # [Pick one] An email address of a user to grant access to. For example: fred@example.com.
+      },
+    ],
+    "etag": "A String", # [Output-only] A hash of the resource.
+    "friendlyName": "A String", # [Optional] A descriptive name for the dataset.
+    "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
+    "id": "A String", # [Output-only] The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
+    "selfLink": "A String", # [Output-only] A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "bigquery#dataset", # [Output-only] The resource type.
+      "description": "A String", # [Optional] A user-friendly description of the dataset.
+      "datasetReference": { # [Required] A reference that identifies the dataset.
+        "projectId": "A String", # [Optional] The ID of the container project.
+        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+      },
+      "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
+      "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
+        {
+          "specialGroup": "A String", # [Pick one] A special group to grant access to. Possible values include: 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: READER, WRITER, OWNER.
+          "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
+          "userByEmail": "A String", # [Pick one] An email address of a user to grant access to. For example: fred@example.com.
+        },
+      ],
+      "etag": "A String", # [Output-only] A hash of the resource.
+      "friendlyName": "A String", # [Optional] A descriptive name for the dataset.
+      "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
+      "id": "A String", # [Output-only] The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
+      "selfLink": "A String", # [Output-only] A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, all=None, pageToken=None, maxResults=None)</code>
+  <pre>Lists all the datasets in the specified project to which the caller has read access; however, a project owner can list (but not necessarily get) all datasets in his project.
+
+Args:
+  projectId: string, Project ID of the datasets to be listed (required)
+  all: boolean, Whether to list all datasets, including hidden ones
+  pageToken: string, Page token, returned by a previous call, to request the next page of results
+  maxResults: integer, The maximum number of results to return
+
+Returns:
+  An object of the form:
+
+    {
+    "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 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 value of the results page. You can use this property to determine if the page has changed since the last request.
+  }</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(projectId, datasetId, body)</code>
+  <pre>Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource. This method supports patch semantics.
+
+Args:
+  projectId: string, Project ID of the dataset being updated (required)
+  datasetId: string, Dataset ID of the dataset being updated (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "bigquery#dataset", # [Output-only] The resource type.
+    "description": "A String", # [Optional] A user-friendly description of the dataset.
+    "datasetReference": { # [Required] A reference that identifies the dataset.
+      "projectId": "A String", # [Optional] The ID of the container project.
+      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+    },
+    "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
+    "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
+      {
+        "specialGroup": "A String", # [Pick one] A special group to grant access to. Possible values include: 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: READER, WRITER, OWNER.
+        "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
+        "userByEmail": "A String", # [Pick one] An email address of a user to grant access to. For example: fred@example.com.
+      },
+    ],
+    "etag": "A String", # [Output-only] A hash of the resource.
+    "friendlyName": "A String", # [Optional] A descriptive name for the dataset.
+    "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
+    "id": "A String", # [Output-only] The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
+    "selfLink": "A String", # [Output-only] A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "bigquery#dataset", # [Output-only] The resource type.
+      "description": "A String", # [Optional] A user-friendly description of the dataset.
+      "datasetReference": { # [Required] A reference that identifies the dataset.
+        "projectId": "A String", # [Optional] The ID of the container project.
+        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+      },
+      "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
+      "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
+        {
+          "specialGroup": "A String", # [Pick one] A special group to grant access to. Possible values include: 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: READER, WRITER, OWNER.
+          "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
+          "userByEmail": "A String", # [Pick one] An email address of a user to grant access to. For example: fred@example.com.
+        },
+      ],
+      "etag": "A String", # [Output-only] A hash of the resource.
+      "friendlyName": "A String", # [Optional] A descriptive name for the dataset.
+      "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
+      "id": "A String", # [Output-only] The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
+      "selfLink": "A String", # [Output-only] A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(projectId, datasetId, body)</code>
+  <pre>Updates information in an existing dataset. The update method replaces the entire dataset resource, whereas the patch method only replaces fields that are provided in the submitted dataset resource.
+
+Args:
+  projectId: string, Project ID of the dataset being updated (required)
+  datasetId: string, Dataset ID of the dataset being updated (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "bigquery#dataset", # [Output-only] The resource type.
+    "description": "A String", # [Optional] A user-friendly description of the dataset.
+    "datasetReference": { # [Required] A reference that identifies the dataset.
+      "projectId": "A String", # [Optional] The ID of the container project.
+      "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+    },
+    "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
+    "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
+      {
+        "specialGroup": "A String", # [Pick one] A special group to grant access to. Possible values include: 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: READER, WRITER, OWNER.
+        "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
+        "userByEmail": "A String", # [Pick one] An email address of a user to grant access to. For example: fred@example.com.
+      },
+    ],
+    "etag": "A String", # [Output-only] A hash of the resource.
+    "friendlyName": "A String", # [Optional] A descriptive name for the dataset.
+    "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
+    "id": "A String", # [Output-only] The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
+    "selfLink": "A String", # [Output-only] A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "bigquery#dataset", # [Output-only] The resource type.
+      "description": "A String", # [Optional] A user-friendly description of the dataset.
+      "datasetReference": { # [Required] A reference that identifies the dataset.
+        "projectId": "A String", # [Optional] The ID of the container project.
+        "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name.
+      },
+      "creationTime": "A String", # [Output-only] The time when this dataset was created, in milliseconds since the epoch.
+      "access": [ # [Optional] An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER;
+        {
+          "specialGroup": "A String", # [Pick one] A special group to grant access to. Possible values include: 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: READER, WRITER, OWNER.
+          "groupByEmail": "A String", # [Pick one] An email address of a Google Group to grant access to.
+          "userByEmail": "A String", # [Pick one] An email address of a user to grant access to. For example: fred@example.com.
+        },
+      ],
+      "etag": "A String", # [Output-only] A hash of the resource.
+      "friendlyName": "A String", # [Optional] A descriptive name for the dataset.
+      "lastModifiedTime": "A String", # [Output-only] The date when this dataset or any of its tables was last modified, in milliseconds since the epoch.
+      "id": "A String", # [Output-only] The fully-qualified unique name of the dataset in the format projectId:datasetId. The dataset name without the project name is given in the datasetId field. When creating a new dataset, leave this field blank, and instead specify the datasetId field.
+      "selfLink": "A String", # [Output-only] A URL that can be used to access the resource again. You can use this URL in Get or Update requests to the resource.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.html b/docs/dyn/bigquery_v2.html
new file mode 100644
index 0000000..9a19266
--- /dev/null
+++ b/docs/dyn/bigquery_v2.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="bigquery_v2.html">BigQuery API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="bigquery_v2.datasets.html">datasets()</a></code>
+</p>
+<p class="firstline">Returns the datasets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="bigquery_v2.jobs.html">jobs()</a></code>
+</p>
+<p class="firstline">Returns the jobs Resource.</p>
+
+<p class="toc_element">
+  <code><a href="bigquery_v2.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
+  <code><a href="bigquery_v2.tabledata.html">tabledata()</a></code>
+</p>
+<p class="firstline">Returns the tabledata Resource.</p>
+
+<p class="toc_element">
+  <code><a href="bigquery_v2.tables.html">tables()</a></code>
+</p>
+<p class="firstline">Returns the tables Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.jobs.html b/docs/dyn/bigquery_v2.jobs.html
new file mode 100644
index 0000000..c6109f4
--- /dev/null
+++ b/docs/dyn/bigquery_v2.jobs.html
@@ -0,0 +1,852 @@
+<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="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.jobs.html">jobs</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <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, 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>
+<p class="firstline">Starts a new asynchronous job.</p>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, projection=None, stateFilter=None, pageToken=None, allUsers=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all the Jobs in the specified project that were started by the 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="#query">query(projectId, body)</a></code></p>
+<p class="firstline">Runs a BigQuery SQL query synchronously and returns query results if the query completes within a specified timeout.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(projectId, jobId)</code>
+  <pre>Retrieves the specified job by ID.
+
+Args:
+  projectId: string, Project ID of the requested job (required)
+  jobId: string, Job ID of the requested job (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "status": { # [Output-only] The status of this job. Examine this value when polling an asynchronous job to see if the job is complete.
+        "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. 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. 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.
+        },
+      },
+      "kind": "bigquery#job", # [Output-only] The type of the resource.
+      "statistics": { # [Output-only] Information about the job, including starting time and ending time of the job.
+        "load": { # [Output-only] Statistics for a load job.
+          "outputRows": "A String", # [Output-only] Number of rows imported in a load job. Note that while an import job is in the running state, this value may change.
+          "inputFiles": "A String", # [Output-only] Number of source files in a load job.
+          "inputFileBytes": "A String", # [Output-only] Number of bytes of source data in a joad job.
+          "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.
+        },
+        "creationTime": "A String", # [Output-only] Creation time of this job, in milliseconds since the epoch. This field will be present on all jobs.
+        "totalBytesProcessed": "A String", # [Output-only] [Deprecated] Use the bytes processed in the query statistics instead.
+        "startTime": "A String", # [Output-only] Start time of this job, in milliseconds since the epoch. This field will be present when the job transitions from the PENDING state to either RUNNING or DONE.
+        "query": { # [Output-only] Statistics for a query job.
+          "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. This field will be present whenever a job is in the DONE state.
+      },
+      "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
+        "projectId": "A String", # [Required] Project ID being billed for the job.
+        "jobId": "A String", # [Required] ID of the job.
+      },
+      "etag": "A String", # [Output-only] A hash of this resource.
+      "configuration": { # [Required] Describes the job configuration.
+        "load": { # [Pick one] Configures a load job.
+          "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
+          "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
+          "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
+          "destinationTable": { # [Required] The destination table to load the data into.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. 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",
+          ],
+          "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
+          "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
+          "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
+          "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
+          "ignoreUnknownValues": True or False, # [Optional] Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false which treats unknown values as errors. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name.
+          "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
+            "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 that the field contains a nested schema).
+                "description": "A String", # [Optional] The field description.
+                "name": "A String", # [Required] The field name.
+                "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+              },
+            ],
+          },
+        },
+        "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] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "destinationTable": { # [Required] The destination table of the link job.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+          "sourceUri": [ # [Required] URI of source table to link.
+            "A String",
+          ],
+        },
+        "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 use 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.
+          },
+          "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+          "priority": "A String", # [Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE.
+          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "allowLargeResults": True or False, # If true, allows the query to produce arbitrarily large result tables at a slight cost in performance. Requires destination_table to be set.
+          "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "query": "A String", # [Required] BigQuery SQL query to execute.
+          "preserveNulls": True or False, # [Deprecated] This property is deprecated.
+        },
+        "copy": { # [Pick one] Copies a table.
+          "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "destinationTable": { # [Required] The destination table
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+          "sourceTable": { # [Required] Source table to copy.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+        },
+        "extract": { # [Pick one] Configures an extract job.
+          "destinationUri": "A String", # [Pick one] DEPRECATED: Use destinationUris instead, passing only one URI as necessary. The fully-qualified Google Cloud Storage URI where the extracted table should be written.
+          "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
+          "destinationFormat": "A String", # [Experimental] Optional and defaults to CSV. Format with which files should be exported. To export to CSV, specify "CSV". Tables with nested or repeated fields cannot be exported as CSV. To export to newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON".
+          "printHeader": True or False, # [Optional] Whether to print out a header row in the results. Default is true.
+          "destinationUris": [ # [Pick one] A list of fully-qualified Google Cloud Storage URIs where the extracted table should be written.
+            "A String",
+          ],
+          "sourceTable": { # [Required] A reference to the table being exported.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+        },
+      },
+      "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.
+    }</pre>
+</div>
+
+<div class="method">
+    <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
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "bigquery#getQueryResultsResponse", # The resource type of the response.
+    "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. 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": "",
+          },
+        ],
+      },
+    ],
+    "jobReference": { # Reference to the BigQuery Job that was created to run the query. This field will be present even if the original request timed out, in which case GetQueryResults can be used to read the results once the query has completed. Since this API only returns the first page of results, subsequent pages can be fetched via the same mechanism (GetQueryResults).
+      "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.
+        {
+          "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 that the field contains a nested schema).
+          "description": "A String", # [Optional] The field description.
+          "name": "A String", # [Required] The field name.
+          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(projectId, body=None, media_body=None)</code>
+  <pre>Starts a new asynchronous job.
+
+Args:
+  projectId: string, Project ID of the project that will be billed for the job (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{
+    "status": { # [Output-only] The status of this job. Examine this value when polling an asynchronous job to see if the job is complete.
+      "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. 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. 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.
+      },
+    },
+    "kind": "bigquery#job", # [Output-only] The type of the resource.
+    "statistics": { # [Output-only] Information about the job, including starting time and ending time of the job.
+      "load": { # [Output-only] Statistics for a load job.
+        "outputRows": "A String", # [Output-only] Number of rows imported in a load job. Note that while an import job is in the running state, this value may change.
+        "inputFiles": "A String", # [Output-only] Number of source files in a load job.
+        "inputFileBytes": "A String", # [Output-only] Number of bytes of source data in a joad job.
+        "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.
+      },
+      "creationTime": "A String", # [Output-only] Creation time of this job, in milliseconds since the epoch. This field will be present on all jobs.
+      "totalBytesProcessed": "A String", # [Output-only] [Deprecated] Use the bytes processed in the query statistics instead.
+      "startTime": "A String", # [Output-only] Start time of this job, in milliseconds since the epoch. This field will be present when the job transitions from the PENDING state to either RUNNING or DONE.
+      "query": { # [Output-only] Statistics for a query job.
+        "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. This field will be present whenever a job is in the DONE state.
+    },
+    "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
+      "projectId": "A String", # [Required] Project ID being billed for the job.
+      "jobId": "A String", # [Required] ID of the job.
+    },
+    "etag": "A String", # [Output-only] A hash of this resource.
+    "configuration": { # [Required] Describes the job configuration.
+      "load": { # [Pick one] Configures a load job.
+        "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
+        "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
+        "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
+        "destinationTable": { # [Required] The destination table to load the data into.
+          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+          "tableId": "A String", # [Required] ID of the table.
+          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        },
+        "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. 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",
+        ],
+        "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
+        "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+        "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
+        "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
+        "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
+        "ignoreUnknownValues": True or False, # [Optional] Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false which treats unknown values as errors. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name.
+        "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
+          "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 that the field contains a nested schema).
+              "description": "A String", # [Optional] The field description.
+              "name": "A String", # [Required] The field name.
+              "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+            },
+          ],
+        },
+      },
+      "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] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+        "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+        "destinationTable": { # [Required] The destination table of the link job.
+          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+          "tableId": "A String", # [Required] ID of the table.
+          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        },
+        "sourceUri": [ # [Required] URI of source table to link.
+          "A String",
+        ],
+      },
+      "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 use 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.
+        },
+        "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
+          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+          "tableId": "A String", # [Required] ID of the table.
+          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        },
+        "priority": "A String", # [Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE.
+        "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+        "allowLargeResults": True or False, # If true, allows the query to produce arbitrarily large result tables at a slight cost in performance. Requires destination_table to be set.
+        "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+        "query": "A String", # [Required] BigQuery SQL query to execute.
+        "preserveNulls": True or False, # [Deprecated] This property is deprecated.
+      },
+      "copy": { # [Pick one] Copies a table.
+        "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+        "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+        "destinationTable": { # [Required] The destination table
+          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+          "tableId": "A String", # [Required] ID of the table.
+          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        },
+        "sourceTable": { # [Required] Source table to copy.
+          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+          "tableId": "A String", # [Required] ID of the table.
+          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        },
+      },
+      "extract": { # [Pick one] Configures an extract job.
+        "destinationUri": "A String", # [Pick one] DEPRECATED: Use destinationUris instead, passing only one URI as necessary. The fully-qualified Google Cloud Storage URI where the extracted table should be written.
+        "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
+        "destinationFormat": "A String", # [Experimental] Optional and defaults to CSV. Format with which files should be exported. To export to CSV, specify "CSV". Tables with nested or repeated fields cannot be exported as CSV. To export to newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON".
+        "printHeader": True or False, # [Optional] Whether to print out a header row in the results. Default is true.
+        "destinationUris": [ # [Pick one] A list of fully-qualified Google Cloud Storage URIs where the extracted table should be written.
+          "A String",
+        ],
+        "sourceTable": { # [Required] A reference to the table being exported.
+          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+          "tableId": "A String", # [Required] ID of the table.
+          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        },
+      },
+    },
+    "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.
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    {
+      "status": { # [Output-only] The status of this job. Examine this value when polling an asynchronous job to see if the job is complete.
+        "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. 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. 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.
+        },
+      },
+      "kind": "bigquery#job", # [Output-only] The type of the resource.
+      "statistics": { # [Output-only] Information about the job, including starting time and ending time of the job.
+        "load": { # [Output-only] Statistics for a load job.
+          "outputRows": "A String", # [Output-only] Number of rows imported in a load job. Note that while an import job is in the running state, this value may change.
+          "inputFiles": "A String", # [Output-only] Number of source files in a load job.
+          "inputFileBytes": "A String", # [Output-only] Number of bytes of source data in a joad job.
+          "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.
+        },
+        "creationTime": "A String", # [Output-only] Creation time of this job, in milliseconds since the epoch. This field will be present on all jobs.
+        "totalBytesProcessed": "A String", # [Output-only] [Deprecated] Use the bytes processed in the query statistics instead.
+        "startTime": "A String", # [Output-only] Start time of this job, in milliseconds since the epoch. This field will be present when the job transitions from the PENDING state to either RUNNING or DONE.
+        "query": { # [Output-only] Statistics for a query job.
+          "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. This field will be present whenever a job is in the DONE state.
+      },
+      "jobReference": { # [Optional] Reference describing the unique-per-user name of the job.
+        "projectId": "A String", # [Required] Project ID being billed for the job.
+        "jobId": "A String", # [Required] ID of the job.
+      },
+      "etag": "A String", # [Output-only] A hash of this resource.
+      "configuration": { # [Required] Describes the job configuration.
+        "load": { # [Pick one] Configures a load job.
+          "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
+          "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
+          "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
+          "destinationTable": { # [Required] The destination table to load the data into.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. 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",
+          ],
+          "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
+          "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
+          "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
+          "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
+          "ignoreUnknownValues": True or False, # [Optional] Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false which treats unknown values as errors. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name.
+          "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
+            "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 that the field contains a nested schema).
+                "description": "A String", # [Optional] The field description.
+                "name": "A String", # [Required] The field name.
+                "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+              },
+            ],
+          },
+        },
+        "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] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "destinationTable": { # [Required] The destination table of the link job.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+          "sourceUri": [ # [Required] URI of source table to link.
+            "A String",
+          ],
+        },
+        "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 use 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.
+          },
+          "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+          "priority": "A String", # [Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE.
+          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "allowLargeResults": True or False, # If true, allows the query to produce arbitrarily large result tables at a slight cost in performance. Requires destination_table to be set.
+          "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "query": "A String", # [Required] BigQuery SQL query to execute.
+          "preserveNulls": True or False, # [Deprecated] This property is deprecated.
+        },
+        "copy": { # [Pick one] Copies a table.
+          "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+          "destinationTable": { # [Required] The destination table
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+          "sourceTable": { # [Required] Source table to copy.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+        },
+        "extract": { # [Pick one] Configures an extract job.
+          "destinationUri": "A String", # [Pick one] DEPRECATED: Use destinationUris instead, passing only one URI as necessary. The fully-qualified Google Cloud Storage URI where the extracted table should be written.
+          "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
+          "destinationFormat": "A String", # [Experimental] Optional and defaults to CSV. Format with which files should be exported. To export to CSV, specify "CSV". Tables with nested or repeated fields cannot be exported as CSV. To export to newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON".
+          "printHeader": True or False, # [Optional] Whether to print out a header row in the results. Default is true.
+          "destinationUris": [ # [Pick one] A list of fully-qualified Google Cloud Storage URIs where the extracted table should be written.
+            "A String",
+          ],
+          "sourceTable": { # [Required] A reference to the table being exported.
+            "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+            "tableId": "A String", # [Required] ID of the table.
+            "datasetId": "A String", # [Required] ID of the dataset containing the table.
+          },
+        },
+      },
+      "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.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, projection=None, stateFilter=None, pageToken=None, allUsers=None, maxResults=None)</code>
+  <pre>Lists all the Jobs in the specified project that were started by the user.
+
+Args:
+  projectId: string, Project ID of the jobs to list (required)
+  projection: string, Restrict information returned to a set of selected fields
+    Allowed values
+      full - Includes all job data
+      minimal - Does not include the job configuration
+  stateFilter: string, Filter for job state (repeated)
+    Allowed values
+      done - Finished jobs
+      pending - Pending jobs
+      running - Running jobs
+  pageToken: string, Page token, returned by a previous call, to request the next page of results
+  allUsers: boolean, Whether to display jobs owned by all users in the project. Default false
+  maxResults: integer, Maximum number of results to return
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token to request the next page of results.
+    "totalItems": 42, # Total number of jobs in this collection.
+    "kind": "bigquery#jobList", # The resource type of the response.
+    "etag": "A String", # A hash of this page of results.
+    "jobs": [ # List of jobs that were requested.
+      {
+        "status": { # [Full-projection-only] Describes the state of the job.
+          "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. 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. 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.
+          },
+        },
+        "kind": "bigquery#job", # The resource type.
+        "statistics": { # [Output-only] Information about the job, including starting time and ending time of the job.
+          "load": { # [Output-only] Statistics for a load job.
+            "outputRows": "A String", # [Output-only] Number of rows imported in a load job. Note that while an import job is in the running state, this value may change.
+            "inputFiles": "A String", # [Output-only] Number of source files in a load job.
+            "inputFileBytes": "A String", # [Output-only] Number of bytes of source data in a joad job.
+            "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.
+          },
+          "creationTime": "A String", # [Output-only] Creation time of this job, in milliseconds since the epoch. This field will be present on all jobs.
+          "totalBytesProcessed": "A String", # [Output-only] [Deprecated] Use the bytes processed in the query statistics instead.
+          "startTime": "A String", # [Output-only] Start time of this job, in milliseconds since the epoch. This field will be present when the job transitions from the PENDING state to either RUNNING or DONE.
+          "query": { # [Output-only] Statistics for a query job.
+            "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. This field will be present whenever a job is in the DONE state.
+        },
+        "jobReference": { # Job reference uniquely identifying the job.
+          "projectId": "A String", # [Required] Project ID being billed for the job.
+          "jobId": "A String", # [Required] ID of the job.
+        },
+        "state": "A String", # Running state of the job. When the state is DONE, errorResult can be checked to determine whether the job succeeded or failed.
+        "user_email": "A String", # [Full-projection-only] User who ran the job.
+        "configuration": { # [Full-projection-only] Specifies the job configuration.
+          "load": { # [Pick one] Configures a load job.
+            "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties.
+            "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (',').
+            "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV.
+            "destinationTable": { # [Required] The destination table to load the data into.
+              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+              "tableId": "A String", # [Required] ID of the table.
+              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            },
+            "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. 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",
+            ],
+            "quote": "A String", # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.
+            "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+            "schemaInlineFormat": "A String", # [Deprecated] The format of the schemaInline property.
+            "schemaInline": "A String", # [Deprecated] The inline schema. For CSV schemas, specify as "Field1:Type1[,Field2:Type2]*". For example, "foo:STRING, bar:INTEGER, baz:FLOAT".
+            "allowQuotedNewlines": True or False, # Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false.
+            "ignoreUnknownValues": True or False, # [Optional] Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false which treats unknown values as errors. For CSV this ignores extra values at the end of a line. For JSON this ignores named values that do not match any column name.
+            "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists or if the schema can be inferred from the loaded data.
+              "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 that the field contains a nested schema).
+                  "description": "A String", # [Optional] The field description.
+                  "name": "A String", # [Required] The field name.
+                  "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+                },
+              ],
+            },
+          },
+          "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] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+            "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+            "destinationTable": { # [Required] The destination table of the link job.
+              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+              "tableId": "A String", # [Required] ID of the table.
+              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            },
+            "sourceUri": [ # [Required] URI of source table to link.
+              "A String",
+            ],
+          },
+          "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 use 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.
+            },
+            "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results.
+              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+              "tableId": "A String", # [Required] ID of the table.
+              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            },
+            "priority": "A String", # [Optional] Specifies a priority for the query. Possible values include INTERACTIVE and BATCH. The default value is INTERACTIVE.
+            "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+            "allowLargeResults": True or False, # If true, allows the query to produce arbitrarily large result tables at a slight cost in performance. Requires destination_table to be set.
+            "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+            "query": "A String", # [Required] BigQuery SQL query to execute.
+            "preserveNulls": True or False, # [Deprecated] This property is deprecated.
+          },
+          "copy": { # [Pick one] Copies a table.
+            "createDisposition": "A String", # [Optional] Specifies whether the job is allowed to create new tables. The following values are supported: CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table. CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result. The default value is CREATE_IF_NEEDED. Creation, truncation and append actions occur as one atomic update upon job completion.
+            "writeDisposition": "A String", # [Optional] Specifies the action that occurs if the destination table already exists. The following values are supported: WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data. WRITE_APPEND: If the table already exists, BigQuery appends the data to the table. WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result. The default value is WRITE_EMPTY. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Creation, truncation and append actions occur as one atomic update upon job completion.
+            "destinationTable": { # [Required] The destination table
+              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+              "tableId": "A String", # [Required] ID of the table.
+              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            },
+            "sourceTable": { # [Required] Source table to copy.
+              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+              "tableId": "A String", # [Required] ID of the table.
+              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            },
+          },
+          "extract": { # [Pick one] Configures an extract job.
+            "destinationUri": "A String", # [Pick one] DEPRECATED: Use destinationUris instead, passing only one URI as necessary. The fully-qualified Google Cloud Storage URI where the extracted table should be written.
+            "fieldDelimiter": "A String", # [Optional] Delimiter to use between fields in the exported data. Default is ','
+            "destinationFormat": "A String", # [Experimental] Optional and defaults to CSV. Format with which files should be exported. To export to CSV, specify "CSV". Tables with nested or repeated fields cannot be exported as CSV. To export to newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON".
+            "printHeader": True or False, # [Optional] Whether to print out a header row in the results. Default is true.
+            "destinationUris": [ # [Pick one] A list of fully-qualified Google Cloud Storage URIs where the extracted table should be written.
+              "A String",
+            ],
+            "sourceTable": { # [Required] A reference to the table being exported.
+              "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+              "tableId": "A String", # [Required] ID of the table.
+              "datasetId": "A String", # [Required] ID of the dataset containing the table.
+            },
+          },
+        },
+        "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. 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.
+        },
+      },
+    ],
+  }</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="query">query(projectId, body)</code>
+  <pre>Runs a BigQuery SQL query synchronously and returns query results if the query completes within a specified timeout.
+
+Args:
+  projectId: string, Project ID of the project billed for the query (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "timeoutMs": 42, # [Optional] How long to wait for the query to complete, in milliseconds, before the request times out and returns. Note that this is only a timeout for the request, not the query. If the query takes longer to run than the timeout value, the call returns without any results and with the 'jobComplete' flag set to false. You can call GetQueryResults() to wait for the query to complete and read the results. The default value is 10000 milliseconds (10 seconds).
+    "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. The default value is false.
+    "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. The default value is true.
+    "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 qualified in the format '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 rows of data to return per page of results. Setting this flag to a small value such as 1000 and then paging through results might improve reliability when the query result set is large. In addition to this limit, responses are also limited to 10 MB. By default, there is no maximum row count, and only the byte limit applies.
+    "query": "A String", # [Required] A query string, following the BigQuery query syntax, of the query to execute. Example: "SELECT count(f1) FROM [myProjectId:myDatasetId.myTableId]".
+    "preserveNulls": True or False, # [Deprecated] If set to false, maps null values in the query response to the column's default value. Only specify if you have older code that can not handle null values in the query response. The default value is true. This flag is deprecated and will be ignored in a future version of BigQuery.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "bigquery#queryResponse", # The resource type.
+    "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. 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": "",
+          },
+        ],
+      },
+    ],
+    "jobReference": { # Reference to the Job that was created to run the query. This field will be present even if the original request timed out, in which case GetQueryResults can be used to read the results once the query has completed. Since this API only returns the first page of results, subsequent pages can be fetched via the same mechanism (GetQueryResults).
+      "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 that the field contains a nested schema).
+          "description": "A String", # [Optional] The field description.
+          "name": "A String", # [Required] The field name.
+          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.projects.html b/docs/dyn/bigquery_v2.projects.html
new file mode 100644
index 0000000..df10a23
--- /dev/null
+++ b/docs/dyn/bigquery_v2.projects.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="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.projects.html">projects</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">Lists the projects to which you have at least read access.</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>Lists the projects to which you have at least read access.
+
+Args:
+  pageToken: string, Page token, returned by a previous call, to request the next page of results
+  maxResults: integer, Maximum number of results to return
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token to request the next page of results.
+    "totalItems": 42, # The total number of projects in the list.
+    "kind": "bigquery#projectList", # The type of list.
+    "etag": "A String", # A hash of the page of results
+    "projects": [ # Projects to which you have at least READ access.
+      {
+        "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.
+        },
+      },
+    ],
+  }</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/bigquery_v2.tabledata.html b/docs/dyn/bigquery_v2.tabledata.html
new file mode 100644
index 0000000..cb1f2da
--- /dev/null
+++ b/docs/dyn/bigquery_v2.tabledata.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="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.tabledata.html">tabledata</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insertAll">insertAll(projectId, datasetId, tableId, body)</a></code></p>
+<p class="firstline">Inserts the supplied rows into the table.</p>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, datasetId, tableId, pageToken=None, maxResults=None, startIndex=None)</a></code></p>
+<p class="firstline">Retrieves table data from a specified set of rows.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insertAll">insertAll(projectId, datasetId, tableId, body)</code>
+  <pre>Inserts the supplied rows into the table.
+
+Args:
+  projectId: string, Project ID of the destination table. (required)
+  datasetId: string, Dataset ID of the destination table. (required)
+  tableId: string, Table ID of the destination table. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "bigquery#tableDataInsertAllRequest", # The resource type of the response.
+    "rows": [ # The rows to insert.
+      {
+        "insertId": "A String", # [Optional] A unique ID for each row. BigQuery uses this property to detect duplicate insertion requests on a best-effort basis.
+        "json": { # Represents a single JSON object. # [Required] A JSON object that contains a row of data. The object's properties and values must match the destination table's schema.
+          "a_key": "",
+        },
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "bigquery#tableDataInsertAllResponse", # The resource type of the response.
+    "insertErrors": [ # An array of errors for rows that were not inserted.
+      {
+        "index": 42, # The index of the row that error applies to.
+        "errors": [ # Error information for the row indicated by the index property.
+          {
+            "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.
+          },
+        ],
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, datasetId, tableId, pageToken=None, maxResults=None, startIndex=None)</code>
+  <pre>Retrieves table data from a specified set of rows.
+
+Args:
+  projectId: string, Project ID of the table to read (required)
+  datasetId: string, Dataset ID of the table to read (required)
+  tableId: string, Table ID of the table to read (required)
+  pageToken: string, Page token, returned by a previous call, identifying the result set
+  maxResults: integer, Maximum number of results to return
+  startIndex: string, Zero-based index of the starting row to read
+
+Returns:
+  An object of the form:
+
+    {
+    "pageToken": "A String", # A token used for paging results. Providing this token instead of the startIndex parameter can help you retrieve stable results when an underlying table is changing.
+    "kind": "bigquery#tableDataList", # The resource type of the response.
+    "etag": "A String", # A hash of this page of results.
+    "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. 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": "",
+          },
+        ],
+      },
+    ],
+    "totalRows": "A String", # The total number of rows in the complete table.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/bigquery_v2.tables.html b/docs/dyn/bigquery_v2.tables.html
new file mode 100644
index 0000000..a91898c
--- /dev/null
+++ b/docs/dyn/bigquery_v2.tables.html
@@ -0,0 +1,470 @@
+<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="bigquery_v2.html">BigQuery API</a> . <a href="bigquery_v2.tables.html">tables</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(projectId, datasetId, tableId)</a></code></p>
+<p class="firstline">Deletes the table specified by tableId from the dataset. If the table contains data, all the data will be deleted.</p>
+<p class="toc_element">
+  <code><a href="#get">get(projectId, datasetId, tableId)</a></code></p>
+<p class="firstline">Gets the specified table resource by table ID. This method does not return the data in the table, it only returns the table resource, which describes the structure of this table.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(projectId, datasetId, body)</a></code></p>
+<p class="firstline">Creates a new, empty table in the dataset.</p>
+<p class="toc_element">
+  <code><a href="#list">list(projectId, datasetId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all tables in the specified dataset.</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(projectId, datasetId, tableId, body)</a></code></p>
+<p class="firstline">Updates information in an existing table. The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(projectId, datasetId, tableId, body)</a></code></p>
+<p class="firstline">Updates information in an existing table. The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(projectId, datasetId, tableId)</code>
+  <pre>Deletes the table specified by tableId from the dataset. If the table contains data, all the data will be deleted.
+
+Args:
+  projectId: string, Project ID of the table to delete (required)
+  datasetId: string, Dataset ID of the table to delete (required)
+  tableId: string, Table ID of the table to delete (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(projectId, datasetId, tableId)</code>
+  <pre>Gets the specified table resource by table ID. This method does not return the data in the table, it only returns the table resource, which describes the structure of this table.
+
+Args:
+  projectId: string, Project ID of the requested table (required)
+  datasetId: string, Dataset ID of the requested table (required)
+  tableId: string, Table ID of the requested table (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "bigquery#table", # [Output-only] The type of the resource.
+      "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
+      "description": "A String", # [Optional] A user-friendly description of this table.
+      "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
+      "tableReference": { # [Required] Reference describing the ID of this table.
+        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+        "tableId": "A String", # [Required] ID of the table.
+        "datasetId": "A String", # [Required] ID of the dataset containing the table.
+      },
+      "numRows": "A String", # [Output-only] The number of rows of data in this table.
+      "numBytes": "A String", # [Output-only] The size of the table in bytes.
+      "etag": "A String", # [Output-only] A hash of this resource.
+      "friendlyName": "A String", # [Optional] A descriptive name for this table.
+      "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
+      "view": { # [Optional] The view definition.
+        "query": "A String", # [Required] A query that BigQuery executes when the view is referenced.
+      },
+      "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. The default value is TABLE.
+      "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
+      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
+      "schema": { # [Optional] Describes the schema of this table.
+        "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 that the field contains a nested schema).
+            "description": "A String", # [Optional] The field description.
+            "name": "A String", # [Required] The field name.
+            "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+          },
+        ],
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(projectId, datasetId, body)</code>
+  <pre>Creates a new, empty table in the dataset.
+
+Args:
+  projectId: string, Project ID of the new table (required)
+  datasetId: string, Dataset ID of the new table (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "bigquery#table", # [Output-only] The type of the resource.
+    "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
+    "description": "A String", # [Optional] A user-friendly description of this table.
+    "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
+    "tableReference": { # [Required] Reference describing the ID of this table.
+      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+      "tableId": "A String", # [Required] ID of the table.
+      "datasetId": "A String", # [Required] ID of the dataset containing the table.
+    },
+    "numRows": "A String", # [Output-only] The number of rows of data in this table.
+    "numBytes": "A String", # [Output-only] The size of the table in bytes.
+    "etag": "A String", # [Output-only] A hash of this resource.
+    "friendlyName": "A String", # [Optional] A descriptive name for this table.
+    "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
+    "view": { # [Optional] The view definition.
+      "query": "A String", # [Required] A query that BigQuery executes when the view is referenced.
+    },
+    "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. The default value is TABLE.
+    "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
+    "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
+    "schema": { # [Optional] Describes the schema of this table.
+      "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 that the field contains a nested schema).
+          "description": "A String", # [Optional] The field description.
+          "name": "A String", # [Required] The field name.
+          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+        },
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "bigquery#table", # [Output-only] The type of the resource.
+      "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
+      "description": "A String", # [Optional] A user-friendly description of this table.
+      "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
+      "tableReference": { # [Required] Reference describing the ID of this table.
+        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+        "tableId": "A String", # [Required] ID of the table.
+        "datasetId": "A String", # [Required] ID of the dataset containing the table.
+      },
+      "numRows": "A String", # [Output-only] The number of rows of data in this table.
+      "numBytes": "A String", # [Output-only] The size of the table in bytes.
+      "etag": "A String", # [Output-only] A hash of this resource.
+      "friendlyName": "A String", # [Optional] A descriptive name for this table.
+      "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
+      "view": { # [Optional] The view definition.
+        "query": "A String", # [Required] A query that BigQuery executes when the view is referenced.
+      },
+      "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. The default value is TABLE.
+      "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
+      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
+      "schema": { # [Optional] Describes the schema of this table.
+        "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 that the field contains a nested schema).
+            "description": "A String", # [Optional] The field description.
+            "name": "A String", # [Required] The field name.
+            "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+          },
+        ],
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(projectId, datasetId, pageToken=None, maxResults=None)</code>
+  <pre>Lists all tables in the specified dataset.
+
+Args:
+  projectId: string, Project ID of the tables to list (required)
+  datasetId: string, Dataset ID of the tables to list (required)
+  pageToken: string, Page token, returned by a previous call, to request the next page of results
+  maxResults: integer, Maximum number of results to return
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token to request the next page of results.
+    "tables": [ # Tables in the requested dataset.
+      {
+        "friendlyName": "A String", # The user-friendly name for this table.
+        "kind": "bigquery#table", # The resource type.
+        "type": "A String", # The type of table. Possible values are: TABLE, VIEW.
+        "id": "A String", # An opaque ID of the table
+        "tableReference": { # A reference uniquely identifying the table.
+          "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+          "tableId": "A String", # [Required] ID of the table.
+          "datasetId": "A String", # [Required] ID of the dataset containing the table.
+        },
+      },
+    ],
+    "kind": "bigquery#tableList", # The type of list.
+    "etag": "A String", # A hash of this page of results.
+    "totalItems": 42, # The total number of tables in the dataset.
+  }</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(projectId, datasetId, tableId, body)</code>
+  <pre>Updates information in an existing table. The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource. This method supports patch semantics.
+
+Args:
+  projectId: string, Project ID of the table to update (required)
+  datasetId: string, Dataset ID of the table to update (required)
+  tableId: string, Table ID of the table to update (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "bigquery#table", # [Output-only] The type of the resource.
+    "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
+    "description": "A String", # [Optional] A user-friendly description of this table.
+    "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
+    "tableReference": { # [Required] Reference describing the ID of this table.
+      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+      "tableId": "A String", # [Required] ID of the table.
+      "datasetId": "A String", # [Required] ID of the dataset containing the table.
+    },
+    "numRows": "A String", # [Output-only] The number of rows of data in this table.
+    "numBytes": "A String", # [Output-only] The size of the table in bytes.
+    "etag": "A String", # [Output-only] A hash of this resource.
+    "friendlyName": "A String", # [Optional] A descriptive name for this table.
+    "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
+    "view": { # [Optional] The view definition.
+      "query": "A String", # [Required] A query that BigQuery executes when the view is referenced.
+    },
+    "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. The default value is TABLE.
+    "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
+    "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
+    "schema": { # [Optional] Describes the schema of this table.
+      "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 that the field contains a nested schema).
+          "description": "A String", # [Optional] The field description.
+          "name": "A String", # [Required] The field name.
+          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+        },
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "bigquery#table", # [Output-only] The type of the resource.
+      "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
+      "description": "A String", # [Optional] A user-friendly description of this table.
+      "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
+      "tableReference": { # [Required] Reference describing the ID of this table.
+        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+        "tableId": "A String", # [Required] ID of the table.
+        "datasetId": "A String", # [Required] ID of the dataset containing the table.
+      },
+      "numRows": "A String", # [Output-only] The number of rows of data in this table.
+      "numBytes": "A String", # [Output-only] The size of the table in bytes.
+      "etag": "A String", # [Output-only] A hash of this resource.
+      "friendlyName": "A String", # [Optional] A descriptive name for this table.
+      "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
+      "view": { # [Optional] The view definition.
+        "query": "A String", # [Required] A query that BigQuery executes when the view is referenced.
+      },
+      "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. The default value is TABLE.
+      "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
+      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
+      "schema": { # [Optional] Describes the schema of this table.
+        "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 that the field contains a nested schema).
+            "description": "A String", # [Optional] The field description.
+            "name": "A String", # [Required] The field name.
+            "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+          },
+        ],
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(projectId, datasetId, tableId, body)</code>
+  <pre>Updates information in an existing table. The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource.
+
+Args:
+  projectId: string, Project ID of the table to update (required)
+  datasetId: string, Dataset ID of the table to update (required)
+  tableId: string, Table ID of the table to update (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "bigquery#table", # [Output-only] The type of the resource.
+    "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
+    "description": "A String", # [Optional] A user-friendly description of this table.
+    "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
+    "tableReference": { # [Required] Reference describing the ID of this table.
+      "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+      "tableId": "A String", # [Required] ID of the table.
+      "datasetId": "A String", # [Required] ID of the dataset containing the table.
+    },
+    "numRows": "A String", # [Output-only] The number of rows of data in this table.
+    "numBytes": "A String", # [Output-only] The size of the table in bytes.
+    "etag": "A String", # [Output-only] A hash of this resource.
+    "friendlyName": "A String", # [Optional] A descriptive name for this table.
+    "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
+    "view": { # [Optional] The view definition.
+      "query": "A String", # [Required] A query that BigQuery executes when the view is referenced.
+    },
+    "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. The default value is TABLE.
+    "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
+    "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
+    "schema": { # [Optional] Describes the schema of this table.
+      "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 that the field contains a nested schema).
+          "description": "A String", # [Optional] The field description.
+          "name": "A String", # [Required] The field name.
+          "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+        },
+      ],
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "bigquery#table", # [Output-only] The type of the resource.
+      "lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch.
+      "description": "A String", # [Optional] A user-friendly description of this table.
+      "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch.
+      "tableReference": { # [Required] Reference describing the ID of this table.
+        "projectId": "A String", # [Required] ID of the project billed for storage of the table.
+        "tableId": "A String", # [Required] ID of the table.
+        "datasetId": "A String", # [Required] ID of the dataset containing the table.
+      },
+      "numRows": "A String", # [Output-only] The number of rows of data in this table.
+      "numBytes": "A String", # [Output-only] The size of the table in bytes.
+      "etag": "A String", # [Output-only] A hash of this resource.
+      "friendlyName": "A String", # [Optional] A descriptive name for this table.
+      "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
+      "view": { # [Optional] The view definition.
+        "query": "A String", # [Required] A query that BigQuery executes when the view is referenced.
+      },
+      "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. The default value is TABLE.
+      "id": "A String", # [Output-only] An opaque ID uniquely identifying the table.
+      "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again.
+      "schema": { # [Optional] Describes the schema of this table.
+        "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 that the field contains a nested schema).
+            "description": "A String", # [Optional] The field description.
+            "name": "A String", # [Required] The field name.
+            "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE.
+          },
+        ],
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.blogUserInfos.html b/docs/dyn/blogger_v3.blogUserInfos.html
new file mode 100644
index 0000000..155f184
--- /dev/null
+++ b/docs/dyn/blogger_v3.blogUserInfos.html
@@ -0,0 +1,202 @@
+<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": { # The Blog resource.
+      "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.
+          {
+            "status": "A String", # Status of the post. Only set for admin-level requests
+            "content": "A String", # The content of the Post. May contain HTML markup.
+            "kind": "blogger#post", # The kind of this entity. Always blogger#post
+            "titleLink": "A String", # The title link URL, similar to atom's related link.
+            "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.
+                {
+                  "status": "A String", # The status of the comment (only populated for admin users)
+                  "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.
+            "images": [ # Display image for the Post.
+              {
+                "url": "A String",
+              },
+            ],
+            "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", # The kind of this entity. Always blogger#blogUserInfo
+    "blog_user_info": { # Information about a User for the Blog.
+      "hasAdminAccess": True or False, # True if the user has Admin level access to the blog.
+      "kind": "blogger#blogPerUserInfo", # The kind of this entity. Always blogger#blogPerUserInfo
+      "userId": "A String", # ID of the User
+      "role": "A String", # Access permissions that the user has for the blog (ADMIN, AUTHOR, or READER).
+      "photosAlbumKey": "A String", # The Photo Album Key for the user when adding photos to the blog
+      "blogId": "A String", # ID of the Blog resource
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.blogs.html b/docs/dyn/blogger_v3.blogs.html
new file mode 100644
index 0000000..f53f6c1
--- /dev/null
+++ b/docs/dyn/blogger_v3.blogs.html
@@ -0,0 +1,547 @@
+<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.blogs.html">blogs</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(blogId, maxPosts=None, view=None)</a></code></p>
+<p class="firstline">Gets one blog by id.</p>
+<p class="toc_element">
+  <code><a href="#getByUrl">getByUrl(url, view=None)</a></code></p>
+<p class="firstline">Retrieve a Blog by URL.</p>
+<p class="toc_element">
+  <code><a href="#listByUser">listByUser(userId, fetchUserInfo=None, role=None, view=None)</a></code></p>
+<p class="firstline">Retrieves a list of blogs, possibly filtered.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(blogId, maxPosts=None, view=None)</code>
+  <pre>Gets one blog by id.
+
+Args:
+  blogId: string, The ID of the blog to get. (required)
+  maxPosts: integer, Maximum number of posts to pull back with the blog.
+  view: string, Access level with which to view the blogs. Note that some fields require elevated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "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.
+        {
+          "status": "A String", # Status of the post. Only set for admin-level requests
+          "content": "A String", # The content of the Post. May contain HTML markup.
+          "kind": "blogger#post", # The kind of this entity. Always blogger#post
+          "titleLink": "A String", # The title link URL, similar to atom's related link.
+          "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.
+              {
+                "status": "A String", # The status of the comment (only populated for admin users)
+                "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.
+          "images": [ # Display image for the Post.
+            {
+              "url": "A String",
+            },
+          ],
+          "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getByUrl">getByUrl(url, view=None)</code>
+  <pre>Retrieve a Blog by URL.
+
+Args:
+  url: string, The URL of the blog to retrieve. (required)
+  view: string, Access level with which to view the blogs. Note that some fields require elevated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "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.
+        {
+          "status": "A String", # Status of the post. Only set for admin-level requests
+          "content": "A String", # The content of the Post. May contain HTML markup.
+          "kind": "blogger#post", # The kind of this entity. Always blogger#post
+          "titleLink": "A String", # The title link URL, similar to atom's related link.
+          "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.
+              {
+                "status": "A String", # The status of the comment (only populated for admin users)
+                "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.
+          "images": [ # Display image for the Post.
+            {
+              "url": "A String",
+            },
+          ],
+          "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listByUser">listByUser(userId, fetchUserInfo=None, role=None, view=None)</code>
+  <pre>Retrieves a list of blogs, possibly filtered.
+
+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)
+  fetchUserInfo: boolean, Whether the response is a list of blogs with per-user information instead of just blogs.
+  role: string, User access types for blogs to include in the results, e.g. AUTHOR will return blogs where the user has author level access. If no roles are specified, defaults to ADMIN and AUTHOR roles. (repeated)
+    Allowed values
+      ADMIN - Admin role - User has Admin level access.
+      AUTHOR - Author role - User has Author level access.
+      READER - Reader role - User has Reader level access.
+  view: string, Access level with which to view the blogs. Note that some fields require elevated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The list of Blogs this user has Authorship or Admin rights over.
+      {
+        "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.
+            {
+              "status": "A String", # Status of the post. Only set for admin-level requests
+              "content": "A String", # The content of the Post. May contain HTML markup.
+              "kind": "blogger#post", # The kind of this entity. Always blogger#post
+              "titleLink": "A String", # The title link URL, similar to atom's related link.
+              "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.
+                  {
+                    "status": "A String", # The status of the comment (only populated for admin users)
+                    "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.
+              "images": [ # Display image for the Post.
+                {
+                  "url": "A String",
+                },
+              ],
+              "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#blogList", # The kind of this entity. Always blogger#blogList
+    "blogUserInfos": [ # Admin level list of blog per-user information
+      {
+        "blog": { # The Blog resource.
+          "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.
+              {
+                "status": "A String", # Status of the post. Only set for admin-level requests
+                "content": "A String", # The content of the Post. May contain HTML markup.
+                "kind": "blogger#post", # The kind of this entity. Always blogger#post
+                "titleLink": "A String", # The title link URL, similar to atom's related link.
+                "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.
+                    {
+                      "status": "A String", # The status of the comment (only populated for admin users)
+                      "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.
+                "images": [ # Display image for the Post.
+                  {
+                    "url": "A String",
+                  },
+                ],
+                "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", # The kind of this entity. Always blogger#blogUserInfo
+        "blog_user_info": { # Information about a User for the Blog.
+          "hasAdminAccess": True or False, # True if the user has Admin level access to the blog.
+          "kind": "blogger#blogPerUserInfo", # The kind of this entity. Always blogger#blogPerUserInfo
+          "userId": "A String", # ID of the User
+          "role": "A String", # Access permissions that the user has for the blog (ADMIN, AUTHOR, or READER).
+          "photosAlbumKey": "A String", # The Photo Album Key for the user when adding photos to the blog
+          "blogId": "A String", # ID of the Blog resource
+        },
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.comments.html b/docs/dyn/blogger_v3.comments.html
new file mode 100644
index 0000000..3d9608f
--- /dev/null
+++ b/docs/dyn/blogger_v3.comments.html
@@ -0,0 +1,421 @@
+<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.comments.html">comments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#approve">approve(blogId, postId, commentId)</a></code></p>
+<p class="firstline">Marks a comment as not spam.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(blogId, postId, commentId)</a></code></p>
+<p class="firstline">Delete a comment by id.</p>
+<p class="toc_element">
+  <code><a href="#get">get(blogId, postId, commentId, view=None)</a></code></p>
+<p class="firstline">Gets one comment by id.</p>
+<p class="toc_element">
+  <code><a href="#list">list(blogId, postId, status=None, startDate=None, fetchBodies=None, endDate=None, pageToken=None, maxResults=None, view=None)</a></code></p>
+<p class="firstline">Retrieves the comments for a post, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#listByBlog">listByBlog(blogId, startDate=None, endDate=None, pageToken=None, maxResults=None, fetchBodies=None)</a></code></p>
+<p class="firstline">Retrieves the comments for a blog, across all posts, possibly filtered.</p>
+<p class="toc_element">
+  <code><a href="#listByBlog_next">listByBlog_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="#markAsSpam">markAsSpam(blogId, postId, commentId)</a></code></p>
+<p class="firstline">Marks a comment as spam.</p>
+<p class="toc_element">
+  <code><a href="#removeContent">removeContent(blogId, postId, commentId)</a></code></p>
+<p class="firstline">Removes the content of a comment.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="approve">approve(blogId, postId, commentId)</code>
+  <pre>Marks a comment as not spam.
+
+Args:
+  blogId: string, The Id of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+  commentId: string, The ID of the comment to mark as not spam. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # The status of the comment (only populated for admin users)
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(blogId, postId, commentId)</code>
+  <pre>Delete a comment by id.
+
+Args:
+  blogId: string, The Id of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+  commentId: string, The ID of the comment to delete. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(blogId, postId, commentId, view=None)</code>
+  <pre>Gets one comment by id.
+
+Args:
+  blogId: string, ID of the blog to containing the comment. (required)
+  postId: string, ID of the post to fetch posts from. (required)
+  commentId: string, The ID of the comment to get. (required)
+  view: string, Access level for the requested comment (default: READER). Note that some comments will require elevated permissions, for example comments where the parent posts which is in a draft state, or comments that are pending moderation.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Admin level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # The status of the comment (only populated for admin users)
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(blogId, postId, status=None, startDate=None, fetchBodies=None, endDate=None, pageToken=None, maxResults=None, view=None)</code>
+  <pre>Retrieves the comments for a post, possibly filtered.
+
+Args:
+  blogId: string, ID of the blog to fetch comments from. (required)
+  postId: string, ID of the post to fetch posts from. (required)
+  status: string, A parameter (repeated)
+    Allowed values
+      emptied - Comments that have had their content removed
+      live - Comments that are publicly visible
+      pending - Comments that are awaiting administrator approval
+      spam - Comments marked as spam by the administrator
+  startDate: string, Earliest date of comment to fetch, a date-time with RFC 3339 formatting.
+  fetchBodies: boolean, Whether the body content of the comments is included.
+  endDate: string, Latest date of comment to fetch, a date-time with RFC 3339 formatting.
+  pageToken: string, Continuation token if request is paged.
+  maxResults: integer, Maximum number of comments to include in the result.
+  view: string, Access level with which to view the returned result. Note that some fields require elevated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
+    "items": [ # The List of Comments for a Post.
+      {
+        "status": "A String", # The status of the comment (only populated for admin users)
+        "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.
+      },
+    ],
+    "kind": "blogger#commentList", # The kind of this entry. Always blogger#commentList
+    "prevPageToken": "A String", # Pagination token to fetch the previous page, if one exists.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listByBlog">listByBlog(blogId, startDate=None, endDate=None, pageToken=None, maxResults=None, fetchBodies=None)</code>
+  <pre>Retrieves the comments for a blog, across all posts, possibly filtered.
+
+Args:
+  blogId: string, ID of the blog to fetch comments from. (required)
+  startDate: string, Earliest date of comment to fetch, a date-time with RFC 3339 formatting.
+  endDate: string, Latest date of comment to fetch, a date-time with RFC 3339 formatting.
+  pageToken: string, Continuation token if request is paged.
+  maxResults: integer, Maximum number of comments to include in the result.
+  fetchBodies: boolean, Whether the body content of the comments is included.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
+    "items": [ # The List of Comments for a Post.
+      {
+        "status": "A String", # The status of the comment (only populated for admin users)
+        "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.
+      },
+    ],
+    "kind": "blogger#commentList", # The kind of this entry. Always blogger#commentList
+    "prevPageToken": "A String", # Pagination token to fetch the previous page, if one exists.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listByBlog_next">listByBlog_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="markAsSpam">markAsSpam(blogId, postId, commentId)</code>
+  <pre>Marks a comment as spam.
+
+Args:
+  blogId: string, The Id of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+  commentId: string, The ID of the comment to mark as spam. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # The status of the comment (only populated for admin users)
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="removeContent">removeContent(blogId, postId, commentId)</code>
+  <pre>Removes the content of a comment.
+
+Args:
+  blogId: string, The Id of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+  commentId: string, The ID of the comment to delete content from. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # The status of the comment (only populated for admin users)
+    "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.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.html b/docs/dyn/blogger_v3.html
new file mode 100644
index 0000000..2715ffa
--- /dev/null
+++ b/docs/dyn/blogger_v3.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="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>
+
+<p class="toc_element">
+  <code><a href="blogger_v3.comments.html">comments()</a></code>
+</p>
+<p class="firstline">Returns the comments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="blogger_v3.pageViews.html">pageViews()</a></code>
+</p>
+<p class="firstline">Returns the pageViews Resource.</p>
+
+<p class="toc_element">
+  <code><a href="blogger_v3.pages.html">pages()</a></code>
+</p>
+<p class="firstline">Returns the pages Resource.</p>
+
+<p class="toc_element">
+  <code><a href="blogger_v3.postUserInfos.html">postUserInfos()</a></code>
+</p>
+<p class="firstline">Returns the postUserInfos Resource.</p>
+
+<p class="toc_element">
+  <code><a href="blogger_v3.posts.html">posts()</a></code>
+</p>
+<p class="firstline">Returns the posts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="blogger_v3.users.html">users()</a></code>
+</p>
+<p class="firstline">Returns the users Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.pageViews.html b/docs/dyn/blogger_v3.pageViews.html
new file mode 100644
index 0000000..f9ce56a
--- /dev/null
+++ b/docs/dyn/blogger_v3.pageViews.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="blogger_v3.html">Blogger API</a> . <a href="blogger_v3.pageViews.html">pageViews</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(blogId, range=None)</a></code></p>
+<p class="firstline">Retrieve pageview stats for a Blog.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(blogId, range=None)</code>
+  <pre>Retrieve pageview stats for a Blog.
+
+Args:
+  blogId: string, The ID of the blog to get. (required)
+  range: string, A parameter (repeated)
+    Allowed values
+      30DAYS - Page view counts from the last thirty days.
+      7DAYS - Page view counts from the last seven days.
+      all - Total page view counts from all time.
+
+Returns:
+  An object of the form:
+
+    {
+    "counts": [ # The container of posts in this blog.
+      {
+        "count": "A String", # Count of page views for the given time range
+        "timeRange": "A String", # Time range the given count applies to
+      },
+    ],
+    "blogId": "A String", # Blog Id
+    "kind": "blogger#page_views", # The kind of this entry. Always blogger#page_views
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.pages.html b/docs/dyn/blogger_v3.pages.html
new file mode 100644
index 0000000..b14ffdc
--- /dev/null
+++ b/docs/dyn/blogger_v3.pages.html
@@ -0,0 +1,377 @@
+<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.pages.html">pages</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(blogId, pageId)</a></code></p>
+<p class="firstline">Delete a page by id.</p>
+<p class="toc_element">
+  <code><a href="#get">get(blogId, pageId, view=None)</a></code></p>
+<p class="firstline">Gets one blog page by id.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(blogId, body)</a></code></p>
+<p class="firstline">Add a page.</p>
+<p class="toc_element">
+  <code><a href="#list">list(blogId, status=None, fetchBodies=None, view=None)</a></code></p>
+<p class="firstline">Retrieves the pages for a blog, optionally including non-LIVE statuses.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(blogId, pageId, body)</a></code></p>
+<p class="firstline">Update a page. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(blogId, pageId, body)</a></code></p>
+<p class="firstline">Update a page.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(blogId, pageId)</code>
+  <pre>Delete a page by id.
+
+Args:
+  blogId: string, The Id of the Blog. (required)
+  pageId: string, The ID of the Page. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(blogId, pageId, view=None)</code>
+  <pre>Gets one blog page by id.
+
+Args:
+  blogId: string, ID of the blog containing the page. (required)
+  pageId: string, The ID of the page to get. (required)
+  view: string, A parameter
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
+      "content": "A String", # The body content of this Page, in HTML.
+      "kind": "blogger#page", # The kind of this entity. Always blogger#page
+      "author": { # The author of this Page.
+        "url": "A String", # The URL of the Page creator's Profile page.
+        "image": { # The page author's avatar.
+          "url": "A String", # The page author's avatar URL.
+        },
+        "displayName": "A String", # The display name.
+        "id": "A String", # The identifier of the Page creator.
+      },
+      "url": "A String", # The URL that this Page is displayed at.
+      "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
+      "updated": "A String", # RFC 3339 date-time when this Page was last updated.
+      "blog": { # Data about the blog containing this Page.
+        "id": "A String", # The identifier of the blog containing this page.
+      },
+      "published": "A String", # RFC 3339 date-time when this Page was published.
+      "id": "A String", # The identifier for this resource.
+      "selfLink": "A String", # The API REST URL to fetch this resource from.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(blogId, body)</code>
+  <pre>Add a page.
+
+Args:
+  blogId: string, ID of the blog to add the page to. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
+    "content": "A String", # The body content of this Page, in HTML.
+    "kind": "blogger#page", # The kind of this entity. Always blogger#page
+    "author": { # The author of this Page.
+      "url": "A String", # The URL of the Page creator's Profile page.
+      "image": { # The page author's avatar.
+        "url": "A String", # The page author's avatar URL.
+      },
+      "displayName": "A String", # The display name.
+      "id": "A String", # The identifier of the Page creator.
+    },
+    "url": "A String", # The URL that this Page is displayed at.
+    "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
+    "updated": "A String", # RFC 3339 date-time when this Page was last updated.
+    "blog": { # Data about the blog containing this Page.
+      "id": "A String", # The identifier of the blog containing this page.
+    },
+    "published": "A String", # RFC 3339 date-time when this Page was published.
+    "id": "A String", # The identifier for this resource.
+    "selfLink": "A String", # The API REST URL to fetch this resource from.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
+      "content": "A String", # The body content of this Page, in HTML.
+      "kind": "blogger#page", # The kind of this entity. Always blogger#page
+      "author": { # The author of this Page.
+        "url": "A String", # The URL of the Page creator's Profile page.
+        "image": { # The page author's avatar.
+          "url": "A String", # The page author's avatar URL.
+        },
+        "displayName": "A String", # The display name.
+        "id": "A String", # The identifier of the Page creator.
+      },
+      "url": "A String", # The URL that this Page is displayed at.
+      "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
+      "updated": "A String", # RFC 3339 date-time when this Page was last updated.
+      "blog": { # Data about the blog containing this Page.
+        "id": "A String", # The identifier of the blog containing this page.
+      },
+      "published": "A String", # RFC 3339 date-time when this Page was published.
+      "id": "A String", # The identifier for this resource.
+      "selfLink": "A String", # The API REST URL to fetch this resource from.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(blogId, status=None, fetchBodies=None, view=None)</code>
+  <pre>Retrieves the pages for a blog, optionally including non-LIVE statuses.
+
+Args:
+  blogId: string, ID of the blog to fetch pages from. (required)
+  status: string, A parameter (repeated)
+    Allowed values
+      draft - Draft (unpublished) Pages
+      live - Pages that are publicly visible
+  fetchBodies: boolean, Whether to retrieve the Page bodies.
+  view: string, Access level with which to view the returned result. Note that some fields require elevated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The list of Pages for a Blog.
+      {
+          "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
+          "content": "A String", # The body content of this Page, in HTML.
+          "kind": "blogger#page", # The kind of this entity. Always blogger#page
+          "author": { # The author of this Page.
+            "url": "A String", # The URL of the Page creator's Profile page.
+            "image": { # The page author's avatar.
+              "url": "A String", # The page author's avatar URL.
+            },
+            "displayName": "A String", # The display name.
+            "id": "A String", # The identifier of the Page creator.
+          },
+          "url": "A String", # The URL that this Page is displayed at.
+          "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
+          "updated": "A String", # RFC 3339 date-time when this Page was last updated.
+          "blog": { # Data about the blog containing this Page.
+            "id": "A String", # The identifier of the blog containing this page.
+          },
+          "published": "A String", # RFC 3339 date-time when this Page was published.
+          "id": "A String", # The identifier for this resource.
+          "selfLink": "A String", # The API REST URL to fetch this resource from.
+        },
+    ],
+    "kind": "blogger#pageList", # The kind of this entity. Always blogger#pageList
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(blogId, pageId, body)</code>
+  <pre>Update a page. This method supports patch semantics.
+
+Args:
+  blogId: string, The ID of the Blog. (required)
+  pageId: string, The ID of the Page. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
+    "content": "A String", # The body content of this Page, in HTML.
+    "kind": "blogger#page", # The kind of this entity. Always blogger#page
+    "author": { # The author of this Page.
+      "url": "A String", # The URL of the Page creator's Profile page.
+      "image": { # The page author's avatar.
+        "url": "A String", # The page author's avatar URL.
+      },
+      "displayName": "A String", # The display name.
+      "id": "A String", # The identifier of the Page creator.
+    },
+    "url": "A String", # The URL that this Page is displayed at.
+    "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
+    "updated": "A String", # RFC 3339 date-time when this Page was last updated.
+    "blog": { # Data about the blog containing this Page.
+      "id": "A String", # The identifier of the blog containing this page.
+    },
+    "published": "A String", # RFC 3339 date-time when this Page was published.
+    "id": "A String", # The identifier for this resource.
+    "selfLink": "A String", # The API REST URL to fetch this resource from.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
+      "content": "A String", # The body content of this Page, in HTML.
+      "kind": "blogger#page", # The kind of this entity. Always blogger#page
+      "author": { # The author of this Page.
+        "url": "A String", # The URL of the Page creator's Profile page.
+        "image": { # The page author's avatar.
+          "url": "A String", # The page author's avatar URL.
+        },
+        "displayName": "A String", # The display name.
+        "id": "A String", # The identifier of the Page creator.
+      },
+      "url": "A String", # The URL that this Page is displayed at.
+      "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
+      "updated": "A String", # RFC 3339 date-time when this Page was last updated.
+      "blog": { # Data about the blog containing this Page.
+        "id": "A String", # The identifier of the blog containing this page.
+      },
+      "published": "A String", # RFC 3339 date-time when this Page was published.
+      "id": "A String", # The identifier for this resource.
+      "selfLink": "A String", # The API REST URL to fetch this resource from.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(blogId, pageId, body)</code>
+  <pre>Update a page.
+
+Args:
+  blogId: string, The ID of the Blog. (required)
+  pageId: string, The ID of the Page. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
+    "content": "A String", # The body content of this Page, in HTML.
+    "kind": "blogger#page", # The kind of this entity. Always blogger#page
+    "author": { # The author of this Page.
+      "url": "A String", # The URL of the Page creator's Profile page.
+      "image": { # The page author's avatar.
+        "url": "A String", # The page author's avatar URL.
+      },
+      "displayName": "A String", # The display name.
+      "id": "A String", # The identifier of the Page creator.
+    },
+    "url": "A String", # The URL that this Page is displayed at.
+    "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
+    "updated": "A String", # RFC 3339 date-time when this Page was last updated.
+    "blog": { # Data about the blog containing this Page.
+      "id": "A String", # The identifier of the blog containing this page.
+    },
+    "published": "A String", # RFC 3339 date-time when this Page was published.
+    "id": "A String", # The identifier for this resource.
+    "selfLink": "A String", # The API REST URL to fetch this resource from.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT).
+      "content": "A String", # The body content of this Page, in HTML.
+      "kind": "blogger#page", # The kind of this entity. Always blogger#page
+      "author": { # The author of this Page.
+        "url": "A String", # The URL of the Page creator's Profile page.
+        "image": { # The page author's avatar.
+          "url": "A String", # The page author's avatar URL.
+        },
+        "displayName": "A String", # The display name.
+        "id": "A String", # The identifier of the Page creator.
+      },
+      "url": "A String", # The URL that this Page is displayed at.
+      "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface.
+      "updated": "A String", # RFC 3339 date-time when this Page was last updated.
+      "blog": { # Data about the blog containing this Page.
+        "id": "A String", # The identifier of the blog containing this page.
+      },
+      "published": "A String", # RFC 3339 date-time when this Page was published.
+      "id": "A String", # The identifier for this resource.
+      "selfLink": "A String", # The API REST URL to fetch this resource from.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.postUserInfos.html b/docs/dyn/blogger_v3.postUserInfos.html
new file mode 100644
index 0000000..7b1d986
--- /dev/null
+++ b/docs/dyn/blogger_v3.postUserInfos.html
@@ -0,0 +1,315 @@
+<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.postUserInfos.html">postUserInfos</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(userId, blogId, postId, maxComments=None)</a></code></p>
+<p class="firstline">Gets one post and user info pair, by post id and user id. The post user info contains per-user information about the post, such as access rights, specific to the user.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, blogId, orderBy=None, startDate=None, endDate=None, labels=None, pageToken=None, status=None, maxResults=None, fetchBodies=None, view=None)</a></code></p>
+<p class="firstline">Retrieves a list of post and post user info pairs, possibly filtered. The post user info contains per-user information about the post, such as access rights, specific to the 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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(userId, blogId, postId, maxComments=None)</code>
+  <pre>Gets one post and user info pair, by post id and user id. The post user info contains per-user information about the post, such as access rights, specific to the user.
+
+Args:
+  userId: string, ID of the user for the per-user information to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. (required)
+  blogId: string, The ID of the blog. (required)
+  postId: string, The ID of the post to get. (required)
+  maxComments: integer, Maximum number of comments to pull back on a post.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "blogger#postUserInfo", # The kind of this entity. Always blogger#postUserInfo
+    "post": { # The Post resource.
+      "status": "A String", # Status of the post. Only set for admin-level requests
+      "content": "A String", # The content of the Post. May contain HTML markup.
+      "kind": "blogger#post", # The kind of this entity. Always blogger#post
+      "titleLink": "A String", # The title link URL, similar to atom's related link.
+      "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.
+          {
+            "status": "A String", # The status of the comment (only populated for admin users)
+            "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.
+      "images": [ # Display image for the Post.
+        {
+          "url": "A String",
+        },
+      ],
+      "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.
+    },
+    "post_user_info": { # Information about a User for the Post.
+      "kind": "blogger#postPerUserInfo", # The kind of this entity. Always blogger#postPerUserInfo
+      "postId": "A String", # ID of the Post resource.
+      "userId": "A String", # ID of the User.
+      "blogId": "A String", # ID of the Blog that the post resource belongs to.
+      "hasEditAccess": True or False, # True if the user has Author level access to the post.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, blogId, orderBy=None, startDate=None, endDate=None, labels=None, pageToken=None, status=None, maxResults=None, fetchBodies=None, view=None)</code>
+  <pre>Retrieves a list of post and post user info pairs, possibly filtered. The post user info contains per-user information about the post, such as access rights, specific to the user.
+
+Args:
+  userId: string, ID of the user for the per-user information to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. (required)
+  blogId: string, ID of the blog to fetch posts from. (required)
+  orderBy: string, Sort order applied to search results. Default is published.
+    Allowed values
+      published - Order by the date the post was published
+      updated - Order by the date the post was last updated
+  startDate: string, Earliest post date to fetch, a date-time with RFC 3339 formatting.
+  endDate: string, Latest post date to fetch, a date-time with RFC 3339 formatting.
+  labels: string, Comma-separated list of labels to search for.
+  pageToken: string, Continuation token if the request is paged.
+  status: string, A parameter (repeated)
+    Allowed values
+      draft - Draft posts
+      live - Published posts
+      scheduled - Posts that are scheduled to publish in future.
+  maxResults: integer, Maximum number of posts to fetch.
+  fetchBodies: boolean, Whether the body content of posts is included. Default is false.
+  view: string, Access level with which to view the returned result. Note that some fields require elevated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
+    "items": [ # The list of Posts with User information for the post, for this Blog.
+      {
+        "kind": "blogger#postUserInfo", # The kind of this entity. Always blogger#postUserInfo
+        "post": { # The Post resource.
+          "status": "A String", # Status of the post. Only set for admin-level requests
+          "content": "A String", # The content of the Post. May contain HTML markup.
+          "kind": "blogger#post", # The kind of this entity. Always blogger#post
+          "titleLink": "A String", # The title link URL, similar to atom's related link.
+          "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.
+              {
+                "status": "A String", # The status of the comment (only populated for admin users)
+                "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.
+          "images": [ # Display image for the Post.
+            {
+              "url": "A String",
+            },
+          ],
+          "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.
+        },
+        "post_user_info": { # Information about a User for the Post.
+          "kind": "blogger#postPerUserInfo", # The kind of this entity. Always blogger#postPerUserInfo
+          "postId": "A String", # ID of the Post resource.
+          "userId": "A String", # ID of the User.
+          "blogId": "A String", # ID of the Blog that the post resource belongs to.
+          "hasEditAccess": True or False, # True if the user has Author level access to the post.
+        },
+      },
+    ],
+    "kind": "blogger#postUserInfosList", # The kind of this entity. Always blogger#postList
+  }</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/blogger_v3.posts.html b/docs/dyn/blogger_v3.posts.html
new file mode 100644
index 0000000..d4ffe1c
--- /dev/null
+++ b/docs/dyn/blogger_v3.posts.html
@@ -0,0 +1,1168 @@
+<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.posts.html">posts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(blogId, postId)</a></code></p>
+<p class="firstline">Delete a post by id.</p>
+<p class="toc_element">
+  <code><a href="#get">get(blogId, postId, maxComments=None, fetchImages=None, fetchBody=None, view=None)</a></code></p>
+<p class="firstline">Get a post by id.</p>
+<p class="toc_element">
+  <code><a href="#getByPath">getByPath(blogId, path, maxComments=None, view=None)</a></code></p>
+<p class="firstline">Retrieve a Post by Path.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(blogId, body, isDraft=None, fetchImages=None, fetchBody=None)</a></code></p>
+<p class="firstline">Add a post.</p>
+<p class="toc_element">
+  <code><a href="#list">list(blogId, orderBy=None, startDate=None, endDate=None, labels=None, pageToken=None, status=None, maxResults=None, fetchBodies=None, fetchImages=None, view=None)</a></code></p>
+<p class="firstline">Retrieves a list of posts, possibly filtered.</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(blogId, postId, body, maxComments=None, revert=None, publish=None, fetchImages=None, fetchBody=None)</a></code></p>
+<p class="firstline">Update a post. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#publish">publish(blogId, postId, publishDate=None)</a></code></p>
+<p class="firstline">Publish a draft post.</p>
+<p class="toc_element">
+  <code><a href="#revert">revert(blogId, postId)</a></code></p>
+<p class="firstline">Revert a published or scheduled post to draft state.</p>
+<p class="toc_element">
+  <code><a href="#search">search(blogId, q, orderBy=None, fetchBodies=None)</a></code></p>
+<p class="firstline">Search for a post.</p>
+<p class="toc_element">
+  <code><a href="#update">update(blogId, postId, body, maxComments=None, revert=None, publish=None, fetchImages=None, fetchBody=None)</a></code></p>
+<p class="firstline">Update a post.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(blogId, postId)</code>
+  <pre>Delete a post by id.
+
+Args:
+  blogId: string, The Id of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(blogId, postId, maxComments=None, fetchImages=None, fetchBody=None, view=None)</code>
+  <pre>Get a post by id.
+
+Args:
+  blogId: string, ID of the blog to fetch the post from. (required)
+  postId: string, The ID of the post (required)
+  maxComments: integer, Maximum number of comments to pull back on a post.
+  fetchImages: boolean, Whether image URL metadata for each post is included (default: false).
+  fetchBody: boolean, Whether the body content of the post is included (default: true). This should be set to false when the post bodies are not required, to help minimize traffic.
+  view: string, Access level with which to view the returned result. Note that some fields require elevated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the post. Only set for admin-level requests
+    "content": "A String", # The content of the Post. May contain HTML markup.
+    "kind": "blogger#post", # The kind of this entity. Always blogger#post
+    "titleLink": "A String", # The title link URL, similar to atom's related link.
+    "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.
+        {
+          "status": "A String", # The status of the comment (only populated for admin users)
+          "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.
+    "images": [ # Display image for the Post.
+      {
+        "url": "A String",
+      },
+    ],
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getByPath">getByPath(blogId, path, maxComments=None, view=None)</code>
+  <pre>Retrieve a Post by Path.
+
+Args:
+  blogId: string, ID of the blog to fetch the post from. (required)
+  path: string, Path of the Post to retrieve. (required)
+  maxComments: integer, Maximum number of comments to pull back on a post.
+  view: string, Access level with which to view the returned result. Note that some fields require elevated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the post. Only set for admin-level requests
+    "content": "A String", # The content of the Post. May contain HTML markup.
+    "kind": "blogger#post", # The kind of this entity. Always blogger#post
+    "titleLink": "A String", # The title link URL, similar to atom's related link.
+    "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.
+        {
+          "status": "A String", # The status of the comment (only populated for admin users)
+          "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.
+    "images": [ # Display image for the Post.
+      {
+        "url": "A String",
+      },
+    ],
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(blogId, body, isDraft=None, fetchImages=None, fetchBody=None)</code>
+  <pre>Add a post.
+
+Args:
+  blogId: string, ID of the blog to add the post to. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "status": "A String", # Status of the post. Only set for admin-level requests
+  "content": "A String", # The content of the Post. May contain HTML markup.
+  "kind": "blogger#post", # The kind of this entity. Always blogger#post
+  "titleLink": "A String", # The title link URL, similar to atom's related link.
+  "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.
+      {
+        "status": "A String", # The status of the comment (only populated for admin users)
+        "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.
+  "images": [ # Display image for the Post.
+    {
+      "url": "A String",
+    },
+  ],
+  "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.
+}
+
+  isDraft: boolean, Whether to create the post as a draft (default: false).
+  fetchImages: boolean, Whether image URL metadata for each post is included in the returned result (default: false).
+  fetchBody: boolean, Whether the body content of the post is included with the result (default: true).
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the post. Only set for admin-level requests
+    "content": "A String", # The content of the Post. May contain HTML markup.
+    "kind": "blogger#post", # The kind of this entity. Always blogger#post
+    "titleLink": "A String", # The title link URL, similar to atom's related link.
+    "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.
+        {
+          "status": "A String", # The status of the comment (only populated for admin users)
+          "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.
+    "images": [ # Display image for the Post.
+      {
+        "url": "A String",
+      },
+    ],
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(blogId, orderBy=None, startDate=None, endDate=None, labels=None, pageToken=None, status=None, maxResults=None, fetchBodies=None, fetchImages=None, view=None)</code>
+  <pre>Retrieves a list of posts, possibly filtered.
+
+Args:
+  blogId: string, ID of the blog to fetch posts from. (required)
+  orderBy: string, Sort search results
+    Allowed values
+      published - Order by the date the post was published
+      updated - Order by the date the post was last updated
+  startDate: string, Earliest post date to fetch, a date-time with RFC 3339 formatting.
+  endDate: string, Latest post date to fetch, a date-time with RFC 3339 formatting.
+  labels: string, Comma-separated list of labels to search for.
+  pageToken: string, Continuation token if the request is paged.
+  status: string, Statuses to include in the results. (repeated)
+    Allowed values
+      draft - Draft (non-published) posts.
+      live - Published posts
+      scheduled - Posts that are scheduled to publish in the future.
+  maxResults: integer, Maximum number of posts to fetch.
+  fetchBodies: boolean, Whether the body content of posts is included (default: true). This should be set to false when the post bodies are not required, to help minimize traffic.
+  fetchImages: boolean, Whether image URL metadata for each post is included.
+  view: string, Access level with which to view the returned result. Note that some fields require escalated access.
+    Allowed values
+      ADMIN - Admin level detail
+      AUTHOR - Author level detail
+      READER - Reader level detail
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
+    "items": [ # The list of Posts for this Blog.
+      {
+        "status": "A String", # Status of the post. Only set for admin-level requests
+        "content": "A String", # The content of the Post. May contain HTML markup.
+        "kind": "blogger#post", # The kind of this entity. Always blogger#post
+        "titleLink": "A String", # The title link URL, similar to atom's related link.
+        "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.
+            {
+              "status": "A String", # The status of the comment (only populated for admin users)
+              "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.
+        "images": [ # Display image for the Post.
+          {
+            "url": "A String",
+          },
+        ],
+        "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.
+      },
+    ],
+    "kind": "blogger#postList", # The kind of this entity. Always blogger#postList
+  }</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(blogId, postId, body, maxComments=None, revert=None, publish=None, fetchImages=None, fetchBody=None)</code>
+  <pre>Update a post. This method supports patch semantics.
+
+Args:
+  blogId: string, The ID of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "status": "A String", # Status of the post. Only set for admin-level requests
+  "content": "A String", # The content of the Post. May contain HTML markup.
+  "kind": "blogger#post", # The kind of this entity. Always blogger#post
+  "titleLink": "A String", # The title link URL, similar to atom's related link.
+  "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.
+      {
+        "status": "A String", # The status of the comment (only populated for admin users)
+        "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.
+  "images": [ # Display image for the Post.
+    {
+      "url": "A String",
+    },
+  ],
+  "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.
+}
+
+  maxComments: integer, Maximum number of comments to retrieve with the returned post.
+  revert: boolean, Whether a revert action should be performed when the post is updated (default: false).
+  publish: boolean, Whether a publish action should be performed when the post is updated (default: false).
+  fetchImages: boolean, Whether image URL metadata for each post is included in the returned result (default: false).
+  fetchBody: boolean, Whether the body content of the post is included with the result (default: true).
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the post. Only set for admin-level requests
+    "content": "A String", # The content of the Post. May contain HTML markup.
+    "kind": "blogger#post", # The kind of this entity. Always blogger#post
+    "titleLink": "A String", # The title link URL, similar to atom's related link.
+    "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.
+        {
+          "status": "A String", # The status of the comment (only populated for admin users)
+          "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.
+    "images": [ # Display image for the Post.
+      {
+        "url": "A String",
+      },
+    ],
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="publish">publish(blogId, postId, publishDate=None)</code>
+  <pre>Publish a draft post.
+
+Args:
+  blogId: string, The ID of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+  publishDate: string, The date and time to schedule the publishing of the Blog.
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the post. Only set for admin-level requests
+    "content": "A String", # The content of the Post. May contain HTML markup.
+    "kind": "blogger#post", # The kind of this entity. Always blogger#post
+    "titleLink": "A String", # The title link URL, similar to atom's related link.
+    "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.
+        {
+          "status": "A String", # The status of the comment (only populated for admin users)
+          "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.
+    "images": [ # Display image for the Post.
+      {
+        "url": "A String",
+      },
+    ],
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="revert">revert(blogId, postId)</code>
+  <pre>Revert a published or scheduled post to draft state.
+
+Args:
+  blogId: string, The ID of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the post. Only set for admin-level requests
+    "content": "A String", # The content of the Post. May contain HTML markup.
+    "kind": "blogger#post", # The kind of this entity. Always blogger#post
+    "titleLink": "A String", # The title link URL, similar to atom's related link.
+    "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.
+        {
+          "status": "A String", # The status of the comment (only populated for admin users)
+          "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.
+    "images": [ # Display image for the Post.
+      {
+        "url": "A String",
+      },
+    ],
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(blogId, q, orderBy=None, fetchBodies=None)</code>
+  <pre>Search for a post.
+
+Args:
+  blogId: string, ID of the blog to fetch the post from. (required)
+  q: string, Query terms to search this blog for matching posts. (required)
+  orderBy: string, Sort search results
+    Allowed values
+      published - Order by the date the post was published
+      updated - Order by the date the post was last updated
+  fetchBodies: boolean, Whether the body content of posts is included (default: true). This should be set to false when the post bodies are not required, to help minimize traffic.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Pagination token to fetch the next page, if one exists.
+    "items": [ # The list of Posts for this Blog.
+      {
+        "status": "A String", # Status of the post. Only set for admin-level requests
+        "content": "A String", # The content of the Post. May contain HTML markup.
+        "kind": "blogger#post", # The kind of this entity. Always blogger#post
+        "titleLink": "A String", # The title link URL, similar to atom's related link.
+        "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.
+            {
+              "status": "A String", # The status of the comment (only populated for admin users)
+              "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.
+        "images": [ # Display image for the Post.
+          {
+            "url": "A String",
+          },
+        ],
+        "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.
+      },
+    ],
+    "kind": "blogger#postList", # The kind of this entity. Always blogger#postList
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(blogId, postId, body, maxComments=None, revert=None, publish=None, fetchImages=None, fetchBody=None)</code>
+  <pre>Update a post.
+
+Args:
+  blogId: string, The ID of the Blog. (required)
+  postId: string, The ID of the Post. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "status": "A String", # Status of the post. Only set for admin-level requests
+  "content": "A String", # The content of the Post. May contain HTML markup.
+  "kind": "blogger#post", # The kind of this entity. Always blogger#post
+  "titleLink": "A String", # The title link URL, similar to atom's related link.
+  "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.
+      {
+        "status": "A String", # The status of the comment (only populated for admin users)
+        "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.
+  "images": [ # Display image for the Post.
+    {
+      "url": "A String",
+    },
+  ],
+  "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.
+}
+
+  maxComments: integer, Maximum number of comments to retrieve with the returned post.
+  revert: boolean, Whether a revert action should be performed when the post is updated (default: false).
+  publish: boolean, Whether a publish action should be performed when the post is updated (default: false).
+  fetchImages: boolean, Whether image URL metadata for each post is included in the returned result (default: false).
+  fetchBody: boolean, Whether the body content of the post is included with the result (default: true).
+
+Returns:
+  An object of the form:
+
+    {
+    "status": "A String", # Status of the post. Only set for admin-level requests
+    "content": "A String", # The content of the Post. May contain HTML markup.
+    "kind": "blogger#post", # The kind of this entity. Always blogger#post
+    "titleLink": "A String", # The title link URL, similar to atom's related link.
+    "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.
+        {
+          "status": "A String", # The status of the comment (only populated for admin users)
+          "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.
+    "images": [ # Display image for the Post.
+      {
+        "url": "A String",
+      },
+    ],
+    "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.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/blogger_v3.users.html b/docs/dyn/blogger_v3.users.html
new file mode 100644
index 0000000..87b6f2e
--- /dev/null
+++ b/docs/dyn/blogger_v3.users.html
@@ -0,0 +1,110 @@
+<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.users.html">users</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(userId)</a></code></p>
+<p class="firstline">Gets one user by id.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(userId)</code>
+  <pre>Gets one user by id.
+
+Args:
+  userId: string, The ID of the user to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "about": "A String", # Profile summary information.
+    "displayName": "A String", # The display name.
+    "created": "A String", # The timestamp of when this profile was created, in seconds since epoch.
+    "locale": { # This user's locale
+      "country": "A String", # The user's country setting.
+      "variant": "A String", # The user's language variant setting.
+      "language": "A String", # The user's language setting.
+    },
+    "blogs": { # The container of blogs for this user.
+      "selfLink": "A String", # The URL of the Blogs for this user.
+    },
+    "kind": "blogger#user", # The kind of this entity. Always blogger#user
+    "url": "A String", # The user's profile page.
+    "id": "A String", # The identifier for this User.
+    "selfLink": "A String", # The API REST URL to fetch this resource from.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.bookshelves.html b/docs/dyn/books_v1.bookshelves.html
new file mode 100644
index 0000000..59fb7b6
--- /dev/null
+++ b/docs/dyn/books_v1.bookshelves.html
@@ -0,0 +1,145 @@
+<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.bookshelves.html">bookshelves</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="books_v1.bookshelves.volumes.html">volumes()</a></code>
+</p>
+<p class="firstline">Returns the volumes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(userId, shelf, source=None)</a></code></p>
+<p class="firstline">Retrieves metadata for a specific bookshelf for the specified user.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, source=None)</a></code></p>
+<p class="firstline">Retrieves a list of public bookshelves for the specified user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(userId, shelf, source=None)</code>
+  <pre>Retrieves metadata for a specific bookshelf for the specified user.
+
+Args:
+  userId: string, ID of user for whom to retrieve bookshelves. (required)
+  shelf: string, ID of bookshelf to retrieve. (required)
+  source: string, String to identify the originator of this request.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "books#bookshelf", # Resource type for bookshelf metadata.
+    "description": "A String", # Description of this bookshelf.
+    "created": "A String", # Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
+    "volumeCount": 42, # Number of volumes in this bookshelf.
+    "title": "A String", # Title of this bookshelf.
+    "updated": "A String", # Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
+    "access": "A String", # Whether this bookshelf is PUBLIC or PRIVATE.
+    "volumesLastUpdated": "A String", # Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
+    "id": 42, # Id of this bookshelf, only unique by user.
+    "selfLink": "A String", # URL to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, source=None)</code>
+  <pre>Retrieves a list of public bookshelves for the specified user.
+
+Args:
+  userId: string, ID of user for whom to retrieve bookshelves. (required)
+  source: string, String to identify the originator of this request.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # A list of bookshelves.
+      {
+        "kind": "books#bookshelf", # Resource type for bookshelf metadata.
+        "description": "A String", # Description of this bookshelf.
+        "created": "A String", # Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
+        "volumeCount": 42, # Number of volumes in this bookshelf.
+        "title": "A String", # Title of this bookshelf.
+        "updated": "A String", # Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
+        "access": "A String", # Whether this bookshelf is PUBLIC or PRIVATE.
+        "volumesLastUpdated": "A String", # Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
+        "id": 42, # Id of this bookshelf, only unique by user.
+        "selfLink": "A String", # URL to this resource.
+      },
+    ],
+    "kind": "books#bookshelves", # Resource type.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.bookshelves.volumes.html b/docs/dyn/books_v1.bookshelves.volumes.html
new file mode 100644
index 0000000..1941c1f
--- /dev/null
+++ b/docs/dyn/books_v1.bookshelves.volumes.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.bookshelves.html">bookshelves</a> . <a href="books_v1.bookshelves.volumes.html">volumes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(userId, shelf, source=None, showPreorders=None, maxResults=None, startIndex=None)</a></code></p>
+<p class="firstline">Retrieves volumes in a specific bookshelf for the specified user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(userId, shelf, source=None, showPreorders=None, maxResults=None, startIndex=None)</code>
+  <pre>Retrieves volumes in a specific bookshelf for the specified user.
+
+Args:
+  userId: string, ID of user for whom to retrieve bookshelf volumes. (required)
+  shelf: string, ID of bookshelf to retrieve volumes. (required)
+  source: string, String to identify the originator of this request.
+  showPreorders: boolean, Set to true to show pre-ordered books. Defaults to false.
+  maxResults: integer, Maximum number of results to return
+  startIndex: integer, Index of the first element to return (starts at 0)
+
+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.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "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.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "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.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "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 as per publisher metadata.
+          "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)
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "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.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
new file mode 100644
index 0000000..4adb450
--- /dev/null
+++ b/docs/dyn/books_v1.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="books_v1.html">Books API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="books_v1.bookshelves.html">bookshelves()</a></code>
+</p>
+<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>
+
+<p class="toc_element">
+  <code><a href="books_v1.myconfig.html">myconfig()</a></code>
+</p>
+<p class="firstline">Returns the myconfig Resource.</p>
+
+<p class="toc_element">
+  <code><a href="books_v1.mylibrary.html">mylibrary()</a></code>
+</p>
+<p class="firstline">Returns the mylibrary Resource.</p>
+
+<p class="toc_element">
+  <code><a href="books_v1.volumes.html">volumes()</a></code>
+</p>
+<p class="firstline">Returns the volumes Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.layers.annotationData.html b/docs/dyn/books_v1.layers.annotationData.html
new file mode 100644
index 0000000..12163eb
--- /dev/null
+++ b/docs/dyn/books_v1.layers.annotationData.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="books_v1.html">Books API</a> . <a href="books_v1.layers.html">layers</a> . <a href="books_v1.layers.annotationData.html">annotationData</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(volumeId, layerId, annotationDataId, contentVersion, scale=None, allowWebDefinitions=None, w=None, source=None, h=None, locale=None)</a></code></p>
+<p class="firstline">Gets the annotation data.</p>
+<p class="toc_element">
+  <code><a href="#list">list(volumeId, layerId, contentVersion, locale=None, scale=None, pageToken=None, updatedMin=None, source=None, updatedMax=None, maxResults=None, annotationDataId=None, w=None, h=None)</a></code></p>
+<p class="firstline">Gets the annotation data for a volume and layer.</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(volumeId, layerId, annotationDataId, contentVersion, scale=None, allowWebDefinitions=None, w=None, source=None, h=None, locale=None)</code>
+  <pre>Gets the annotation data.
+
+Args:
+  volumeId: string, The volume to retrieve annotations for. (required)
+  layerId: string, The ID for the layer to get the annotations. (required)
+  annotationDataId: string, The ID of the annotation data to retrieve. (required)
+  contentVersion: string, The content version for the volume you are trying to retrieve. (required)
+  scale: integer, The requested scale for the image.
+  allowWebDefinitions: boolean, For the dictionary layer. Whether or not to allow web definitions.
+  w: integer, The requested pixel width for any images. If width is provided height must also be provided.
+  source: string, String to identify the originator of this request.
+  h: integer, The requested pixel height for any images. If height is provided width must also be provided.
+  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
+
+Returns:
+  An object of the form:
+
+    {
+    "annotationType": "A String", # The type of annotation this data is for.
+    "kind": "books#annotationdata", # Resource Type
+    "updated": "A String", # Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).
+    "volumeId": "A String", # The volume id for this data. *
+    "encoded_data": "A String", # Base64 encoded data for this annotation data.
+    "layerId": "A String", # The Layer id for this data. *
+    "data": "",
+    "id": "A String", # Unique id for this annotation data.
+    "selfLink": "A String", # URL for this resource. *
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(volumeId, layerId, contentVersion, locale=None, scale=None, pageToken=None, updatedMin=None, source=None, updatedMax=None, maxResults=None, annotationDataId=None, w=None, h=None)</code>
+  <pre>Gets the annotation data for a volume and layer.
+
+Args:
+  volumeId: string, The volume to retrieve annotation data for. (required)
+  layerId: string, The ID for the layer to get the annotation data. (required)
+  contentVersion: string, The content version for the requested volume. (required)
+  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
+  scale: integer, The requested scale for the image.
+  pageToken: string, The value of the nextToken from the previous page.
+  updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).
+  source: string, String to identify the originator of this request.
+  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
+  maxResults: integer, Maximum number of results to return
+  annotationDataId: string, The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set. (repeated)
+  w: integer, The requested pixel width for any images. If width is provided height must also be provided.
+  h: integer, The requested pixel height for any images. If height is provided width must also be provided.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
+    "items": [ # A list of Annotation Data.
+      {
+        "annotationType": "A String", # The type of annotation this data is for.
+        "kind": "books#annotationdata", # Resource Type
+        "updated": "A String", # Timestamp for the last time this data was updated. (RFC 3339 UTC date-time format).
+        "volumeId": "A String", # The volume id for this data. *
+        "encoded_data": "A String", # Base64 encoded data for this annotation data.
+        "layerId": "A String", # The Layer id for this data. *
+        "data": "",
+        "id": "A String", # Unique id for this annotation data.
+        "selfLink": "A String", # URL for this resource. *
+      },
+    ],
+    "kind": "books#annotationsdata", # Resource type
+    "totalItems": 42, # The total number of volume annotations found.
+  }</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/books_v1.layers.html b/docs/dyn/books_v1.layers.html
new file mode 100644
index 0000000..df07137
--- /dev/null
+++ b/docs/dyn/books_v1.layers.html
@@ -0,0 +1,165 @@
+<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.layers.html">layers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="books_v1.layers.annotationData.html">annotationData()</a></code>
+</p>
+<p class="firstline">Returns the annotationData Resource.</p>
+
+<p class="toc_element">
+  <code><a href="books_v1.layers.volumeAnnotations.html">volumeAnnotations()</a></code>
+</p>
+<p class="firstline">Returns the volumeAnnotations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(volumeId, summaryId, source=None, contentVersion=None)</a></code></p>
+<p class="firstline">Gets the layer summary for a volume.</p>
+<p class="toc_element">
+  <code><a href="#list">list(volumeId, pageToken=None, maxResults=None, source=None, contentVersion=None)</a></code></p>
+<p class="firstline">List the layer summaries for a volume.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(volumeId, summaryId, source=None, contentVersion=None)</code>
+  <pre>Gets the layer summary for a volume.
+
+Args:
+  volumeId: string, The volume to retrieve layers for. (required)
+  summaryId: string, The ID for the layer to get the summary for. (required)
+  source: string, String to identify the originator of this request.
+  contentVersion: string, The content version for the requested volume.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "books#layersummary", # Resource Type
+    "annotationCount": 42, # The number of annotations for this layer.
+    "dataCount": 42, # The number of data items for this layer.
+    "annotationsLink": "A String", # The link to get the annotations for this layer.
+    "updated": "A String", # Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC date-time format).
+    "volumeId": "A String", # The volume id this resource is for.
+    "id": "A String", # Unique id of this layer summary.
+    "annotationTypes": [ # The list of annotation types contained for this layer.
+      "A String",
+    ],
+    "contentVersion": "A String", # The content version this resource is for.
+    "layerId": "A String", # The layer id for this summary.
+    "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.
+    "annotationsDataLink": "A String", # Link to get data for this annotation.
+    "selfLink": "A String", # URL to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(volumeId, pageToken=None, maxResults=None, source=None, contentVersion=None)</code>
+  <pre>List the layer summaries for a volume.
+
+Args:
+  volumeId: string, The volume to retrieve layers for. (required)
+  pageToken: string, The value of the nextToken from the previous page.
+  maxResults: integer, Maximum number of results to return
+  source: string, String to identify the originator of this request.
+  contentVersion: string, The content version for the requested volume.
+
+Returns:
+  An object of the form:
+
+    {
+    "totalItems": 42, # The total number of layer summaries found.
+    "items": [ # A list of layer summary items.
+      {
+        "kind": "books#layersummary", # Resource Type
+        "annotationCount": 42, # The number of annotations for this layer.
+        "dataCount": 42, # The number of data items for this layer.
+        "annotationsLink": "A String", # The link to get the annotations for this layer.
+        "updated": "A String", # Timestamp for the last time an item in this layer was updated. (RFC 3339 UTC date-time format).
+        "volumeId": "A String", # The volume id this resource is for.
+        "id": "A String", # Unique id of this layer summary.
+        "annotationTypes": [ # The list of annotation types contained for this layer.
+          "A String",
+        ],
+        "contentVersion": "A String", # The content version this resource is for.
+        "layerId": "A String", # The layer id for this summary.
+        "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.
+        "annotationsDataLink": "A String", # Link to get data for this annotation.
+        "selfLink": "A String", # URL to this resource.
+      },
+    ],
+    "kind": "books#layersummaries", # Resource type.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.layers.volumeAnnotations.html b/docs/dyn/books_v1.layers.volumeAnnotations.html
new file mode 100644
index 0000000..72b7e34
--- /dev/null
+++ b/docs/dyn/books_v1.layers.volumeAnnotations.html
@@ -0,0 +1,227 @@
+<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.layers.html">layers</a> . <a href="books_v1.layers.volumeAnnotations.html">volumeAnnotations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(volumeId, layerId, annotationId, source=None, locale=None)</a></code></p>
+<p class="firstline">Gets the volume annotation.</p>
+<p class="toc_element">
+  <code><a href="#list">list(volumeId, layerId, contentVersion, endPosition=None, locale=None, startOffset=None, volumeAnnotationsVersion=None, pageToken=None, updatedMin=None, endOffset=None, showDeleted=None, updatedMax=None, maxResults=None, startPosition=None, source=None)</a></code></p>
+<p class="firstline">Gets the volume annotations for a volume and layer.</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(volumeId, layerId, annotationId, source=None, locale=None)</code>
+  <pre>Gets the volume annotation.
+
+Args:
+  volumeId: string, The volume to retrieve annotations for. (required)
+  layerId: string, The ID for the layer to get the annotations. (required)
+  annotationId: string, The ID of the volume annotation to retrieve. (required)
+  source: string, String to identify the originator of this request.
+  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
+
+Returns:
+  An object of the form:
+
+    {
+    "annotationType": "A String", # The type of annotation this is.
+    "kind": "books#volumeannotation", # Resource Type
+    "updated": "A String", # Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).
+    "deleted": True or False, # Indicates that this annotation is deleted.
+    "contentRanges": { # The content ranges to identify the selected text.
+      "contentVersion": "A String", # Content version applicable to ranges below.
+      "gbTextRange": { # Range in GB text 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.
+      },
+      "cfiRange": { # Range in 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.
+        "startOffset": "A String", # The offset from the starting position.
+        "endOffset": "A String", # The offset from the ending position.
+      },
+    },
+    "selectedText": "A String", # Excerpt from the volume.
+    "volumeId": "A String", # The Volume this annotation is for.
+    "annotationDataId": "A String", # The annotation data id for this volume annotation.
+    "annotationDataLink": "A String", # Link to get data for this annotation.
+    "pageIds": [ # Pages the annotation spans.
+      "A String",
+    ],
+    "layerId": "A String", # The Layer this annotation is for.
+    "data": "A String", # Data for this annotation.
+    "id": "A String", # Unique id of this volume annotation.
+    "selfLink": "A String", # URL to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(volumeId, layerId, contentVersion, endPosition=None, locale=None, startOffset=None, volumeAnnotationsVersion=None, pageToken=None, updatedMin=None, endOffset=None, showDeleted=None, updatedMax=None, maxResults=None, startPosition=None, source=None)</code>
+  <pre>Gets the volume annotations for a volume and layer.
+
+Args:
+  volumeId: string, The volume to retrieve annotations for. (required)
+  layerId: string, The ID for the layer to get the annotations. (required)
+  contentVersion: string, The content version for the requested volume. (required)
+  endPosition: string, The end position to end retrieving data from.
+  locale: string, The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'.
+  startOffset: string, The start offset to start retrieving data from.
+  volumeAnnotationsVersion: string, The version of the volume annotations that you are requesting.
+  pageToken: string, The value of the nextToken from the previous page.
+  updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).
+  endOffset: string, The end offset to end retrieving data from.
+  showDeleted: boolean, Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.
+  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
+  maxResults: integer, Maximum number of results to return
+  startPosition: string, The start position to start retrieving data from.
+  source: string, String to identify the originator of this request.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
+    "items": [ # A list of volume annotations.
+      {
+        "annotationType": "A String", # The type of annotation this is.
+        "kind": "books#volumeannotation", # Resource Type
+        "updated": "A String", # Timestamp for the last time this anntoation was updated. (RFC 3339 UTC date-time format).
+        "deleted": True or False, # Indicates that this annotation is deleted.
+        "contentRanges": { # The content ranges to identify the selected text.
+          "contentVersion": "A String", # Content version applicable to ranges below.
+          "gbTextRange": { # Range in GB text 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.
+          },
+          "cfiRange": { # Range in 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.
+            "startOffset": "A String", # The offset from the starting position.
+            "endOffset": "A String", # The offset from the ending position.
+          },
+        },
+        "selectedText": "A String", # Excerpt from the volume.
+        "volumeId": "A String", # The Volume this annotation is for.
+        "annotationDataId": "A String", # The annotation data id for this volume annotation.
+        "annotationDataLink": "A String", # Link to get data for this annotation.
+        "pageIds": [ # Pages the annotation spans.
+          "A String",
+        ],
+        "layerId": "A String", # The Layer this annotation is for.
+        "data": "A String", # Data for this annotation.
+        "id": "A String", # Unique id of this volume annotation.
+        "selfLink": "A String", # URL to this resource.
+      },
+    ],
+    "kind": "books#volumeannotations", # Resource type
+    "version": "A String", # The version string for all of the volume annotations in this layer (not just the ones in this response). Note: the version string doesn't apply to the annotation data, just the information in this response (e.g. the location of annotations in the book).
+    "totalItems": 42, # The total number of volume annotations found.
+  }</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/books_v1.myconfig.html b/docs/dyn/books_v1.myconfig.html
new file mode 100644
index 0000000..5b133bf
--- /dev/null
+++ b/docs/dyn/books_v1.myconfig.html
@@ -0,0 +1,378 @@
+<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.myconfig.html">myconfig</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#releaseDownloadAccess">releaseDownloadAccess(volumeIds, cpksver, source=None, locale=None)</a></code></p>
+<p class="firstline">Release downloaded content access restriction.</p>
+<p class="toc_element">
+  <code><a href="#requestAccess">requestAccess(source, volumeId, nonce, cpksver, licenseTypes=None, 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, 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">
+    <code class="details" id="releaseDownloadAccess">releaseDownloadAccess(volumeIds, cpksver, source=None, locale=None)</code>
+  <pre>Release downloaded content access restriction.
+
+Args:
+  volumeIds: string, The volume(s) to release restrictions for. (required) (repeated)
+  cpksver: string, The device/version ID from which to release the restriction. (required)
+  source: string, String to identify the originator of this request.
+  locale: string, ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.
+
+Returns:
+  An object of the form:
+
+    {
+    "downloadAccessList": [ # A list of download access responses.
+      {
+        "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.
+      },
+    ],
+    "kind": "books#downloadAccesses", # Resource type.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="requestAccess">requestAccess(source, volumeId, nonce, cpksver, licenseTypes=None, locale=None)</code>
+  <pre>Request concurrent and download access restrictions.
+
+Args:
+  source: string, String to identify the originator of this request. (required)
+  volumeId: string, The volume to request concurrent/download restrictions for. (required)
+  nonce: string, The client nonce value. (required)
+  cpksver: string, The device/version ID from which to request the restrictions. (required)
+  licenseTypes: string, The type of access license to request. If not specified, the default is BOTH.
+    Allowed values
+      BOTH - Both concurrent and download licenses.
+      CONCURRENT - Concurrent access license.
+      DOWNLOAD - Offline download access license.
+  locale: string, ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US.
+
+Returns:
+  An object of the form:
+
+    {
+    "downloadAccess": { # A download access response.
+      "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.
+    },
+    "kind": "books#requestAccess", # Resource type.
+    "concurrentAccess": { # A concurrent access response.
+      "nonce": "A String", # Client nonce for verification. Download access and client-validation only.
+      "kind": "books#concurrentAccessRestriction", # Resource type.
+      "restricted": True or False, # Whether this volume has any concurrent access restrictions.
+      "volumeId": "A String", # Identifies the volume for which this entry applies.
+      "maxConcurrentDevices": 42, # The maximum number of concurrent access licenses for this volume.
+      "deviceAllowed": True or False, # Whether access is granted for this (user, device, volume).
+      "source": "A String", # Client app identifier for verification. Download access and client-validation only.
+      "timeWindowSeconds": 42, # Time in seconds for license auto-expiration.
+      "signature": "A String", # Response signature.
+      "reasonCode": "A String", # Error/warning reason code.
+      "message": "A String", # Error/warning message.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <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)
+
+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.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "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.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "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.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "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 as per publisher metadata.
+          "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)
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "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.mylibrary.annotations.html b/docs/dyn/books_v1.mylibrary.annotations.html
new file mode 100644
index 0000000..d28c361
--- /dev/null
+++ b/docs/dyn/books_v1.mylibrary.annotations.html
@@ -0,0 +1,686 @@
+<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.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.annotations.html">annotations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(annotationId, source=None)</a></code></p>
+<p class="firstline">Deletes an annotation.</p>
+<p class="toc_element">
+  <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, showOnlySummaryInResponse=None)</a></code></p>
+<p class="firstline">Inserts a new annotation.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, updatedMin=None, showDeleted=None, pageIds=None, contentVersion=None, layerId=None, updatedMax=None, volumeId=None, maxResults=None, layerIds=None, source=None)</a></code></p>
+<p class="firstline">Retrieves a list of annotations, possibly filtered.</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="#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>
+<div class="method">
+    <code class="details" id="delete">delete(annotationId, source=None)</code>
+  <pre>Deletes an annotation.
+
+Args:
+  annotationId: string, The ID for the annotation to delete. (required)
+  source: string, String to identify the originator of this request.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(annotationId, source=None)</code>
+  <pre>Gets an annotation by its ID.
+
+Args:
+  annotationId: string, The ID for the annotation to retrieve. (required)
+  source: string, String to identify the originator of this request.
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "books#annotation", # Resource type.
+      "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. 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.
+          "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.
+        },
+        "cfiRange": { # Range in 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.
+        },
+        "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.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
+      },
+      "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.
+          "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.
+        },
+        "cfiRange": { # Range in 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.
+        },
+        "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.
+          "startOffset": "A String", # The offset from the starting position.
+          "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",
+      ],
+      "layerId": "A String", # The layer this annotation is for.
+      "selectedText": "A String", # Excerpt from the volume.
+      "highlightStyle": "A String", # The highlight style for this annotation.
+      "data": "A String", # User-created data for this annotation.
+      "id": "A String", # Id of this annotation, in the form of a GUID.
+      "selfLink": "A String", # URL to this resource.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body, source=None, showOnlySummaryInResponse=None)</code>
+  <pre>Inserts a new annotation.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "books#annotation", # Resource type.
+    "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. 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.
+        "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.
+      },
+      "cfiRange": { # Range in 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.
+      },
+      "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.
+        "startOffset": "A String", # The offset from the starting position.
+        "endOffset": "A String", # The offset from the ending position.
+      },
+    },
+    "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.
+        "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.
+      },
+      "cfiRange": { # Range in 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.
+      },
+      "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.
+        "startOffset": "A String", # The offset from the starting position.
+        "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",
+    ],
+    "layerId": "A String", # The layer this annotation is for.
+    "selectedText": "A String", # Excerpt from the volume.
+    "highlightStyle": "A String", # The highlight style for this annotation.
+    "data": "A String", # User-created data for this annotation.
+    "id": "A String", # Id of this annotation, in the form of a GUID.
+    "selfLink": "A String", # URL to this resource.
+  }
+
+  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:
+
+    {
+      "kind": "books#annotation", # Resource type.
+      "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. 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.
+          "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.
+        },
+        "cfiRange": { # Range in 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.
+        },
+        "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.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
+      },
+      "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.
+          "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.
+        },
+        "cfiRange": { # Range in 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.
+        },
+        "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.
+          "startOffset": "A String", # The offset from the starting position.
+          "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",
+      ],
+      "layerId": "A String", # The layer this annotation is for.
+      "selectedText": "A String", # Excerpt from the volume.
+      "highlightStyle": "A String", # The highlight style for this annotation.
+      "data": "A String", # User-created data for this annotation.
+      "id": "A String", # Id of this annotation, in the form of a GUID.
+      "selfLink": "A String", # URL to this resource.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, updatedMin=None, showDeleted=None, pageIds=None, contentVersion=None, layerId=None, updatedMax=None, volumeId=None, maxResults=None, layerIds=None, source=None)</code>
+  <pre>Retrieves a list of annotations, possibly filtered.
+
+Args:
+  pageToken: string, The value of the nextToken from the previous page.
+  updatedMin: string, RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive).
+  showDeleted: boolean, Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false.
+  pageIds: string, The page ID(s) for the volume that is being queried. (repeated)
+  contentVersion: string, The content version for the requested volume.
+  layerId: string, The layer ID to limit annotation by.
+  updatedMax: string, RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive).
+  volumeId: string, The volume to restrict annotations to.
+  maxResults: integer, Maximum number of results to return
+  layerIds: string, The layer ID(s) to limit annotation by. (repeated)
+  source: string, String to identify the originator of this request.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token to pass in for pagination for the next page. This will not be present if this request does not have more results.
+    "items": [ # A list of annotations.
+      {
+          "kind": "books#annotation", # Resource type.
+          "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. 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.
+              "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.
+            },
+            "cfiRange": { # Range in 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.
+            },
+            "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.
+              "startOffset": "A String", # The offset from the starting position.
+              "endOffset": "A String", # The offset from the ending position.
+            },
+          },
+          "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.
+              "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.
+            },
+            "cfiRange": { # Range in 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.
+            },
+            "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.
+              "startOffset": "A String", # The offset from the starting position.
+              "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",
+          ],
+          "layerId": "A String", # The layer this annotation is for.
+          "selectedText": "A String", # Excerpt from the volume.
+          "highlightStyle": "A String", # The highlight style for this annotation.
+          "data": "A String", # User-created data for this annotation.
+          "id": "A String", # Id of this annotation, in the form of a GUID.
+          "selfLink": "A String", # URL to this resource.
+        },
+    ],
+    "kind": "books#annotations", # Resource type.
+    "totalItems": 42, # Total number of annotations found. This may be greater than the number of notes returned in this response if results have been paginated.
+  }</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="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.
+
+Args:
+  annotationId: string, The ID for the annotation to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "books#annotation", # Resource type.
+    "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. 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.
+        "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.
+      },
+      "cfiRange": { # Range in 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.
+      },
+      "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.
+        "startOffset": "A String", # The offset from the starting position.
+        "endOffset": "A String", # The offset from the ending position.
+      },
+    },
+    "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.
+        "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.
+      },
+      "cfiRange": { # Range in 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.
+      },
+      "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.
+        "startOffset": "A String", # The offset from the starting position.
+        "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",
+    ],
+    "layerId": "A String", # The layer this annotation is for.
+    "selectedText": "A String", # Excerpt from the volume.
+    "highlightStyle": "A String", # The highlight style for this annotation.
+    "data": "A String", # User-created data for this annotation.
+    "id": "A String", # Id of this annotation, in the form of a GUID.
+    "selfLink": "A String", # URL to this resource.
+  }
+
+  source: string, String to identify the originator of this request.
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "books#annotation", # Resource type.
+      "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. 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.
+          "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.
+        },
+        "cfiRange": { # Range in 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.
+        },
+        "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.
+          "startOffset": "A String", # The offset from the starting position.
+          "endOffset": "A String", # The offset from the ending position.
+        },
+      },
+      "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.
+          "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.
+        },
+        "cfiRange": { # Range in 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.
+        },
+        "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.
+          "startOffset": "A String", # The offset from the starting position.
+          "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",
+      ],
+      "layerId": "A String", # The layer this annotation is for.
+      "selectedText": "A String", # Excerpt from the volume.
+      "highlightStyle": "A String", # The highlight style for this annotation.
+      "data": "A String", # User-created data for this annotation.
+      "id": "A String", # Id of this annotation, in the form of a GUID.
+      "selfLink": "A String", # URL to this resource.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.bookshelves.html b/docs/dyn/books_v1.mylibrary.bookshelves.html
new file mode 100644
index 0000000..907ef4f
--- /dev/null
+++ b/docs/dyn/books_v1.mylibrary.bookshelves.html
@@ -0,0 +1,199 @@
+<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.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.bookshelves.html">bookshelves</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="books_v1.mylibrary.bookshelves.volumes.html">volumes()</a></code>
+</p>
+<p class="firstline">Returns the volumes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#addVolume">addVolume(shelf, volumeId, source=None)</a></code></p>
+<p class="firstline">Adds a volume to a bookshelf.</p>
+<p class="toc_element">
+  <code><a href="#clearVolumes">clearVolumes(shelf, source=None)</a></code></p>
+<p class="firstline">Clears all volumes from a bookshelf.</p>
+<p class="toc_element">
+  <code><a href="#get">get(shelf, source=None)</a></code></p>
+<p class="firstline">Retrieves metadata for a specific bookshelf belonging to the authenticated user.</p>
+<p class="toc_element">
+  <code><a href="#list">list(source=None)</a></code></p>
+<p class="firstline">Retrieves a list of bookshelves belonging to the authenticated user.</p>
+<p class="toc_element">
+  <code><a href="#moveVolume">moveVolume(shelf, volumeId, volumePosition, source=None)</a></code></p>
+<p class="firstline">Moves a volume within a bookshelf.</p>
+<p class="toc_element">
+  <code><a href="#removeVolume">removeVolume(shelf, volumeId, source=None)</a></code></p>
+<p class="firstline">Removes a volume from a bookshelf.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="addVolume">addVolume(shelf, volumeId, source=None)</code>
+  <pre>Adds a volume to a bookshelf.
+
+Args:
+  shelf: string, ID of bookshelf to which to add a volume. (required)
+  volumeId: string, ID of volume to add. (required)
+  source: string, String to identify the originator of this request.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="clearVolumes">clearVolumes(shelf, source=None)</code>
+  <pre>Clears all volumes from a bookshelf.
+
+Args:
+  shelf: string, ID of bookshelf from which to remove a volume. (required)
+  source: string, String to identify the originator of this request.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(shelf, source=None)</code>
+  <pre>Retrieves metadata for a specific bookshelf belonging to the authenticated user.
+
+Args:
+  shelf: string, ID of bookshelf to retrieve. (required)
+  source: string, String to identify the originator of this request.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "books#bookshelf", # Resource type for bookshelf metadata.
+    "description": "A String", # Description of this bookshelf.
+    "created": "A String", # Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
+    "volumeCount": 42, # Number of volumes in this bookshelf.
+    "title": "A String", # Title of this bookshelf.
+    "updated": "A String", # Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
+    "access": "A String", # Whether this bookshelf is PUBLIC or PRIVATE.
+    "volumesLastUpdated": "A String", # Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
+    "id": 42, # Id of this bookshelf, only unique by user.
+    "selfLink": "A String", # URL to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(source=None)</code>
+  <pre>Retrieves a list of bookshelves belonging to the authenticated user.
+
+Args:
+  source: string, String to identify the originator of this request.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # A list of bookshelves.
+      {
+        "kind": "books#bookshelf", # Resource type for bookshelf metadata.
+        "description": "A String", # Description of this bookshelf.
+        "created": "A String", # Created time for this bookshelf (formatted UTC timestamp with millisecond resolution).
+        "volumeCount": 42, # Number of volumes in this bookshelf.
+        "title": "A String", # Title of this bookshelf.
+        "updated": "A String", # Last modified time of this bookshelf (formatted UTC timestamp with millisecond resolution).
+        "access": "A String", # Whether this bookshelf is PUBLIC or PRIVATE.
+        "volumesLastUpdated": "A String", # Last time a volume was added or removed from this bookshelf (formatted UTC timestamp with millisecond resolution).
+        "id": 42, # Id of this bookshelf, only unique by user.
+        "selfLink": "A String", # URL to this resource.
+      },
+    ],
+    "kind": "books#bookshelves", # Resource type.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="moveVolume">moveVolume(shelf, volumeId, volumePosition, source=None)</code>
+  <pre>Moves a volume within a bookshelf.
+
+Args:
+  shelf: string, ID of bookshelf with the volume. (required)
+  volumeId: string, ID of volume to move. (required)
+  volumePosition: integer, Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.) (required)
+  source: string, String to identify the originator of this request.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="removeVolume">removeVolume(shelf, volumeId, source=None)</code>
+  <pre>Removes a volume from a bookshelf.
+
+Args:
+  shelf: string, ID of bookshelf from which to remove a volume. (required)
+  volumeId: string, ID of volume to remove. (required)
+  source: string, String to identify the originator of this request.
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
new file mode 100644
index 0000000..5127177
--- /dev/null
+++ b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html
@@ -0,0 +1,289 @@
+<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.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.bookshelves.html">bookshelves</a> . <a href="books_v1.mylibrary.bookshelves.volumes.html">volumes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(shelf, q=None, projection=None, source=None, country=None, showPreorders=None, startIndex=None, maxResults=None)</a></code></p>
+<p class="firstline">Gets volume information for volumes on a bookshelf.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(shelf, q=None, projection=None, source=None, country=None, showPreorders=None, startIndex=None, maxResults=None)</code>
+  <pre>Gets volume information for volumes on a bookshelf.
+
+Args:
+  shelf: string, The bookshelf ID or name retrieve volumes for. (required)
+  q: string, Full-text search query string in this bookshelf.
+  projection: string, Restrict information returned to a set of selected fields.
+    Allowed values
+      full - Includes all volume data.
+      lite - Includes a subset of fields in volumeInfo and accessInfo.
+  source: string, String to identify the originator of this request.
+  country: string, ISO-3166-1 code to override the IP-based location.
+  showPreorders: boolean, Set to true to show pre-ordered books. Defaults to false.
+  startIndex: integer, Index of the first element to return (starts at 0)
+  maxResults: integer, Maximum number of results to return
+
+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.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "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.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "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.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "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 as per publisher metadata.
+          "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)
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "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.mylibrary.html b/docs/dyn/books_v1.mylibrary.html
new file mode 100644
index 0000000..7880a0b
--- /dev/null
+++ b/docs/dyn/books_v1.mylibrary.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="books_v1.html">Books API</a> . <a href="books_v1.mylibrary.html">mylibrary</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="books_v1.mylibrary.annotations.html">annotations()</a></code>
+</p>
+<p class="firstline">Returns the annotations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="books_v1.mylibrary.bookshelves.html">bookshelves()</a></code>
+</p>
+<p class="firstline">Returns the bookshelves Resource.</p>
+
+<p class="toc_element">
+  <code><a href="books_v1.mylibrary.readingpositions.html">readingpositions()</a></code>
+</p>
+<p class="firstline">Returns the readingpositions Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.mylibrary.readingpositions.html b/docs/dyn/books_v1.mylibrary.readingpositions.html
new file mode 100644
index 0000000..af47982
--- /dev/null
+++ b/docs/dyn/books_v1.mylibrary.readingpositions.html
@@ -0,0 +1,129 @@
+<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.mylibrary.html">mylibrary</a> . <a href="books_v1.mylibrary.readingpositions.html">readingpositions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(volumeId, source=None, contentVersion=None)</a></code></p>
+<p class="firstline">Retrieves my reading position information for a volume.</p>
+<p class="toc_element">
+  <code><a href="#setPosition">setPosition(volumeId, timestamp, position, deviceCookie=None, source=None, contentVersion=None, action=None)</a></code></p>
+<p class="firstline">Sets my reading position information for a volume.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(volumeId, source=None, contentVersion=None)</code>
+  <pre>Retrieves my reading position information for a volume.
+
+Args:
+  volumeId: string, ID of volume for which to retrieve a reading position. (required)
+  source: string, String to identify the originator of this request.
+  contentVersion: string, Volume content version for which this reading position is requested.
+
+Returns:
+  An object of the form:
+
+    {
+    "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setPosition">setPosition(volumeId, timestamp, position, deviceCookie=None, source=None, contentVersion=None, action=None)</code>
+  <pre>Sets my reading position information for a volume.
+
+Args:
+  volumeId: string, ID of volume for which to update the reading position. (required)
+  timestamp: string, RFC 3339 UTC format timestamp associated with this reading position. (required)
+  position: string, Position string for the new volume reading position. (required)
+  deviceCookie: string, Random persistent device cookie optional on set position.
+  source: string, String to identify the originator of this request.
+  contentVersion: string, Volume content version for which this reading position applies.
+  action: string, Action that caused this reading position to be set.
+    Allowed values
+      bookmark - User chose bookmark within volume.
+      chapter - User selected chapter from list.
+      next-page - Next page event.
+      prev-page - Previous page event.
+      scroll - User navigated to page.
+      search - User chose search results within volume.
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.volumes.associated.html b/docs/dyn/books_v1.volumes.associated.html
new file mode 100644
index 0000000..b014a81
--- /dev/null
+++ b/docs/dyn/books_v1.volumes.associated.html
@@ -0,0 +1,285 @@
+<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.associated.html">associated</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(volumeId, source=None, locale=None, association=None)</a></code></p>
+<p class="firstline">Return a list of associated books.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(volumeId, source=None, locale=None, association=None)</code>
+  <pre>Return a list of associated books.
+
+Args:
+  volumeId: string, ID of the source volume. (required)
+  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.
+  association: string, Association type.
+    Allowed values
+      end-of-sample - Recommendations for display end-of-sample.
+      end-of-volume - Recommendations for display end-of-volume.
+
+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.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "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.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "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.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "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 as per publisher metadata.
+          "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)
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "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.html b/docs/dyn/books_v1.volumes.html
new file mode 100644
index 0000000..b73ef04
--- /dev/null
+++ b/docs/dyn/books_v1.volumes.html
@@ -0,0 +1,534 @@
+<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></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="books_v1.volumes.associated.html">associated()</a></code>
+</p>
+<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">
+  <code><a href="#list">list(q, orderBy=None, projection=None, showPreorders=None, download=None, startIndex=None, partner=None, source=None, maxResults=None, libraryRestrict=None, langRestrict=None, printType=None, filter=None)</a></code></p>
+<p class="firstline">Performs a book search.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(volumeId, projection=None, source=None, country=None, partner=None)</code>
+  <pre>Gets volume information for a single volume.
+
+Args:
+  volumeId: string, ID of volume to retrieve. (required)
+  projection: string, Restrict information returned to a set of selected fields.
+    Allowed values
+      full - Includes all volume data.
+      lite - Includes a subset of fields in volumeInfo and accessInfo.
+  source: string, String to identify the originator of this request.
+  country: string, ISO-3166-1 code to override the IP-based location.
+  partner: string, Brand results for partner ID.
+
+Returns:
+  An object of the form:
+
+    {
+    "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.)
+      "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+      "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.
+      "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+      "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.)
+      },
+      "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+      "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 as per publisher metadata.
+      "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)
+      "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+      "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.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(q, orderBy=None, projection=None, showPreorders=None, download=None, startIndex=None, partner=None, source=None, maxResults=None, libraryRestrict=None, langRestrict=None, printType=None, filter=None)</code>
+  <pre>Performs a book search.
+
+Args:
+  q: string, Full-text search query string. (required)
+  orderBy: string, Sort search results.
+    Allowed values
+      newest - Most recently published.
+      relevance - Relevance to search terms.
+  projection: string, Restrict information returned to a set of selected fields.
+    Allowed values
+      full - Includes all volume data.
+      lite - Includes a subset of fields in volumeInfo and accessInfo.
+  showPreorders: boolean, Set to true to show books available for preorder. Defaults to false.
+  download: string, Restrict to volumes by download availability.
+    Allowed values
+      epub - All volumes with epub.
+  startIndex: integer, Index of the first result to return (starts at 0)
+  partner: string, Restrict and brand results for partner ID.
+  source: string, String to identify the originator of this request.
+  maxResults: integer, Maximum number of results to return.
+  libraryRestrict: string, Restrict search to this user's library.
+    Allowed values
+      my-library - Restrict to the user's library, any shelf.
+      no-restrict - Do not restrict based on user's library.
+  langRestrict: string, Restrict results to books with this language code.
+  printType: string, Restrict to books or magazines.
+    Allowed values
+      all - All volume content types.
+      books - Just books.
+      magazines - Just magazines.
+  filter: string, Filter search results.
+    Allowed values
+      ebooks - All Google eBooks.
+      free-ebooks - Google eBook with full volume text viewability.
+      full - Public can view entire volume text.
+      paid-ebooks - Google eBook with a price.
+      partial - Public able to see parts of text.
+
+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.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "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.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "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.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "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 as per publisher metadata.
+          "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)
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "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.mybooks.html b/docs/dyn/books_v1.volumes.mybooks.html
new file mode 100644
index 0000000..f28ca32
--- /dev/null
+++ b/docs/dyn/books_v1.volumes.mybooks.html
@@ -0,0 +1,296 @@
+<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.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "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.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "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.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "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 as per publisher metadata.
+          "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)
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "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
new file mode 100644
index 0000000..93a9eac
--- /dev/null
+++ b/docs/dyn/books_v1.volumes.recommended.html
@@ -0,0 +1,304 @@
+<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.recommended.html">recommended</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(source=None, locale=None)</a></code></p>
+<p class="firstline">Return a list of recommended books for the current user.</p>
+<p class="toc_element">
+  <code><a href="#rate">rate(rating, volumeId, source=None, locale=None)</a></code></p>
+<p class="firstline">Rate a recommended book for the current user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(source=None, locale=None)</code>
+  <pre>Return a list of recommended books for 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.
+
+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.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "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.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "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.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "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 as per publisher metadata.
+          "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)
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "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>
+
+<div class="method">
+    <code class="details" id="rate">rate(rating, volumeId, source=None, locale=None)</code>
+  <pre>Rate a recommended book for the current user.
+
+Args:
+  rating: string, Rating to be given to the volume. (required)
+    Allowed values
+      HAVE_IT - Rating indicating a dismissal due to ownership.
+      NOT_INTERESTED - Rating indicating a negative dismissal of a volume.
+  volumeId: string, ID of the source volume. (required)
+  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.
+
+Returns:
+  An object of the form:
+
+    {
+    "consistency_token": "A String",
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/books_v1.volumes.useruploaded.html b/docs/dyn/books_v1.volumes.useruploaded.html
new file mode 100644
index 0000000..4802e59
--- /dev/null
+++ b/docs/dyn/books_v1.volumes.useruploaded.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="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.)
+          "quoteSharingAllowed": True or False, # Whether quote sharing is allowed for this volume.
+          "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.
+          "driveImportedContentLink": "A String", # URL to the Google Drive viewer if this volume is uploaded by the user by selecting the file from Google Drive.
+          "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.)
+          },
+          "explicitOfflineLicenseManagement": True or False, # Whether this volume requires that the client explicitly request offline download license rather than have it done automatically when loading the content, if the client supports it.
+          "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 as per publisher metadata.
+          "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)
+          "printedPageCount": 42, # Total number of printed pages in generated pdf representation.
+          "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.acl.html b/docs/dyn/calendar_v3.acl.html
new file mode 100644
index 0000000..6ffffe3
--- /dev/null
+++ b/docs/dyn/calendar_v3.acl.html
@@ -0,0 +1,413 @@
+<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.acl.html">acl</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(calendarId, ruleId)</a></code></p>
+<p class="firstline">Deletes an access control rule.</p>
+<p class="toc_element">
+  <code><a href="#get">get(calendarId, ruleId)</a></code></p>
+<p class="firstline">Returns an access control rule.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(calendarId, body)</a></code></p>
+<p class="firstline">Creates an access control rule.</p>
+<p class="toc_element">
+  <code><a href="#list">list(calendarId, syncToken=None, pageToken=None, maxResults=None, showDeleted=None)</a></code></p>
+<p class="firstline">Returns the rules in the access control list for the calendar.</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(calendarId, ruleId, body)</a></code></p>
+<p class="firstline">Updates an access control rule. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(calendarId, ruleId, body)</a></code></p>
+<p class="firstline">Updates an access control rule.</p>
+<p class="toc_element">
+  <code><a href="#watch">watch(calendarId, body, syncToken=None, pageToken=None, maxResults=None, showDeleted=None)</a></code></p>
+<p class="firstline">Watch for changes to ACL resources.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(calendarId, ruleId)</code>
+  <pre>Deletes an access control rule.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  ruleId: string, ACL rule identifier. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(calendarId, ruleId)</code>
+  <pre>Returns an access control rule.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  ruleId: string, ACL rule identifier. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "scope": { # The scope of the rule.
+        "type": "A String", # The type of the scope. Possible values are:
+            # - "default" - The public scope. This is the default value.
+            # - "user" - Limits the scope to a single user.
+            # - "group" - Limits the scope to a group.
+            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+      },
+      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+      "etag": "A String", # ETag of the resource.
+      "role": "A String", # The role assigned to the scope. Possible values are:
+          # - "none" - Provides no access.
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the ACL rule.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(calendarId, body)</code>
+  <pre>Creates an access control rule.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "scope": { # The scope of the rule.
+      "type": "A String", # The type of the scope. Possible values are:
+          # - "default" - The public scope. This is the default value.
+          # - "user" - Limits the scope to a single user.
+          # - "group" - Limits the scope to a group.
+          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+    },
+    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+    "etag": "A String", # ETag of the resource.
+    "role": "A String", # The role assigned to the scope. Possible values are:
+        # - "none" - Provides no access.
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the ACL rule.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "scope": { # The scope of the rule.
+        "type": "A String", # The type of the scope. Possible values are:
+            # - "default" - The public scope. This is the default value.
+            # - "user" - Limits the scope to a single user.
+            # - "group" - Limits the scope to a group.
+            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+      },
+      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+      "etag": "A String", # ETag of the resource.
+      "role": "A String", # The role assigned to the scope. Possible values are:
+          # - "none" - Provides no access.
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the ACL rule.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(calendarId, syncToken=None, pageToken=None, maxResults=None, showDeleted=None)</code>
+  <pre>Returns the rules in the access control list for the calendar.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned as part of the result of a previous call to this method. It makes the result of this call contain only entries that have changed since the last call, including entries that have been removed in the meantime (they will have the 'role' set to 'none'). Optional. The default is to return to all entries.
+  pageToken: string, Token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of entries returned on one result page. Optional.
+  showDeleted: boolean, Whether to include deleted acls in the result. Deleted acls are represented by with 'role' equal to 'none'. Deleted acls will always be included if 'syncToken' is provided. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token used to access the next page of this result. Omitted if no further results are available.
+    "items": [ # List of rules on the access control list.
+      {
+          "scope": { # The scope of the rule.
+            "type": "A String", # The type of the scope. Possible values are:
+                # - "default" - The public scope. This is the default value.
+                # - "user" - Limits the scope to a single user.
+                # - "group" - Limits the scope to a group.
+                # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+            "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+          },
+          "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+          "etag": "A String", # ETag of the resource.
+          "role": "A String", # The role assigned to the scope. Possible values are:
+              # - "none" - Provides no access.
+              # - "freeBusyReader" - Provides read access to free/busy information.
+              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+          "id": "A String", # Identifier of the ACL rule.
+        },
+    ],
+    "kind": "calendar#acl", # Type of the collection ("calendar#acl").
+    "etag": "A String", # ETag of the collection.
+    "nextSyncToken": "A String", # Token used at a later point in time to retrieve only the entries that have changed since this result was returned.
+  }</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(calendarId, ruleId, body)</code>
+  <pre>Updates an access control rule. This method supports patch semantics.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  ruleId: string, ACL rule identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "scope": { # The scope of the rule.
+      "type": "A String", # The type of the scope. Possible values are:
+          # - "default" - The public scope. This is the default value.
+          # - "user" - Limits the scope to a single user.
+          # - "group" - Limits the scope to a group.
+          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+    },
+    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+    "etag": "A String", # ETag of the resource.
+    "role": "A String", # The role assigned to the scope. Possible values are:
+        # - "none" - Provides no access.
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the ACL rule.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "scope": { # The scope of the rule.
+        "type": "A String", # The type of the scope. Possible values are:
+            # - "default" - The public scope. This is the default value.
+            # - "user" - Limits the scope to a single user.
+            # - "group" - Limits the scope to a group.
+            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+      },
+      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+      "etag": "A String", # ETag of the resource.
+      "role": "A String", # The role assigned to the scope. Possible values are:
+          # - "none" - Provides no access.
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the ACL rule.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(calendarId, ruleId, body)</code>
+  <pre>Updates an access control rule.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  ruleId: string, ACL rule identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "scope": { # The scope of the rule.
+      "type": "A String", # The type of the scope. Possible values are:
+          # - "default" - The public scope. This is the default value.
+          # - "user" - Limits the scope to a single user.
+          # - "group" - Limits the scope to a group.
+          # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+      "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+    },
+    "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+    "etag": "A String", # ETag of the resource.
+    "role": "A String", # The role assigned to the scope. Possible values are:
+        # - "none" - Provides no access.
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the ACL rule.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "scope": { # The scope of the rule.
+        "type": "A String", # The type of the scope. Possible values are:
+            # - "default" - The public scope. This is the default value.
+            # - "user" - Limits the scope to a single user.
+            # - "group" - Limits the scope to a group.
+            # - "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.
+        "value": "A String", # The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".
+      },
+      "kind": "calendar#aclRule", # Type of the resource ("calendar#aclRule").
+      "etag": "A String", # ETag of the resource.
+      "role": "A String", # The role assigned to the scope. Possible values are:
+          # - "none" - Provides no access.
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the ACL rule.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="watch">watch(calendarId, body, syncToken=None, pageToken=None, maxResults=None, showDeleted=None)</code>
+  <pre>Watch for changes to ACL resources.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this channel.
+  }
+
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned as part of the result of a previous call to this method. It makes the result of this call contain only entries that have changed since the last call, including entries that have been removed in the meantime (they will have the 'role' set to 'none'). Optional. The default is to return to all entries.
+  pageToken: string, Token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of entries returned on one result page. Optional.
+  showDeleted: boolean, Whether to include deleted acls in the result. Deleted acls are represented by with 'role' equal to 'none'. Deleted acls will always be included if 'syncToken' is provided. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # A version-specific identifier for the watched resource.
+      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+      "params": { # Additional parameters controlling delivery channel behavior. Optional.
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+      "address": "A String", # The address where notifications are delivered for this channel.
+      "type": "A String", # The type of delivery mechanism used for this channel.
+      "id": "A String", # A UUID or similar unique string that identifies this channel.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.calendarList.html b/docs/dyn/calendar_v3.calendarList.html
new file mode 100644
index 0000000..386cf42
--- /dev/null
+++ b/docs/dyn/calendar_v3.calendarList.html
@@ -0,0 +1,639 @@
+<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.calendarList.html">calendarList</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(calendarId)</a></code></p>
+<p class="firstline">Deletes an entry on the user's calendar list.</p>
+<p class="toc_element">
+  <code><a href="#get">get(calendarId)</a></code></p>
+<p class="firstline">Returns an entry on the user's calendar list.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body, colorRgbFormat=None)</a></code></p>
+<p class="firstline">Adds an entry to the user's calendar list.</p>
+<p class="toc_element">
+  <code><a href="#list">list(syncToken=None, minAccessRole=None, maxResults=None, showDeleted=None, showHidden=None, pageToken=None)</a></code></p>
+<p class="firstline">Returns entries on the user's calendar list.</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(calendarId, body, colorRgbFormat=None)</a></code></p>
+<p class="firstline">Updates an entry on the user's calendar list. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(calendarId, body, colorRgbFormat=None)</a></code></p>
+<p class="firstline">Updates an entry on the user's calendar list.</p>
+<p class="toc_element">
+  <code><a href="#watch">watch(body, syncToken=None, minAccessRole=None, maxResults=None, showDeleted=None, showHidden=None, pageToken=None)</a></code></p>
+<p class="firstline">Watch for changes to CalendarList resources.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(calendarId)</code>
+  <pre>Deletes an entry on the user's calendar list.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(calendarId)</code>
+  <pre>Returns an entry on the user's calendar list.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
+      "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
+      "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
+        {
+          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+          "method": "A String", # The method used by this reminder. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS.
+              # - "popup" - Reminders are sent via a UI popup.
+        },
+      ],
+      "description": "A String", # Description of the calendar. Optional. Read-only.
+      "deleted": false, # Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False.
+      "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
+      "selected": false, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
+      "notificationSettings": { # The notifications that the authenticated user is receiving for this calendar.
+        "notifications": [ # The list of notifications set for this calendar.
+          {
+            "type": "A String", # The type of notification. Possible values are:
+                # - "eventCreation" - Notification sent when a new event is put on the calendar.
+                # - "eventChange" - Notification sent when an event is changed.
+                # - "eventCancellation" - Notification sent when an event is cancelled.
+                # - "eventResponse" - Notification sent when an event is changed.
+                # - "agenda" - An agenda with the events of the day (sent out in the morning).
+            "method": "A String", # The method used to deliver the notification. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates.
+          },
+        ],
+      },
+      "primary": false, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
+      "etag": "A String", # ETag of the resource.
+      "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
+      "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
+      "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
+      "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
+      "hidden": false, # Whether the calendar has been hidden from the list. Optional. The default is False.
+      "summary": "A String", # Title of the calendar. Read-only.
+      "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the calendar.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body, colorRgbFormat=None)</code>
+  <pre>Adds an entry to the user's calendar list.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
+    "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
+    "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
+      {
+        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+        "method": "A String", # The method used by this reminder. Possible values are:
+            # - "email" - Reminders are sent via email.
+            # - "sms" - Reminders are sent via SMS.
+            # - "popup" - Reminders are sent via a UI popup.
+      },
+    ],
+    "description": "A String", # Description of the calendar. Optional. Read-only.
+    "deleted": false, # Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False.
+    "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
+    "selected": false, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
+    "notificationSettings": { # The notifications that the authenticated user is receiving for this calendar.
+      "notifications": [ # The list of notifications set for this calendar.
+        {
+          "type": "A String", # The type of notification. Possible values are:
+              # - "eventCreation" - Notification sent when a new event is put on the calendar.
+              # - "eventChange" - Notification sent when an event is changed.
+              # - "eventCancellation" - Notification sent when an event is cancelled.
+              # - "eventResponse" - Notification sent when an event is changed.
+              # - "agenda" - An agenda with the events of the day (sent out in the morning).
+          "method": "A String", # The method used to deliver the notification. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates.
+        },
+      ],
+    },
+    "primary": false, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
+    "etag": "A String", # ETag of the resource.
+    "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
+    "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
+    "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
+    "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
+    "hidden": false, # Whether the calendar has been hidden from the list. Optional. The default is False.
+    "summary": "A String", # Title of the calendar. Read-only.
+    "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the calendar.
+  }
+
+  colorRgbFormat: boolean, Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If this feature is used, the index-based colorId field will be set to the best matching option automatically. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
+      "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
+      "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
+        {
+          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+          "method": "A String", # The method used by this reminder. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS.
+              # - "popup" - Reminders are sent via a UI popup.
+        },
+      ],
+      "description": "A String", # Description of the calendar. Optional. Read-only.
+      "deleted": false, # Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False.
+      "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
+      "selected": false, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
+      "notificationSettings": { # The notifications that the authenticated user is receiving for this calendar.
+        "notifications": [ # The list of notifications set for this calendar.
+          {
+            "type": "A String", # The type of notification. Possible values are:
+                # - "eventCreation" - Notification sent when a new event is put on the calendar.
+                # - "eventChange" - Notification sent when an event is changed.
+                # - "eventCancellation" - Notification sent when an event is cancelled.
+                # - "eventResponse" - Notification sent when an event is changed.
+                # - "agenda" - An agenda with the events of the day (sent out in the morning).
+            "method": "A String", # The method used to deliver the notification. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates.
+          },
+        ],
+      },
+      "primary": false, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
+      "etag": "A String", # ETag of the resource.
+      "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
+      "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
+      "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
+      "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
+      "hidden": false, # Whether the calendar has been hidden from the list. Optional. The default is False.
+      "summary": "A String", # Title of the calendar. Read-only.
+      "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the calendar.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(syncToken=None, minAccessRole=None, maxResults=None, showDeleted=None, showHidden=None, pageToken=None)</code>
+  <pre>Returns entries on the user's calendar list.
+
+Args:
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned on the last result page of the previous method's call. It makes the result of this call contain only entries that have changed since the last call. Optional. The default is to return all entries.
+  minAccessRole: string, The minimum access role for the user in the returned entires. Optional. The default is no restriction.
+    Allowed values
+      freeBusyReader - The user can read free/busy information.
+      owner - The user can read and modify events and access control lists.
+      reader - The user can read events that are not private.
+      writer - The user can read and modify events.
+  maxResults: integer, Maximum number of entries returned on one result page. Optional.
+  showDeleted: boolean, Whether to include deleted calendar list entries in the result. Optional. The default is False.
+  showHidden: boolean, Whether to show hidden entries. Optional. The default is False.
+  pageToken: string, Token specifying which result page to return. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token used to access the next page of this result.
+    "items": [ # Calendars that are present on the user's calendar list.
+      {
+          "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
+          "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
+          "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
+            {
+              "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+              "method": "A String", # The method used by this reminder. Possible values are:
+                  # - "email" - Reminders are sent via email.
+                  # - "sms" - Reminders are sent via SMS.
+                  # - "popup" - Reminders are sent via a UI popup.
+            },
+          ],
+          "description": "A String", # Description of the calendar. Optional. Read-only.
+          "deleted": false, # Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False.
+          "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
+          "selected": false, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
+          "notificationSettings": { # The notifications that the authenticated user is receiving for this calendar.
+            "notifications": [ # The list of notifications set for this calendar.
+              {
+                "type": "A String", # The type of notification. Possible values are:
+                    # - "eventCreation" - Notification sent when a new event is put on the calendar.
+                    # - "eventChange" - Notification sent when an event is changed.
+                    # - "eventCancellation" - Notification sent when an event is cancelled.
+                    # - "eventResponse" - Notification sent when an event is changed.
+                    # - "agenda" - An agenda with the events of the day (sent out in the morning).
+                "method": "A String", # The method used to deliver the notification. Possible values are:
+                    # - "email" - Reminders are sent via email.
+                    # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates.
+              },
+            ],
+          },
+          "primary": false, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
+          "etag": "A String", # ETag of the resource.
+          "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
+          "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
+          "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
+          "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
+          "hidden": false, # Whether the calendar has been hidden from the list. Optional. The default is False.
+          "summary": "A String", # Title of the calendar. Read-only.
+          "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
+              # - "freeBusyReader" - Provides read access to free/busy information.
+              # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+              # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+              # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+          "id": "A String", # Identifier of the calendar.
+        },
+    ],
+    "kind": "calendar#calendarList", # Type of the collection ("calendar#calendarList").
+    "etag": "A String", # ETag of the collection.
+    "nextSyncToken": "A String", # Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided.
+  }</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(calendarId, body, colorRgbFormat=None)</code>
+  <pre>Updates an entry on the user's calendar list. This method supports patch semantics.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
+    "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
+    "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
+      {
+        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+        "method": "A String", # The method used by this reminder. Possible values are:
+            # - "email" - Reminders are sent via email.
+            # - "sms" - Reminders are sent via SMS.
+            # - "popup" - Reminders are sent via a UI popup.
+      },
+    ],
+    "description": "A String", # Description of the calendar. Optional. Read-only.
+    "deleted": false, # Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False.
+    "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
+    "selected": false, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
+    "notificationSettings": { # The notifications that the authenticated user is receiving for this calendar.
+      "notifications": [ # The list of notifications set for this calendar.
+        {
+          "type": "A String", # The type of notification. Possible values are:
+              # - "eventCreation" - Notification sent when a new event is put on the calendar.
+              # - "eventChange" - Notification sent when an event is changed.
+              # - "eventCancellation" - Notification sent when an event is cancelled.
+              # - "eventResponse" - Notification sent when an event is changed.
+              # - "agenda" - An agenda with the events of the day (sent out in the morning).
+          "method": "A String", # The method used to deliver the notification. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates.
+        },
+      ],
+    },
+    "primary": false, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
+    "etag": "A String", # ETag of the resource.
+    "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
+    "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
+    "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
+    "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
+    "hidden": false, # Whether the calendar has been hidden from the list. Optional. The default is False.
+    "summary": "A String", # Title of the calendar. Read-only.
+    "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the calendar.
+  }
+
+  colorRgbFormat: boolean, Whether to use the 'foregroundColor' and 'backgroundColor' fields to write the calendar colors (RGB). If this feature is used, the index-based 'colorId' field will be set to the best matching option automatically. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
+      "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
+      "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
+        {
+          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+          "method": "A String", # The method used by this reminder. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS.
+              # - "popup" - Reminders are sent via a UI popup.
+        },
+      ],
+      "description": "A String", # Description of the calendar. Optional. Read-only.
+      "deleted": false, # Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False.
+      "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
+      "selected": false, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
+      "notificationSettings": { # The notifications that the authenticated user is receiving for this calendar.
+        "notifications": [ # The list of notifications set for this calendar.
+          {
+            "type": "A String", # The type of notification. Possible values are:
+                # - "eventCreation" - Notification sent when a new event is put on the calendar.
+                # - "eventChange" - Notification sent when an event is changed.
+                # - "eventCancellation" - Notification sent when an event is cancelled.
+                # - "eventResponse" - Notification sent when an event is changed.
+                # - "agenda" - An agenda with the events of the day (sent out in the morning).
+            "method": "A String", # The method used to deliver the notification. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates.
+          },
+        ],
+      },
+      "primary": false, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
+      "etag": "A String", # ETag of the resource.
+      "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
+      "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
+      "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
+      "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
+      "hidden": false, # Whether the calendar has been hidden from the list. Optional. The default is False.
+      "summary": "A String", # Title of the calendar. Read-only.
+      "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the calendar.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(calendarId, body, colorRgbFormat=None)</code>
+  <pre>Updates an entry on the user's calendar list.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
+    "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
+    "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
+      {
+        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+        "method": "A String", # The method used by this reminder. Possible values are:
+            # - "email" - Reminders are sent via email.
+            # - "sms" - Reminders are sent via SMS.
+            # - "popup" - Reminders are sent via a UI popup.
+      },
+    ],
+    "description": "A String", # Description of the calendar. Optional. Read-only.
+    "deleted": false, # Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False.
+    "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
+    "selected": false, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
+    "notificationSettings": { # The notifications that the authenticated user is receiving for this calendar.
+      "notifications": [ # The list of notifications set for this calendar.
+        {
+          "type": "A String", # The type of notification. Possible values are:
+              # - "eventCreation" - Notification sent when a new event is put on the calendar.
+              # - "eventChange" - Notification sent when an event is changed.
+              # - "eventCancellation" - Notification sent when an event is cancelled.
+              # - "eventResponse" - Notification sent when an event is changed.
+              # - "agenda" - An agenda with the events of the day (sent out in the morning).
+          "method": "A String", # The method used to deliver the notification. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates.
+        },
+      ],
+    },
+    "primary": false, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
+    "etag": "A String", # ETag of the resource.
+    "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
+    "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
+    "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
+    "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
+    "hidden": false, # Whether the calendar has been hidden from the list. Optional. The default is False.
+    "summary": "A String", # Title of the calendar. Read-only.
+    "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
+        # - "freeBusyReader" - Provides read access to free/busy information.
+        # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+    "id": "A String", # Identifier of the calendar.
+  }
+
+  colorRgbFormat: boolean, Whether to use the 'foregroundColor' and 'backgroundColor' fields to write the calendar colors (RGB). If this feature is used, the index-based 'colorId' field will be set to the best matching option automatically. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "calendar#calendarListEntry", # Type of the resource ("calendar#calendarListEntry").
+      "foregroundColor": "A String", # The foreground color of the calendar in the format '#ffffff'. This property supersedes the index-based colorId property. Optional.
+      "defaultReminders": [ # The default reminders that the authenticated user has for this calendar.
+        {
+          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+          "method": "A String", # The method used by this reminder. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS.
+              # - "popup" - Reminders are sent via a UI popup.
+        },
+      ],
+      "description": "A String", # Description of the calendar. Optional. Read-only.
+      "deleted": false, # Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False.
+      "colorId": "A String", # The color of the calendar. This is an ID referring to an entry in the "calendar" section of the colors definition (see the "colors" endpoint). Optional.
+      "selected": false, # Whether the calendar content shows up in the calendar UI. Optional. The default is False.
+      "notificationSettings": { # The notifications that the authenticated user is receiving for this calendar.
+        "notifications": [ # The list of notifications set for this calendar.
+          {
+            "type": "A String", # The type of notification. Possible values are:
+                # - "eventCreation" - Notification sent when a new event is put on the calendar.
+                # - "eventChange" - Notification sent when an event is changed.
+                # - "eventCancellation" - Notification sent when an event is cancelled.
+                # - "eventResponse" - Notification sent when an event is changed.
+                # - "agenda" - An agenda with the events of the day (sent out in the morning).
+            "method": "A String", # The method used to deliver the notification. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates.
+          },
+        ],
+      },
+      "primary": false, # Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False.
+      "etag": "A String", # ETag of the resource.
+      "location": "A String", # Geographic location of the calendar as free-form text. Optional. Read-only.
+      "backgroundColor": "A String", # The main color of the calendar in the format '#0088aa'. This property supersedes the index-based colorId property. Optional.
+      "summaryOverride": "A String", # The summary that the authenticated user has set for this calendar. Optional.
+      "timeZone": "A String", # The time zone of the calendar. Optional. Read-only.
+      "hidden": false, # Whether the calendar has been hidden from the list. Optional. The default is False.
+      "summary": "A String", # Title of the calendar. Read-only.
+      "accessRole": "A String", # The effective access role that the authenticated user has on the calendar. Read-only. Possible values are:
+          # - "freeBusyReader" - Provides read access to free/busy information.
+          # - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+          # - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+          # - "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+      "id": "A String", # Identifier of the calendar.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="watch">watch(body, syncToken=None, minAccessRole=None, maxResults=None, showDeleted=None, showHidden=None, pageToken=None)</code>
+  <pre>Watch for changes to CalendarList resources.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this channel.
+  }
+
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned on the last result page of the previous method's call. It makes the result of this call contain only entries that have changed since the last call. Optional. The default is to return all entries.
+  minAccessRole: string, The minimum access role for the user in the returned entires. Optional. The default is no restriction.
+    Allowed values
+      freeBusyReader - The user can read free/busy information.
+      owner - The user can read and modify events and access control lists.
+      reader - The user can read events that are not private.
+      writer - The user can read and modify events.
+  maxResults: integer, Maximum number of entries returned on one result page. Optional.
+  showDeleted: boolean, Whether to include deleted calendar list entries in the result. Optional. The default is False.
+  showHidden: boolean, Whether to show hidden entries. Optional. The default is False.
+  pageToken: string, Token specifying which result page to return. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # A version-specific identifier for the watched resource.
+      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+      "params": { # Additional parameters controlling delivery channel behavior. Optional.
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+      "address": "A String", # The address where notifications are delivered for this channel.
+      "type": "A String", # The type of delivery mechanism used for this channel.
+      "id": "A String", # A UUID or similar unique string that identifies this channel.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.calendars.html b/docs/dyn/calendar_v3.calendars.html
new file mode 100644
index 0000000..d6d1524
--- /dev/null
+++ b/docs/dyn/calendar_v3.calendars.html
@@ -0,0 +1,236 @@
+<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.calendars.html">calendars</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#clear">clear(calendarId)</a></code></p>
+<p class="firstline">Clears a primary calendar. This operation deletes all data associated with the primary calendar of an account and cannot be undone.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(calendarId)</a></code></p>
+<p class="firstline">Deletes a secondary calendar.</p>
+<p class="toc_element">
+  <code><a href="#get">get(calendarId)</a></code></p>
+<p class="firstline">Returns metadata for a calendar.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Creates a secondary calendar.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(calendarId, body)</a></code></p>
+<p class="firstline">Updates metadata for a calendar. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(calendarId, body)</a></code></p>
+<p class="firstline">Updates metadata for a calendar.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="clear">clear(calendarId)</code>
+  <pre>Clears a primary calendar. This operation deletes all data associated with the primary calendar of an account and cannot be undone.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(calendarId)</code>
+  <pre>Deletes a secondary calendar.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(calendarId)</code>
+  <pre>Returns metadata for a calendar.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
+      "description": "A String", # Description of the calendar. Optional.
+      "summary": "A String", # Title of the calendar.
+      "etag": "A String", # ETag of the resource.
+      "location": "A String", # Geographic location of the calendar as free-form text. Optional.
+      "timeZone": "A String", # The time zone of the calendar. Optional.
+      "id": "A String", # Identifier of the calendar.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Creates a secondary calendar.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
+    "description": "A String", # Description of the calendar. Optional.
+    "summary": "A String", # Title of the calendar.
+    "etag": "A String", # ETag of the resource.
+    "location": "A String", # Geographic location of the calendar as free-form text. Optional.
+    "timeZone": "A String", # The time zone of the calendar. Optional.
+    "id": "A String", # Identifier of the calendar.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
+      "description": "A String", # Description of the calendar. Optional.
+      "summary": "A String", # Title of the calendar.
+      "etag": "A String", # ETag of the resource.
+      "location": "A String", # Geographic location of the calendar as free-form text. Optional.
+      "timeZone": "A String", # The time zone of the calendar. Optional.
+      "id": "A String", # Identifier of the calendar.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(calendarId, body)</code>
+  <pre>Updates metadata for a calendar. This method supports patch semantics.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
+    "description": "A String", # Description of the calendar. Optional.
+    "summary": "A String", # Title of the calendar.
+    "etag": "A String", # ETag of the resource.
+    "location": "A String", # Geographic location of the calendar as free-form text. Optional.
+    "timeZone": "A String", # The time zone of the calendar. Optional.
+    "id": "A String", # Identifier of the calendar.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
+      "description": "A String", # Description of the calendar. Optional.
+      "summary": "A String", # Title of the calendar.
+      "etag": "A String", # ETag of the resource.
+      "location": "A String", # Geographic location of the calendar as free-form text. Optional.
+      "timeZone": "A String", # The time zone of the calendar. Optional.
+      "id": "A String", # Identifier of the calendar.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(calendarId, body)</code>
+  <pre>Updates metadata for a calendar.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
+    "description": "A String", # Description of the calendar. Optional.
+    "summary": "A String", # Title of the calendar.
+    "etag": "A String", # ETag of the resource.
+    "location": "A String", # Geographic location of the calendar as free-form text. Optional.
+    "timeZone": "A String", # The time zone of the calendar. Optional.
+    "id": "A String", # Identifier of the calendar.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "calendar#calendar", # Type of the resource ("calendar#calendar").
+      "description": "A String", # Description of the calendar. Optional.
+      "summary": "A String", # Title of the calendar.
+      "etag": "A String", # ETag of the resource.
+      "location": "A String", # Geographic location of the calendar as free-form text. Optional.
+      "timeZone": "A String", # The time zone of the calendar. Optional.
+      "id": "A String", # Identifier of the calendar.
+    }</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..c53382c
--- /dev/null
+++ b/docs/dyn/calendar_v3.channels.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="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">Stop watching resources through this channel</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="stop">stop(body)</code>
+  <pre>Stop watching resources through this channel
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this channel.
+  }
+
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.colors.html b/docs/dyn/calendar_v3.colors.html
new file mode 100644
index 0000000..ecbf926
--- /dev/null
+++ b/docs/dyn/calendar_v3.colors.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="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.colors.html">colors</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get()</a></code></p>
+<p class="firstline">Returns the color definitions for calendars and events.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get()</code>
+  <pre>Returns the color definitions for calendars and events.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "calendar": { # Palette of calendar colors, mapping from the color ID to its definition. An 'calendarListEntry' resource refers to one of these color IDs in its 'color' field. Read-only.
+      "a_key": { # A calendar color defintion.
+        "foreground": "A String", # The foreground color that can be used to write on top of a background with 'background' color.
+        "background": "A String", # The background color associated with this color definition.
+      },
+    },
+    "updated": "A String", # Last modification time of the color palette (as a RFC 3339 timestamp). Read-only.
+    "event": { # Palette of event colors, mapping from the color ID to its definition. An 'event' resource may refer to one of these color IDs in its 'color' field. Read-only.
+      "a_key": { # An event color definition.
+        "foreground": "A String", # The foreground color that can be used to write on top of a background with 'background' color.
+        "background": "A String", # The background color associated with this color definition.
+      },
+    },
+    "kind": "calendar#colors", # Type of the resource ("calendar#colors").
+  }</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
new file mode 100644
index 0000000..0b35ed9
--- /dev/null
+++ b/docs/dyn/calendar_v3.events.html
@@ -0,0 +1,2072 @@
+<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.events.html">events</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(calendarId, eventId, sendNotifications=None)</a></code></p>
+<p class="firstline">Deletes an event.</p>
+<p class="toc_element">
+  <code><a href="#get">get(calendarId, eventId, alwaysIncludeEmail=None, timeZone=None, maxAttendees=None)</a></code></p>
+<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. 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>
+<p class="toc_element">
+  <code><a href="#instances">instances(calendarId, eventId, timeMin=None, showDeleted=None, alwaysIncludeEmail=None, pageToken=None, maxAttendees=None, maxResults=None, timeMax=None, timeZone=None, originalStart=None)</a></code></p>
+<p class="firstline">Returns instances of the specified recurring event.</p>
+<p class="toc_element">
+  <code><a href="#instances_next">instances_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(calendarId, orderBy=None, showHiddenInvitations=None, timeMin=None, privateExtendedProperty=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, sharedExtendedProperty=None, maxAttendees=None, syncToken=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</a></code></p>
+<p class="firstline">Returns events on the specified calendar.</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="#move">move(calendarId, eventId, destination, sendNotifications=None)</a></code></p>
+<p class="firstline">Moves an event to another calendar, i.e. changes an event's organizer.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(calendarId, eventId, body, sendNotifications=None, alwaysIncludeEmail=None, maxAttendees=None)</a></code></p>
+<p class="firstline">Updates an event. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#quickAdd">quickAdd(calendarId, text, sendNotifications=None)</a></code></p>
+<p class="firstline">Creates an event based on a simple text string.</p>
+<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, privateExtendedProperty=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, sharedExtendedProperty=None, maxAttendees=None, syncToken=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</a></code></p>
+<p class="firstline">Watch for changes to Events resources.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(calendarId, eventId, sendNotifications=None)</code>
+  <pre>Deletes an event.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  eventId: string, Event identifier. (required)
+  sendNotifications: boolean, Whether to send notifications about the deletion of the event. Optional. The default is False.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(calendarId, eventId, alwaysIncludeEmail=None, timeZone=None, maxAttendees=None)</code>
+  <pre>Returns an event.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  eventId: string, Event identifier. (required)
+  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.
+  timeZone: string, Time zone used in the response. Optional. The default is the time zone of the calendar.
+  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.
+
+Returns:
+  An object of the form:
+
+    {
+      "creator": { # The creator of the event. Read-only.
+        "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The creator's name, if available.
+        "email": "A String", # The creator's email address, if available.
+        "id": "A String", # The creator's Profile ID, if available.
+      },
+      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+        "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The organizer's name, if available.
+        "email": "A String", # The organizer's email address, if available.
+        "id": "A String", # The organizer's Profile ID, if available.
+      },
+      "summary": "A String", # Title of the event.
+      "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+          # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+          # - the length of the ID must be between 5 and 1024 characters
+          # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+      "attendees": [ # The attendees of the event.
+        {
+          "comment": "A String", # The attendee's response comment. Optional.
+          "displayName": "A String", # The attendee's name, if available. Optional.
+          "responseStatus": "A String", # The attendee's response status. Possible values are:
+              # - "needsAction" - The attendee has not responded to the invitation.
+              # - "declined" - The attendee has declined the invitation.
+              # - "tentative" - The attendee has tentatively accepted the invitation.
+              # - "accepted" - The attendee has accepted the invitation.
+          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+          "id": "A String", # The attendee's Profile ID, if available.
+          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+        },
+      ],
+      "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.
+      "gadget": { # A gadget that extends this event.
+        "preferences": { # Preferences.
+          "a_key": "A String", # The preference name and corresponding value.
+        },
+        "title": "A String", # The gadget's title.
+        "height": 42, # The gadget's height in pixels. Optional.
+        "width": 42, # The gadget's width in pixels. Optional.
+        "link": "A String", # The gadget's URL.
+        "type": "A String", # The gadget's type.
+        "display": "A String", # The gadget's display mode. Optional. Possible values are:
+            # - "icon" - The gadget displays next to the event's title in the calendar view.
+            # - "chip" - The gadget displays when the event is clicked.
+        "iconLink": "A String", # The gadget's icon URL.
+      },
+      "status": "A String", # Status of the event. Optional. Possible values are:
+          # - "confirmed" - The event is confirmed. This is the default status.
+          # - "tentative" - The event is tentatively confirmed.
+          # - "cancelled" - The event is cancelled.
+      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+      "description": "A String", # Description of the event. Optional.
+      "iCalUID": "A String", # Event ID in the iCalendar format.
+      "extendedProperties": { # Extended properties of the event.
+        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+          "a_key": "A String", # The name of the shared property and the corresponding value.
+        },
+        "private": { # Properties that are private to the copy of the event that appears on this calendar.
+          "a_key": "A String", # The name of the private property and the corresponding value.
+        },
+      },
+      "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+      "sequence": 42, # Sequence number as per iCalendar.
+      "visibility": "default", # Visibility of the event. Optional. Possible values are:
+          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+          # - "public" - The event is public and event details are visible to all readers of the calendar.
+          # - "private" - The event is private and only event attendees may view event details.
+          # - "confidential" - The event is private. This value is provided for compatibility reasons.
+      "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+      },
+      "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+      "kind": "calendar#event", # Type of the resource ("calendar#event").
+      "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+      "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+      "reminders": { # Information about the event's reminders for the authenticated user.
+        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+          {
+            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+            "method": "A String", # The method used by this reminder. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS.
+                # - "popup" - Reminders are sent via a UI popup.
+          },
+        ],
+        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+      },
+      "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+        "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'.
+      },
+      "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+      "transparency": "opaque", # 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": 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. This operation is used to add a private copy of an existing event to a calendar.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "creator": { # The creator of the event. Read-only.
+      "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+      "displayName": "A String", # The creator's name, if available.
+      "email": "A String", # The creator's email address, if available.
+      "id": "A String", # The creator's Profile ID, if available.
+    },
+    "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+      "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+      "displayName": "A String", # The organizer's name, if available.
+      "email": "A String", # The organizer's email address, if available.
+      "id": "A String", # The organizer's Profile ID, if available.
+    },
+    "summary": "A String", # Title of the event.
+    "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+        # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+        # - the length of the ID must be between 5 and 1024 characters
+        # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+    "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+    "attendees": [ # The attendees of the event.
+      {
+        "comment": "A String", # The attendee's response comment. Optional.
+        "displayName": "A String", # The attendee's name, if available. Optional.
+        "responseStatus": "A String", # The attendee's response status. Possible values are:
+            # - "needsAction" - The attendee has not responded to the invitation.
+            # - "declined" - The attendee has declined the invitation.
+            # - "tentative" - The attendee has tentatively accepted the invitation.
+            # - "accepted" - The attendee has accepted the invitation.
+        "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+        "id": "A String", # The attendee's Profile ID, if available.
+        "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+        "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+        "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+        "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+        "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+      },
+    ],
+    "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.
+    "gadget": { # A gadget that extends this event.
+      "preferences": { # Preferences.
+        "a_key": "A String", # The preference name and corresponding value.
+      },
+      "title": "A String", # The gadget's title.
+      "height": 42, # The gadget's height in pixels. Optional.
+      "width": 42, # The gadget's width in pixels. Optional.
+      "link": "A String", # The gadget's URL.
+      "type": "A String", # The gadget's type.
+      "display": "A String", # The gadget's display mode. Optional. Possible values are:
+          # - "icon" - The gadget displays next to the event's title in the calendar view.
+          # - "chip" - The gadget displays when the event is clicked.
+      "iconLink": "A String", # The gadget's icon URL.
+    },
+    "status": "A String", # Status of the event. Optional. Possible values are:
+        # - "confirmed" - The event is confirmed. This is the default status.
+        # - "tentative" - The event is tentatively confirmed.
+        # - "cancelled" - The event is cancelled.
+    "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+    "description": "A String", # Description of the event. Optional.
+    "iCalUID": "A String", # Event ID in the iCalendar format.
+    "extendedProperties": { # Extended properties of the event.
+      "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+        "a_key": "A String", # The name of the shared property and the corresponding value.
+      },
+      "private": { # Properties that are private to the copy of the event that appears on this calendar.
+        "a_key": "A String", # The name of the private property and the corresponding value.
+      },
+    },
+    "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+    "sequence": 42, # Sequence number as per iCalendar.
+    "visibility": "default", # Visibility of the event. Optional. Possible values are:
+        # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+        # - "public" - The event is public and event details are visible to all readers of the calendar.
+        # - "private" - The event is private and only event attendees may view event details.
+        # - "confidential" - The event is private. This value is provided for compatibility reasons.
+    "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+    "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+    },
+    "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+    "kind": "calendar#event", # Type of the resource ("calendar#event").
+    "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+    "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+    "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+    "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+    "reminders": { # Information about the event's reminders for the authenticated user.
+      "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+        {
+          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+          "method": "A String", # The method used by this reminder. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS.
+              # - "popup" - Reminders are sent via a UI popup.
+        },
+      ],
+      "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+    },
+    "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+    "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+      "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'.
+    },
+    "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+    "transparency": "opaque", # 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": 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.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "creator": { # The creator of the event. Read-only.
+        "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The creator's name, if available.
+        "email": "A String", # The creator's email address, if available.
+        "id": "A String", # The creator's Profile ID, if available.
+      },
+      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+        "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The organizer's name, if available.
+        "email": "A String", # The organizer's email address, if available.
+        "id": "A String", # The organizer's Profile ID, if available.
+      },
+      "summary": "A String", # Title of the event.
+      "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+          # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+          # - the length of the ID must be between 5 and 1024 characters
+          # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+      "attendees": [ # The attendees of the event.
+        {
+          "comment": "A String", # The attendee's response comment. Optional.
+          "displayName": "A String", # The attendee's name, if available. Optional.
+          "responseStatus": "A String", # The attendee's response status. Possible values are:
+              # - "needsAction" - The attendee has not responded to the invitation.
+              # - "declined" - The attendee has declined the invitation.
+              # - "tentative" - The attendee has tentatively accepted the invitation.
+              # - "accepted" - The attendee has accepted the invitation.
+          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+          "id": "A String", # The attendee's Profile ID, if available.
+          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+        },
+      ],
+      "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.
+      "gadget": { # A gadget that extends this event.
+        "preferences": { # Preferences.
+          "a_key": "A String", # The preference name and corresponding value.
+        },
+        "title": "A String", # The gadget's title.
+        "height": 42, # The gadget's height in pixels. Optional.
+        "width": 42, # The gadget's width in pixels. Optional.
+        "link": "A String", # The gadget's URL.
+        "type": "A String", # The gadget's type.
+        "display": "A String", # The gadget's display mode. Optional. Possible values are:
+            # - "icon" - The gadget displays next to the event's title in the calendar view.
+            # - "chip" - The gadget displays when the event is clicked.
+        "iconLink": "A String", # The gadget's icon URL.
+      },
+      "status": "A String", # Status of the event. Optional. Possible values are:
+          # - "confirmed" - The event is confirmed. This is the default status.
+          # - "tentative" - The event is tentatively confirmed.
+          # - "cancelled" - The event is cancelled.
+      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+      "description": "A String", # Description of the event. Optional.
+      "iCalUID": "A String", # Event ID in the iCalendar format.
+      "extendedProperties": { # Extended properties of the event.
+        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+          "a_key": "A String", # The name of the shared property and the corresponding value.
+        },
+        "private": { # Properties that are private to the copy of the event that appears on this calendar.
+          "a_key": "A String", # The name of the private property and the corresponding value.
+        },
+      },
+      "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+      "sequence": 42, # Sequence number as per iCalendar.
+      "visibility": "default", # Visibility of the event. Optional. Possible values are:
+          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+          # - "public" - The event is public and event details are visible to all readers of the calendar.
+          # - "private" - The event is private and only event attendees may view event details.
+          # - "confidential" - The event is private. This value is provided for compatibility reasons.
+      "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+      },
+      "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+      "kind": "calendar#event", # Type of the resource ("calendar#event").
+      "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+      "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+      "reminders": { # Information about the event's reminders for the authenticated user.
+        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+          {
+            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+            "method": "A String", # The method used by this reminder. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS.
+                # - "popup" - Reminders are sent via a UI popup.
+          },
+        ],
+        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+      },
+      "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+        "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'.
+      },
+      "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+      "transparency": "opaque", # 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": 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="insert">insert(calendarId, body, sendNotifications=None, maxAttendees=None)</code>
+  <pre>Creates an event.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "creator": { # The creator of the event. Read-only.
+      "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+      "displayName": "A String", # The creator's name, if available.
+      "email": "A String", # The creator's email address, if available.
+      "id": "A String", # The creator's Profile ID, if available.
+    },
+    "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+      "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+      "displayName": "A String", # The organizer's name, if available.
+      "email": "A String", # The organizer's email address, if available.
+      "id": "A String", # The organizer's Profile ID, if available.
+    },
+    "summary": "A String", # Title of the event.
+    "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+        # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+        # - the length of the ID must be between 5 and 1024 characters
+        # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+    "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+    "attendees": [ # The attendees of the event.
+      {
+        "comment": "A String", # The attendee's response comment. Optional.
+        "displayName": "A String", # The attendee's name, if available. Optional.
+        "responseStatus": "A String", # The attendee's response status. Possible values are:
+            # - "needsAction" - The attendee has not responded to the invitation.
+            # - "declined" - The attendee has declined the invitation.
+            # - "tentative" - The attendee has tentatively accepted the invitation.
+            # - "accepted" - The attendee has accepted the invitation.
+        "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+        "id": "A String", # The attendee's Profile ID, if available.
+        "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+        "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+        "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+        "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+        "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+      },
+    ],
+    "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.
+    "gadget": { # A gadget that extends this event.
+      "preferences": { # Preferences.
+        "a_key": "A String", # The preference name and corresponding value.
+      },
+      "title": "A String", # The gadget's title.
+      "height": 42, # The gadget's height in pixels. Optional.
+      "width": 42, # The gadget's width in pixels. Optional.
+      "link": "A String", # The gadget's URL.
+      "type": "A String", # The gadget's type.
+      "display": "A String", # The gadget's display mode. Optional. Possible values are:
+          # - "icon" - The gadget displays next to the event's title in the calendar view.
+          # - "chip" - The gadget displays when the event is clicked.
+      "iconLink": "A String", # The gadget's icon URL.
+    },
+    "status": "A String", # Status of the event. Optional. Possible values are:
+        # - "confirmed" - The event is confirmed. This is the default status.
+        # - "tentative" - The event is tentatively confirmed.
+        # - "cancelled" - The event is cancelled.
+    "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+    "description": "A String", # Description of the event. Optional.
+    "iCalUID": "A String", # Event ID in the iCalendar format.
+    "extendedProperties": { # Extended properties of the event.
+      "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+        "a_key": "A String", # The name of the shared property and the corresponding value.
+      },
+      "private": { # Properties that are private to the copy of the event that appears on this calendar.
+        "a_key": "A String", # The name of the private property and the corresponding value.
+      },
+    },
+    "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+    "sequence": 42, # Sequence number as per iCalendar.
+    "visibility": "default", # Visibility of the event. Optional. Possible values are:
+        # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+        # - "public" - The event is public and event details are visible to all readers of the calendar.
+        # - "private" - The event is private and only event attendees may view event details.
+        # - "confidential" - The event is private. This value is provided for compatibility reasons.
+    "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+    "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+    },
+    "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+    "kind": "calendar#event", # Type of the resource ("calendar#event").
+    "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+    "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+    "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+    "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+    "reminders": { # Information about the event's reminders for the authenticated user.
+      "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+        {
+          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+          "method": "A String", # The method used by this reminder. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS.
+              # - "popup" - Reminders are sent via a UI popup.
+        },
+      ],
+      "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+    },
+    "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+    "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+      "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'.
+    },
+    "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+    "transparency": "opaque", # 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": 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.
+  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.
+
+Returns:
+  An object of the form:
+
+    {
+      "creator": { # The creator of the event. Read-only.
+        "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The creator's name, if available.
+        "email": "A String", # The creator's email address, if available.
+        "id": "A String", # The creator's Profile ID, if available.
+      },
+      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+        "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The organizer's name, if available.
+        "email": "A String", # The organizer's email address, if available.
+        "id": "A String", # The organizer's Profile ID, if available.
+      },
+      "summary": "A String", # Title of the event.
+      "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+          # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+          # - the length of the ID must be between 5 and 1024 characters
+          # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+      "attendees": [ # The attendees of the event.
+        {
+          "comment": "A String", # The attendee's response comment. Optional.
+          "displayName": "A String", # The attendee's name, if available. Optional.
+          "responseStatus": "A String", # The attendee's response status. Possible values are:
+              # - "needsAction" - The attendee has not responded to the invitation.
+              # - "declined" - The attendee has declined the invitation.
+              # - "tentative" - The attendee has tentatively accepted the invitation.
+              # - "accepted" - The attendee has accepted the invitation.
+          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+          "id": "A String", # The attendee's Profile ID, if available.
+          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+        },
+      ],
+      "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.
+      "gadget": { # A gadget that extends this event.
+        "preferences": { # Preferences.
+          "a_key": "A String", # The preference name and corresponding value.
+        },
+        "title": "A String", # The gadget's title.
+        "height": 42, # The gadget's height in pixels. Optional.
+        "width": 42, # The gadget's width in pixels. Optional.
+        "link": "A String", # The gadget's URL.
+        "type": "A String", # The gadget's type.
+        "display": "A String", # The gadget's display mode. Optional. Possible values are:
+            # - "icon" - The gadget displays next to the event's title in the calendar view.
+            # - "chip" - The gadget displays when the event is clicked.
+        "iconLink": "A String", # The gadget's icon URL.
+      },
+      "status": "A String", # Status of the event. Optional. Possible values are:
+          # - "confirmed" - The event is confirmed. This is the default status.
+          # - "tentative" - The event is tentatively confirmed.
+          # - "cancelled" - The event is cancelled.
+      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+      "description": "A String", # Description of the event. Optional.
+      "iCalUID": "A String", # Event ID in the iCalendar format.
+      "extendedProperties": { # Extended properties of the event.
+        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+          "a_key": "A String", # The name of the shared property and the corresponding value.
+        },
+        "private": { # Properties that are private to the copy of the event that appears on this calendar.
+          "a_key": "A String", # The name of the private property and the corresponding value.
+        },
+      },
+      "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+      "sequence": 42, # Sequence number as per iCalendar.
+      "visibility": "default", # Visibility of the event. Optional. Possible values are:
+          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+          # - "public" - The event is public and event details are visible to all readers of the calendar.
+          # - "private" - The event is private and only event attendees may view event details.
+          # - "confidential" - The event is private. This value is provided for compatibility reasons.
+      "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+      },
+      "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+      "kind": "calendar#event", # Type of the resource ("calendar#event").
+      "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+      "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+      "reminders": { # Information about the event's reminders for the authenticated user.
+        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+          {
+            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+            "method": "A String", # The method used by this reminder. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS.
+                # - "popup" - Reminders are sent via a UI popup.
+          },
+        ],
+        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+      },
+      "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+        "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'.
+      },
+      "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+      "transparency": "opaque", # 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": 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="instances">instances(calendarId, eventId, timeMin=None, showDeleted=None, alwaysIncludeEmail=None, pageToken=None, maxAttendees=None, maxResults=None, timeMax=None, timeZone=None, originalStart=None)</code>
+  <pre>Returns instances of the specified recurring event.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  eventId: string, Recurring event identifier. (required)
+  timeMin: string, Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time.
+  showDeleted: boolean, Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events will still be included if 'singleEvents' is False. 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.
+  pageToken: string, Token specifying which result page to return. Optional.
+  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.
+  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.
+  timeZone: string, Time zone used in the response. Optional. The default is the time zone of the calendar.
+  originalStart: string, The original start time of the instance in the result. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token used to access the next page of this result. Omitted if no further results are available.
+    "kind": "calendar#events", # Type of the collection ("calendar#events").
+    "defaultReminders": [ # The default reminders on the calendar for the authenticated user. These reminders apply to all events on this calendar that do not explicitly override them (i.e. do not have 'reminders.useDefault' set to 'true').
+      {
+        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+        "method": "A String", # The method used by this reminder. Possible values are:
+            # - "email" - Reminders are sent via email.
+            # - "sms" - Reminders are sent via SMS.
+            # - "popup" - Reminders are sent via a UI popup.
+      },
+    ],
+    "description": "A String", # Description of the calendar. Read-only.
+    "items": [ # List of events on the calendar.
+      {
+          "creator": { # The creator of the event. Read-only.
+            "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+            "displayName": "A String", # The creator's name, if available.
+            "email": "A String", # The creator's email address, if available.
+            "id": "A String", # The creator's Profile ID, if available.
+          },
+          "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+            "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+            "displayName": "A String", # The organizer's name, if available.
+            "email": "A String", # The organizer's email address, if available.
+            "id": "A String", # The organizer's Profile ID, if available.
+          },
+          "summary": "A String", # Title of the event.
+          "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+              # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+              # - the length of the ID must be between 5 and 1024 characters
+              # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+          "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+          "attendees": [ # The attendees of the event.
+            {
+              "comment": "A String", # The attendee's response comment. Optional.
+              "displayName": "A String", # The attendee's name, if available. Optional.
+              "responseStatus": "A String", # The attendee's response status. Possible values are:
+                  # - "needsAction" - The attendee has not responded to the invitation.
+                  # - "declined" - The attendee has declined the invitation.
+                  # - "tentative" - The attendee has tentatively accepted the invitation.
+                  # - "accepted" - The attendee has accepted the invitation.
+              "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+              "id": "A String", # The attendee's Profile ID, if available.
+              "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+              "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+              "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+              "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+              "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+            },
+          ],
+          "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.
+          "gadget": { # A gadget that extends this event.
+            "preferences": { # Preferences.
+              "a_key": "A String", # The preference name and corresponding value.
+            },
+            "title": "A String", # The gadget's title.
+            "height": 42, # The gadget's height in pixels. Optional.
+            "width": 42, # The gadget's width in pixels. Optional.
+            "link": "A String", # The gadget's URL.
+            "type": "A String", # The gadget's type.
+            "display": "A String", # The gadget's display mode. Optional. Possible values are:
+                # - "icon" - The gadget displays next to the event's title in the calendar view.
+                # - "chip" - The gadget displays when the event is clicked.
+            "iconLink": "A String", # The gadget's icon URL.
+          },
+          "status": "A String", # Status of the event. Optional. Possible values are:
+              # - "confirmed" - The event is confirmed. This is the default status.
+              # - "tentative" - The event is tentatively confirmed.
+              # - "cancelled" - The event is cancelled.
+          "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+          "description": "A String", # Description of the event. Optional.
+          "iCalUID": "A String", # Event ID in the iCalendar format.
+          "extendedProperties": { # Extended properties of the event.
+            "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+              "a_key": "A String", # The name of the shared property and the corresponding value.
+            },
+            "private": { # Properties that are private to the copy of the event that appears on this calendar.
+              "a_key": "A String", # The name of the private property and the corresponding value.
+            },
+          },
+          "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+          "sequence": 42, # Sequence number as per iCalendar.
+          "visibility": "default", # Visibility of the event. Optional. Possible values are:
+              # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+              # - "public" - The event is public and event details are visible to all readers of the calendar.
+              # - "private" - The event is private and only event attendees may view event details.
+              # - "confidential" - The event is private. This value is provided for compatibility reasons.
+          "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+          "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+          },
+          "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+          "kind": "calendar#event", # Type of the resource ("calendar#event").
+          "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+          "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+          "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+          "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+          "reminders": { # Information about the event's reminders for the authenticated user.
+            "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+              {
+                "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+                "method": "A String", # The method used by this reminder. Possible values are:
+                    # - "email" - Reminders are sent via email.
+                    # - "sms" - Reminders are sent via SMS.
+                    # - "popup" - Reminders are sent via a UI popup.
+              },
+            ],
+            "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+          },
+          "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+          "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+            "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'.
+          },
+          "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+          "transparency": "opaque", # 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": 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.
+    "summary": "A String", # Title of the calendar. Read-only.
+    "etag": "A String", # ETag of the collection.
+    "timeZone": "A String", # The time zone of the calendar. Read-only.
+    "nextSyncToken": "A String", # Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided.
+    "accessRole": "A String", # The user's access role for this calendar. Read-only. Possible values are:
+        # - "none" - The user has no access.
+        # - "freeBusyReader" - The user has read access to free/busy information.
+        # - "reader" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - The user has read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - The user has ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="instances_next">instances_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(calendarId, orderBy=None, showHiddenInvitations=None, timeMin=None, privateExtendedProperty=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, sharedExtendedProperty=None, maxAttendees=None, syncToken=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</code>
+  <pre>Returns events on the specified calendar.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  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.
+  privateExtendedProperty: string, Extended properties constraint specified as propertyName=value. Matches only private properties. This parameter might be repeated multiple times to return events that match all given constraints. (repeated)
+  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.
+  sharedExtendedProperty: string, Extended properties constraint specified as propertyName=value. Matches only shared properties. This parameter might be repeated multiple times to return events that match all given constraints. (repeated)
+  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.
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned on the last result page of the previous method's call. It makes the result of this call contain only entries that have changed since the last call. Optional. The default is to return all entries.
+  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:
+
+    {
+    "nextPageToken": "A String", # Token used to access the next page of this result. Omitted if no further results are available.
+    "kind": "calendar#events", # Type of the collection ("calendar#events").
+    "defaultReminders": [ # The default reminders on the calendar for the authenticated user. These reminders apply to all events on this calendar that do not explicitly override them (i.e. do not have 'reminders.useDefault' set to 'true').
+      {
+        "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+        "method": "A String", # The method used by this reminder. Possible values are:
+            # - "email" - Reminders are sent via email.
+            # - "sms" - Reminders are sent via SMS.
+            # - "popup" - Reminders are sent via a UI popup.
+      },
+    ],
+    "description": "A String", # Description of the calendar. Read-only.
+    "items": [ # List of events on the calendar.
+      {
+          "creator": { # The creator of the event. Read-only.
+            "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+            "displayName": "A String", # The creator's name, if available.
+            "email": "A String", # The creator's email address, if available.
+            "id": "A String", # The creator's Profile ID, if available.
+          },
+          "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+            "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+            "displayName": "A String", # The organizer's name, if available.
+            "email": "A String", # The organizer's email address, if available.
+            "id": "A String", # The organizer's Profile ID, if available.
+          },
+          "summary": "A String", # Title of the event.
+          "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+              # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+              # - the length of the ID must be between 5 and 1024 characters
+              # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+          "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+          "attendees": [ # The attendees of the event.
+            {
+              "comment": "A String", # The attendee's response comment. Optional.
+              "displayName": "A String", # The attendee's name, if available. Optional.
+              "responseStatus": "A String", # The attendee's response status. Possible values are:
+                  # - "needsAction" - The attendee has not responded to the invitation.
+                  # - "declined" - The attendee has declined the invitation.
+                  # - "tentative" - The attendee has tentatively accepted the invitation.
+                  # - "accepted" - The attendee has accepted the invitation.
+              "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+              "id": "A String", # The attendee's Profile ID, if available.
+              "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+              "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+              "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+              "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+              "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+            },
+          ],
+          "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.
+          "gadget": { # A gadget that extends this event.
+            "preferences": { # Preferences.
+              "a_key": "A String", # The preference name and corresponding value.
+            },
+            "title": "A String", # The gadget's title.
+            "height": 42, # The gadget's height in pixels. Optional.
+            "width": 42, # The gadget's width in pixels. Optional.
+            "link": "A String", # The gadget's URL.
+            "type": "A String", # The gadget's type.
+            "display": "A String", # The gadget's display mode. Optional. Possible values are:
+                # - "icon" - The gadget displays next to the event's title in the calendar view.
+                # - "chip" - The gadget displays when the event is clicked.
+            "iconLink": "A String", # The gadget's icon URL.
+          },
+          "status": "A String", # Status of the event. Optional. Possible values are:
+              # - "confirmed" - The event is confirmed. This is the default status.
+              # - "tentative" - The event is tentatively confirmed.
+              # - "cancelled" - The event is cancelled.
+          "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+          "description": "A String", # Description of the event. Optional.
+          "iCalUID": "A String", # Event ID in the iCalendar format.
+          "extendedProperties": { # Extended properties of the event.
+            "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+              "a_key": "A String", # The name of the shared property and the corresponding value.
+            },
+            "private": { # Properties that are private to the copy of the event that appears on this calendar.
+              "a_key": "A String", # The name of the private property and the corresponding value.
+            },
+          },
+          "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+          "sequence": 42, # Sequence number as per iCalendar.
+          "visibility": "default", # Visibility of the event. Optional. Possible values are:
+              # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+              # - "public" - The event is public and event details are visible to all readers of the calendar.
+              # - "private" - The event is private and only event attendees may view event details.
+              # - "confidential" - The event is private. This value is provided for compatibility reasons.
+          "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+          "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+          },
+          "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+          "kind": "calendar#event", # Type of the resource ("calendar#event").
+          "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+          "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+          "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+          "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+          "reminders": { # Information about the event's reminders for the authenticated user.
+            "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+              {
+                "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+                "method": "A String", # The method used by this reminder. Possible values are:
+                    # - "email" - Reminders are sent via email.
+                    # - "sms" - Reminders are sent via SMS.
+                    # - "popup" - Reminders are sent via a UI popup.
+              },
+            ],
+            "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+          },
+          "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+          "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+            "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'.
+          },
+          "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+          "transparency": "opaque", # 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": 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.
+    "summary": "A String", # Title of the calendar. Read-only.
+    "etag": "A String", # ETag of the collection.
+    "timeZone": "A String", # The time zone of the calendar. Read-only.
+    "nextSyncToken": "A String", # Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided.
+    "accessRole": "A String", # The user's access role for this calendar. Read-only. Possible values are:
+        # - "none" - The user has no access.
+        # - "freeBusyReader" - The user has read access to free/busy information.
+        # - "reader" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will be hidden.
+        # - "writer" - The user has read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible.
+        # - "owner" - The user has ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.
+  }</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="move">move(calendarId, eventId, destination, sendNotifications=None)</code>
+  <pre>Moves an event to another calendar, i.e. changes an event's organizer.
+
+Args:
+  calendarId: string, Calendar identifier of the source calendar where the event currently is on. (required)
+  eventId: string, Event identifier. (required)
+  destination: string, Calendar identifier of the target calendar where the event is to be moved to. (required)
+  sendNotifications: boolean, Whether to send notifications about the change of the event's organizer. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+      "creator": { # The creator of the event. Read-only.
+        "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The creator's name, if available.
+        "email": "A String", # The creator's email address, if available.
+        "id": "A String", # The creator's Profile ID, if available.
+      },
+      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+        "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The organizer's name, if available.
+        "email": "A String", # The organizer's email address, if available.
+        "id": "A String", # The organizer's Profile ID, if available.
+      },
+      "summary": "A String", # Title of the event.
+      "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+          # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+          # - the length of the ID must be between 5 and 1024 characters
+          # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+      "attendees": [ # The attendees of the event.
+        {
+          "comment": "A String", # The attendee's response comment. Optional.
+          "displayName": "A String", # The attendee's name, if available. Optional.
+          "responseStatus": "A String", # The attendee's response status. Possible values are:
+              # - "needsAction" - The attendee has not responded to the invitation.
+              # - "declined" - The attendee has declined the invitation.
+              # - "tentative" - The attendee has tentatively accepted the invitation.
+              # - "accepted" - The attendee has accepted the invitation.
+          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+          "id": "A String", # The attendee's Profile ID, if available.
+          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+        },
+      ],
+      "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.
+      "gadget": { # A gadget that extends this event.
+        "preferences": { # Preferences.
+          "a_key": "A String", # The preference name and corresponding value.
+        },
+        "title": "A String", # The gadget's title.
+        "height": 42, # The gadget's height in pixels. Optional.
+        "width": 42, # The gadget's width in pixels. Optional.
+        "link": "A String", # The gadget's URL.
+        "type": "A String", # The gadget's type.
+        "display": "A String", # The gadget's display mode. Optional. Possible values are:
+            # - "icon" - The gadget displays next to the event's title in the calendar view.
+            # - "chip" - The gadget displays when the event is clicked.
+        "iconLink": "A String", # The gadget's icon URL.
+      },
+      "status": "A String", # Status of the event. Optional. Possible values are:
+          # - "confirmed" - The event is confirmed. This is the default status.
+          # - "tentative" - The event is tentatively confirmed.
+          # - "cancelled" - The event is cancelled.
+      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+      "description": "A String", # Description of the event. Optional.
+      "iCalUID": "A String", # Event ID in the iCalendar format.
+      "extendedProperties": { # Extended properties of the event.
+        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+          "a_key": "A String", # The name of the shared property and the corresponding value.
+        },
+        "private": { # Properties that are private to the copy of the event that appears on this calendar.
+          "a_key": "A String", # The name of the private property and the corresponding value.
+        },
+      },
+      "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+      "sequence": 42, # Sequence number as per iCalendar.
+      "visibility": "default", # Visibility of the event. Optional. Possible values are:
+          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+          # - "public" - The event is public and event details are visible to all readers of the calendar.
+          # - "private" - The event is private and only event attendees may view event details.
+          # - "confidential" - The event is private. This value is provided for compatibility reasons.
+      "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+      },
+      "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+      "kind": "calendar#event", # Type of the resource ("calendar#event").
+      "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+      "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+      "reminders": { # Information about the event's reminders for the authenticated user.
+        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+          {
+            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+            "method": "A String", # The method used by this reminder. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS.
+                # - "popup" - Reminders are sent via a UI popup.
+          },
+        ],
+        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+      },
+      "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+        "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'.
+      },
+      "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+      "transparency": "opaque", # 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": 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="patch">patch(calendarId, eventId, body, sendNotifications=None, alwaysIncludeEmail=None, maxAttendees=None)</code>
+  <pre>Updates an event. This method supports patch semantics.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  eventId: string, Event identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "creator": { # The creator of the event. Read-only.
+      "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+      "displayName": "A String", # The creator's name, if available.
+      "email": "A String", # The creator's email address, if available.
+      "id": "A String", # The creator's Profile ID, if available.
+    },
+    "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+      "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+      "displayName": "A String", # The organizer's name, if available.
+      "email": "A String", # The organizer's email address, if available.
+      "id": "A String", # The organizer's Profile ID, if available.
+    },
+    "summary": "A String", # Title of the event.
+    "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+        # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+        # - the length of the ID must be between 5 and 1024 characters
+        # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+    "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+    "attendees": [ # The attendees of the event.
+      {
+        "comment": "A String", # The attendee's response comment. Optional.
+        "displayName": "A String", # The attendee's name, if available. Optional.
+        "responseStatus": "A String", # The attendee's response status. Possible values are:
+            # - "needsAction" - The attendee has not responded to the invitation.
+            # - "declined" - The attendee has declined the invitation.
+            # - "tentative" - The attendee has tentatively accepted the invitation.
+            # - "accepted" - The attendee has accepted the invitation.
+        "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+        "id": "A String", # The attendee's Profile ID, if available.
+        "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+        "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+        "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+        "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+        "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+      },
+    ],
+    "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.
+    "gadget": { # A gadget that extends this event.
+      "preferences": { # Preferences.
+        "a_key": "A String", # The preference name and corresponding value.
+      },
+      "title": "A String", # The gadget's title.
+      "height": 42, # The gadget's height in pixels. Optional.
+      "width": 42, # The gadget's width in pixels. Optional.
+      "link": "A String", # The gadget's URL.
+      "type": "A String", # The gadget's type.
+      "display": "A String", # The gadget's display mode. Optional. Possible values are:
+          # - "icon" - The gadget displays next to the event's title in the calendar view.
+          # - "chip" - The gadget displays when the event is clicked.
+      "iconLink": "A String", # The gadget's icon URL.
+    },
+    "status": "A String", # Status of the event. Optional. Possible values are:
+        # - "confirmed" - The event is confirmed. This is the default status.
+        # - "tentative" - The event is tentatively confirmed.
+        # - "cancelled" - The event is cancelled.
+    "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+    "description": "A String", # Description of the event. Optional.
+    "iCalUID": "A String", # Event ID in the iCalendar format.
+    "extendedProperties": { # Extended properties of the event.
+      "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+        "a_key": "A String", # The name of the shared property and the corresponding value.
+      },
+      "private": { # Properties that are private to the copy of the event that appears on this calendar.
+        "a_key": "A String", # The name of the private property and the corresponding value.
+      },
+    },
+    "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+    "sequence": 42, # Sequence number as per iCalendar.
+    "visibility": "default", # Visibility of the event. Optional. Possible values are:
+        # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+        # - "public" - The event is public and event details are visible to all readers of the calendar.
+        # - "private" - The event is private and only event attendees may view event details.
+        # - "confidential" - The event is private. This value is provided for compatibility reasons.
+    "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+    "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+    },
+    "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+    "kind": "calendar#event", # Type of the resource ("calendar#event").
+    "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+    "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+    "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+    "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+    "reminders": { # Information about the event's reminders for the authenticated user.
+      "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+        {
+          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+          "method": "A String", # The method used by this reminder. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS.
+              # - "popup" - Reminders are sent via a UI popup.
+        },
+      ],
+      "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+    },
+    "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+    "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+      "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'.
+    },
+    "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+    "transparency": "opaque", # 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": 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.
+  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.
+  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.
+
+Returns:
+  An object of the form:
+
+    {
+      "creator": { # The creator of the event. Read-only.
+        "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The creator's name, if available.
+        "email": "A String", # The creator's email address, if available.
+        "id": "A String", # The creator's Profile ID, if available.
+      },
+      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+        "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The organizer's name, if available.
+        "email": "A String", # The organizer's email address, if available.
+        "id": "A String", # The organizer's Profile ID, if available.
+      },
+      "summary": "A String", # Title of the event.
+      "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+          # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+          # - the length of the ID must be between 5 and 1024 characters
+          # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+      "attendees": [ # The attendees of the event.
+        {
+          "comment": "A String", # The attendee's response comment. Optional.
+          "displayName": "A String", # The attendee's name, if available. Optional.
+          "responseStatus": "A String", # The attendee's response status. Possible values are:
+              # - "needsAction" - The attendee has not responded to the invitation.
+              # - "declined" - The attendee has declined the invitation.
+              # - "tentative" - The attendee has tentatively accepted the invitation.
+              # - "accepted" - The attendee has accepted the invitation.
+          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+          "id": "A String", # The attendee's Profile ID, if available.
+          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+        },
+      ],
+      "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.
+      "gadget": { # A gadget that extends this event.
+        "preferences": { # Preferences.
+          "a_key": "A String", # The preference name and corresponding value.
+        },
+        "title": "A String", # The gadget's title.
+        "height": 42, # The gadget's height in pixels. Optional.
+        "width": 42, # The gadget's width in pixels. Optional.
+        "link": "A String", # The gadget's URL.
+        "type": "A String", # The gadget's type.
+        "display": "A String", # The gadget's display mode. Optional. Possible values are:
+            # - "icon" - The gadget displays next to the event's title in the calendar view.
+            # - "chip" - The gadget displays when the event is clicked.
+        "iconLink": "A String", # The gadget's icon URL.
+      },
+      "status": "A String", # Status of the event. Optional. Possible values are:
+          # - "confirmed" - The event is confirmed. This is the default status.
+          # - "tentative" - The event is tentatively confirmed.
+          # - "cancelled" - The event is cancelled.
+      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+      "description": "A String", # Description of the event. Optional.
+      "iCalUID": "A String", # Event ID in the iCalendar format.
+      "extendedProperties": { # Extended properties of the event.
+        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+          "a_key": "A String", # The name of the shared property and the corresponding value.
+        },
+        "private": { # Properties that are private to the copy of the event that appears on this calendar.
+          "a_key": "A String", # The name of the private property and the corresponding value.
+        },
+      },
+      "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+      "sequence": 42, # Sequence number as per iCalendar.
+      "visibility": "default", # Visibility of the event. Optional. Possible values are:
+          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+          # - "public" - The event is public and event details are visible to all readers of the calendar.
+          # - "private" - The event is private and only event attendees may view event details.
+          # - "confidential" - The event is private. This value is provided for compatibility reasons.
+      "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+      },
+      "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+      "kind": "calendar#event", # Type of the resource ("calendar#event").
+      "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+      "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+      "reminders": { # Information about the event's reminders for the authenticated user.
+        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+          {
+            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+            "method": "A String", # The method used by this reminder. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS.
+                # - "popup" - Reminders are sent via a UI popup.
+          },
+        ],
+        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+      },
+      "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+        "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'.
+      },
+      "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+      "transparency": "opaque", # 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": 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="quickAdd">quickAdd(calendarId, text, sendNotifications=None)</code>
+  <pre>Creates an event based on a simple text string.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  text: string, The text describing the event to be created. (required)
+  sendNotifications: boolean, Whether to send notifications about the creation of the event. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+      "creator": { # The creator of the event. Read-only.
+        "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The creator's name, if available.
+        "email": "A String", # The creator's email address, if available.
+        "id": "A String", # The creator's Profile ID, if available.
+      },
+      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+        "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The organizer's name, if available.
+        "email": "A String", # The organizer's email address, if available.
+        "id": "A String", # The organizer's Profile ID, if available.
+      },
+      "summary": "A String", # Title of the event.
+      "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+          # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+          # - the length of the ID must be between 5 and 1024 characters
+          # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+      "attendees": [ # The attendees of the event.
+        {
+          "comment": "A String", # The attendee's response comment. Optional.
+          "displayName": "A String", # The attendee's name, if available. Optional.
+          "responseStatus": "A String", # The attendee's response status. Possible values are:
+              # - "needsAction" - The attendee has not responded to the invitation.
+              # - "declined" - The attendee has declined the invitation.
+              # - "tentative" - The attendee has tentatively accepted the invitation.
+              # - "accepted" - The attendee has accepted the invitation.
+          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+          "id": "A String", # The attendee's Profile ID, if available.
+          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+        },
+      ],
+      "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.
+      "gadget": { # A gadget that extends this event.
+        "preferences": { # Preferences.
+          "a_key": "A String", # The preference name and corresponding value.
+        },
+        "title": "A String", # The gadget's title.
+        "height": 42, # The gadget's height in pixels. Optional.
+        "width": 42, # The gadget's width in pixels. Optional.
+        "link": "A String", # The gadget's URL.
+        "type": "A String", # The gadget's type.
+        "display": "A String", # The gadget's display mode. Optional. Possible values are:
+            # - "icon" - The gadget displays next to the event's title in the calendar view.
+            # - "chip" - The gadget displays when the event is clicked.
+        "iconLink": "A String", # The gadget's icon URL.
+      },
+      "status": "A String", # Status of the event. Optional. Possible values are:
+          # - "confirmed" - The event is confirmed. This is the default status.
+          # - "tentative" - The event is tentatively confirmed.
+          # - "cancelled" - The event is cancelled.
+      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+      "description": "A String", # Description of the event. Optional.
+      "iCalUID": "A String", # Event ID in the iCalendar format.
+      "extendedProperties": { # Extended properties of the event.
+        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+          "a_key": "A String", # The name of the shared property and the corresponding value.
+        },
+        "private": { # Properties that are private to the copy of the event that appears on this calendar.
+          "a_key": "A String", # The name of the private property and the corresponding value.
+        },
+      },
+      "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+      "sequence": 42, # Sequence number as per iCalendar.
+      "visibility": "default", # Visibility of the event. Optional. Possible values are:
+          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+          # - "public" - The event is public and event details are visible to all readers of the calendar.
+          # - "private" - The event is private and only event attendees may view event details.
+          # - "confidential" - The event is private. This value is provided for compatibility reasons.
+      "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+      },
+      "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+      "kind": "calendar#event", # Type of the resource ("calendar#event").
+      "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+      "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+      "reminders": { # Information about the event's reminders for the authenticated user.
+        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+          {
+            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+            "method": "A String", # The method used by this reminder. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS.
+                # - "popup" - Reminders are sent via a UI popup.
+          },
+        ],
+        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+      },
+      "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+        "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'.
+      },
+      "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+      "transparency": "opaque", # 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": 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="update">update(calendarId, eventId, body, sendNotifications=None, alwaysIncludeEmail=None, maxAttendees=None)</code>
+  <pre>Updates an event.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  eventId: string, Event identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "creator": { # The creator of the event. Read-only.
+      "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+      "displayName": "A String", # The creator's name, if available.
+      "email": "A String", # The creator's email address, if available.
+      "id": "A String", # The creator's Profile ID, if available.
+    },
+    "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+      "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+      "displayName": "A String", # The organizer's name, if available.
+      "email": "A String", # The organizer's email address, if available.
+      "id": "A String", # The organizer's Profile ID, if available.
+    },
+    "summary": "A String", # Title of the event.
+    "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+        # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+        # - the length of the ID must be between 5 and 1024 characters
+        # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+    "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+    "attendees": [ # The attendees of the event.
+      {
+        "comment": "A String", # The attendee's response comment. Optional.
+        "displayName": "A String", # The attendee's name, if available. Optional.
+        "responseStatus": "A String", # The attendee's response status. Possible values are:
+            # - "needsAction" - The attendee has not responded to the invitation.
+            # - "declined" - The attendee has declined the invitation.
+            # - "tentative" - The attendee has tentatively accepted the invitation.
+            # - "accepted" - The attendee has accepted the invitation.
+        "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+        "id": "A String", # The attendee's Profile ID, if available.
+        "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+        "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+        "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+        "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+        "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+      },
+    ],
+    "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.
+    "gadget": { # A gadget that extends this event.
+      "preferences": { # Preferences.
+        "a_key": "A String", # The preference name and corresponding value.
+      },
+      "title": "A String", # The gadget's title.
+      "height": 42, # The gadget's height in pixels. Optional.
+      "width": 42, # The gadget's width in pixels. Optional.
+      "link": "A String", # The gadget's URL.
+      "type": "A String", # The gadget's type.
+      "display": "A String", # The gadget's display mode. Optional. Possible values are:
+          # - "icon" - The gadget displays next to the event's title in the calendar view.
+          # - "chip" - The gadget displays when the event is clicked.
+      "iconLink": "A String", # The gadget's icon URL.
+    },
+    "status": "A String", # Status of the event. Optional. Possible values are:
+        # - "confirmed" - The event is confirmed. This is the default status.
+        # - "tentative" - The event is tentatively confirmed.
+        # - "cancelled" - The event is cancelled.
+    "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+    "description": "A String", # Description of the event. Optional.
+    "iCalUID": "A String", # Event ID in the iCalendar format.
+    "extendedProperties": { # Extended properties of the event.
+      "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+        "a_key": "A String", # The name of the shared property and the corresponding value.
+      },
+      "private": { # Properties that are private to the copy of the event that appears on this calendar.
+        "a_key": "A String", # The name of the private property and the corresponding value.
+      },
+    },
+    "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+    "sequence": 42, # Sequence number as per iCalendar.
+    "visibility": "default", # Visibility of the event. Optional. Possible values are:
+        # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+        # - "public" - The event is public and event details are visible to all readers of the calendar.
+        # - "private" - The event is private and only event attendees may view event details.
+        # - "confidential" - The event is private. This value is provided for compatibility reasons.
+    "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+    "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+    },
+    "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+    "kind": "calendar#event", # Type of the resource ("calendar#event").
+    "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+    "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+    "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+    "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+    "reminders": { # Information about the event's reminders for the authenticated user.
+      "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+        {
+          "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+          "method": "A String", # The method used by this reminder. Possible values are:
+              # - "email" - Reminders are sent via email.
+              # - "sms" - Reminders are sent via SMS.
+              # - "popup" - Reminders are sent via a UI popup.
+        },
+      ],
+      "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+    },
+    "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+    "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+      "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'.
+    },
+    "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+    "transparency": "opaque", # 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": 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.
+  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.
+  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.
+
+Returns:
+  An object of the form:
+
+    {
+      "creator": { # The creator of the event. Read-only.
+        "self": false, # Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The creator's name, if available.
+        "email": "A String", # The creator's email address, if available.
+        "id": "A String", # The creator's Profile ID, if available.
+      },
+      "organizer": { # The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in 'attendees' with the 'organizer' field set to True. To change the organizer, use the "move" operation. Read-only, except when importing an event.
+        "self": false, # Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
+        "displayName": "A String", # The organizer's name, if available.
+        "email": "A String", # The organizer's email address, if available.
+        "id": "A String", # The organizer's Profile ID, if available.
+      },
+      "summary": "A String", # Title of the event.
+      "id": "A String", # Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
+          # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
+          # - the length of the ID must be between 5 and 1024 characters
+          # - the ID must be unique per calendar  Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
+      "hangoutLink": "A String", # An absolute link to the Google+ hangout associated with this event. Read-only.
+      "attendees": [ # The attendees of the event.
+        {
+          "comment": "A String", # The attendee's response comment. Optional.
+          "displayName": "A String", # The attendee's name, if available. Optional.
+          "responseStatus": "A String", # The attendee's response status. Possible values are:
+              # - "needsAction" - The attendee has not responded to the invitation.
+              # - "declined" - The attendee has declined the invitation.
+              # - "tentative" - The attendee has tentatively accepted the invitation.
+              # - "accepted" - The attendee has accepted the invitation.
+          "self": True or False, # Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
+          "id": "A String", # The attendee's Profile ID, if available.
+          "additionalGuests": 42, # Number of additional guests. Optional. The default is 0.
+          "resource": True or False, # Whether the attendee is a resource. Read-only. The default is False.
+          "organizer": True or False, # Whether the attendee is the organizer of the event. Read-only. The default is False.
+          "optional": True or False, # Whether this is an optional attendee. Optional. The default is False.
+          "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee.
+        },
+      ],
+      "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.
+      "gadget": { # A gadget that extends this event.
+        "preferences": { # Preferences.
+          "a_key": "A String", # The preference name and corresponding value.
+        },
+        "title": "A String", # The gadget's title.
+        "height": 42, # The gadget's height in pixels. Optional.
+        "width": 42, # The gadget's width in pixels. Optional.
+        "link": "A String", # The gadget's URL.
+        "type": "A String", # The gadget's type.
+        "display": "A String", # The gadget's display mode. Optional. Possible values are:
+            # - "icon" - The gadget displays next to the event's title in the calendar view.
+            # - "chip" - The gadget displays when the event is clicked.
+        "iconLink": "A String", # The gadget's icon URL.
+      },
+      "status": "A String", # Status of the event. Optional. Possible values are:
+          # - "confirmed" - The event is confirmed. This is the default status.
+          # - "tentative" - The event is tentatively confirmed.
+          # - "cancelled" - The event is cancelled.
+      "updated": "A String", # Last modification time of the event (as a RFC 3339 timestamp). Read-only.
+      "description": "A String", # Description of the event. Optional.
+      "iCalUID": "A String", # Event ID in the iCalendar format.
+      "extendedProperties": { # Extended properties of the event.
+        "shared": { # Properties that are shared between copies of the event on other attendees' calendars.
+          "a_key": "A String", # The name of the shared property and the corresponding value.
+        },
+        "private": { # Properties that are private to the copy of the event that appears on this calendar.
+          "a_key": "A String", # The name of the private property and the corresponding value.
+        },
+      },
+      "endTimeUnspecified": false, # Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
+      "sequence": 42, # Sequence number as per iCalendar.
+      "visibility": "default", # Visibility of the event. Optional. Possible values are:
+          # - "default" - Uses the default visibility for events on the calendar. This is the default value.
+          # - "public" - The event is public and event details are visible to all readers of the calendar.
+          # - "private" - The event is private and only event attendees may view event details.
+          # - "confidential" - The event is private. This value is provided for compatibility reasons.
+      "guestsCanModify": false, # Whether attendees other than the organizer can modify the event. Optional. The default is False.
+      "end": { # The (exclusive) end time of the event. For a recurring event, this is the end 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'.
+      },
+      "attendeesOmitted": false, # Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the 'maxAttendee' query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
+      "kind": "calendar#event", # Type of the resource ("calendar#event").
+      "locked": false, # Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
+      "created": "A String", # Creation time of the event (as a RFC 3339 timestamp). Read-only.
+      "colorId": "A String", # The color of the event. This is an ID referring to an entry in the "event" section of the colors definition (see the "colors" endpoint). Optional.
+      "anyoneCanAddSelf": false, # Whether anyone can invite themselves to the event. Optional. The default is False.
+      "reminders": { # Information about the event's reminders for the authenticated user.
+        "overrides": [ # If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.
+          {
+            "minutes": 42, # Number of minutes before the start of the event when the reminder should trigger.
+            "method": "A String", # The method used by this reminder. Possible values are:
+                # - "email" - Reminders are sent via email.
+                # - "sms" - Reminders are sent via SMS.
+                # - "popup" - Reminders are sent via a UI popup.
+          },
+        ],
+        "useDefault": True or False, # Whether the default reminders of the calendar apply to the event.
+      },
+      "guestsCanSeeOtherGuests": true, # Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
+      "originalStartTime": { # For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. Immutable.
+        "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'.
+      },
+      "guestsCanInviteOthers": true, # Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
+      "transparency": "opaque", # 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": 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, privateExtendedProperty=None, pageToken=None, updatedMin=None, singleEvents=None, alwaysIncludeEmail=None, showDeleted=None, sharedExtendedProperty=None, maxAttendees=None, syncToken=None, iCalUID=None, maxResults=None, timeMax=None, q=None, timeZone=None)</code>
+  <pre>Watch for changes to Events resources.
+
+Args:
+  calendarId: string, Calendar identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this 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.
+  privateExtendedProperty: string, Extended properties constraint specified as propertyName=value. Matches only private properties. This parameter might be repeated multiple times to return events that match all given constraints. (repeated)
+  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.
+  sharedExtendedProperty: string, Extended properties constraint specified as propertyName=value. Matches only shared properties. This parameter might be repeated multiple times to return events that match all given constraints. (repeated)
+  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.
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned on the last result page of the previous method's call. It makes the result of this call contain only entries that have changed since the last call. Optional. The default is to return all entries.
+  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", # A version-specific identifier for the watched resource.
+      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+      "params": { # Additional parameters controlling delivery channel behavior. Optional.
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+      "address": "A String", # The address where notifications are delivered for this channel.
+      "type": "A String", # The type of delivery mechanism used for this channel.
+      "id": "A String", # A UUID or similar unique string that identifies this channel.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.freebusy.html b/docs/dyn/calendar_v3.freebusy.html
new file mode 100644
index 0000000..1d390f3
--- /dev/null
+++ b/docs/dyn/calendar_v3.freebusy.html
@@ -0,0 +1,150 @@
+<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.freebusy.html">freebusy</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#query">query(body)</a></code></p>
+<p class="firstline">Returns free/busy information for a set of calendars.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="query">query(body)</code>
+  <pre>Returns free/busy information for a set of calendars.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "calendarExpansionMax": 42, # Maximal number of calendars for which FreeBusy information is to be provided. Optional.
+    "groupExpansionMax": 42, # Maximal number of calendar identifiers to be provided for a single group. Optional. An error will be returned for a group with more members than this value.
+    "timeMax": "A String", # The end of the interval for the query.
+    "items": [ # List of calendars and/or groups to query.
+      {
+        "id": "A String", # The identifier of a calendar or a group.
+      },
+    ],
+    "timeMin": "A String", # The start of the interval for the query.
+    "timeZone": "UTC", # Time zone used in the response. Optional. The default is UTC.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "timeMax": "A String", # The end of the interval.
+    "kind": "calendar#freeBusy", # Type of the resource ("calendar#freeBusy").
+    "calendars": { # List of free/busy information for calendars.
+      "a_key": { # Free/busy expansions for a single calendar.
+        "busy": [ # List of time ranges during which this calendar should be regarded as busy.
+          {
+            "start": "A String", # The (inclusive) start of the time period.
+            "end": "A String", # The (exclusive) end of the time period.
+          },
+        ],
+        "errors": [ # Optional error(s) (if computation for the calendar failed).
+          {
+            "domain": "A String", # Domain, or broad category, of the error.
+            "reason": "A String", # Specific reason for the error. Some of the possible values are:
+                # - "groupTooBig" - The group of users requested is too large for a single query.
+                # - "tooManyCalendarsRequested" - The number of calendars requested is too large for a single query.
+                # - "notFound" - The requested resource was not found.
+                # - "internalError" - The API service has encountered an internal error.  Additional error types may be added in the future, so clients should gracefully handle additional error statuses not included in this list.
+          },
+        ],
+      },
+    },
+    "timeMin": "A String", # The start of the interval.
+    "groups": { # Expansion of groups.
+      "a_key": { # List of calendars that are members of this group.
+        "errors": [ # Optional error(s) (if computation for the group failed).
+          {
+            "domain": "A String", # Domain, or broad category, of the error.
+            "reason": "A String", # Specific reason for the error. Some of the possible values are:
+                # - "groupTooBig" - The group of users requested is too large for a single query.
+                # - "tooManyCalendarsRequested" - The number of calendars requested is too large for a single query.
+                # - "notFound" - The requested resource was not found.
+                # - "internalError" - The API service has encountered an internal error.  Additional error types may be added in the future, so clients should gracefully handle additional error statuses not included in this list.
+          },
+        ],
+        "calendars": [ # List of calendars' identifiers within a group.
+          "A String",
+        ],
+      },
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.html b/docs/dyn/calendar_v3.html
new file mode 100644
index 0000000..1681f9d
--- /dev/null
+++ b/docs/dyn/calendar_v3.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="calendar_v3.html">Calendar API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="calendar_v3.acl.html">acl()</a></code>
+</p>
+<p class="firstline">Returns the acl Resource.</p>
+
+<p class="toc_element">
+  <code><a href="calendar_v3.calendarList.html">calendarList()</a></code>
+</p>
+<p class="firstline">Returns the calendarList Resource.</p>
+
+<p class="toc_element">
+  <code><a href="calendar_v3.calendars.html">calendars()</a></code>
+</p>
+<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>
+
+<p class="toc_element">
+  <code><a href="calendar_v3.events.html">events()</a></code>
+</p>
+<p class="firstline">Returns the events Resource.</p>
+
+<p class="toc_element">
+  <code><a href="calendar_v3.freebusy.html">freebusy()</a></code>
+</p>
+<p class="firstline">Returns the freebusy Resource.</p>
+
+<p class="toc_element">
+  <code><a href="calendar_v3.settings.html">settings()</a></code>
+</p>
+<p class="firstline">Returns the settings Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/calendar_v3.settings.html b/docs/dyn/calendar_v3.settings.html
new file mode 100644
index 0000000..aa92bb8
--- /dev/null
+++ b/docs/dyn/calendar_v3.settings.html
@@ -0,0 +1,196 @@
+<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.settings.html">settings</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(setting)</a></code></p>
+<p class="firstline">Returns a single user setting.</p>
+<p class="toc_element">
+  <code><a href="#list">list(syncToken=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Returns all user settings 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="#watch">watch(body, syncToken=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Watch for changes to Settings resources.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(setting)</code>
+  <pre>Returns a single user setting.
+
+Args:
+  setting: string, The id of the user setting. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "calendar#setting", # Type of the resource ("calendar#setting").
+    "etag": "A String", # ETag of the resource.
+    "id": "A String", # The id of the user setting.
+    "value": "A String", # Value of the user setting. The format of the value depends on the ID of the setting. It must always be a UTF-8 string of length up to 1024 characters.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(syncToken=None, pageToken=None, maxResults=None)</code>
+  <pre>Returns all user settings for the authenticated user.
+
+Args:
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned on the last result page of the previous method's call. It makes the result of this call contain only entries that have changed since the last call. Optional. The default is to return all entries.
+  pageToken: string, Token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of entries returned on one result page. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token used to access the next page of this result.
+    "items": [ # List of user settings.
+      {
+        "kind": "calendar#setting", # Type of the resource ("calendar#setting").
+        "etag": "A String", # ETag of the resource.
+        "id": "A String", # The id of the user setting.
+        "value": "A String", # Value of the user setting. The format of the value depends on the ID of the setting. It must always be a UTF-8 string of length up to 1024 characters.
+      },
+    ],
+    "kind": "calendar#settings", # Type of the collection ("calendar#settings").
+    "etag": "A String", # Etag of the collection.
+    "nextSyncToken": "A String", # Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided.
+  }</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="watch">watch(body, syncToken=None, pageToken=None, maxResults=None)</code>
+  <pre>Watch for changes to Settings resources.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this channel.
+  }
+
+  syncToken: string, Token obtained from the 'nextSyncToken' field returned on the last result page of the previous method's call. It makes the result of this call contain only entries that have changed since the last call. Optional. The default is to return all entries.
+  pageToken: string, Token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of entries returned on one result page. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+      "resourceUri": "A String", # A version-specific identifier for the watched resource.
+      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+      "params": { # Additional parameters controlling delivery channel behavior. Optional.
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+      "address": "A String", # The address where notifications are delivered for this channel.
+      "type": "A String", # The type of delivery mechanism used for this channel.
+      "id": "A String", # A UUID or similar unique string that identifies this channel.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/civicinfo_us_v1.divisions.html b/docs/dyn/civicinfo_us_v1.divisions.html
new file mode 100644
index 0000000..0b43812
--- /dev/null
+++ b/docs/dyn/civicinfo_us_v1.divisions.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="civicinfo_us_v1.html">Google Civic Information API</a> . <a href="civicinfo_us_v1.divisions.html">divisions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#search">search(query=None)</a></code></p>
+<p class="firstline">Searches for political divisions by their natural name or OCD ID.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="search">search(query=None)</code>
+  <pre>Searches for political divisions by their natural name or OCD ID.
+
+Args:
+  query: string, The search query. Queries can cover any parts of a OCD ID or a human readable division name. All words given in the query are treated as required patterns. In addition to that, most query operators of the Apache Lucene library are supported. See http://lucene.apache.org/core/2_9_4/queryparsersyntax.html
+
+Returns:
+  An object of the form:
+
+    { # The result of a division search query.
+    "status": "A String", # The result of the request. One of: success, addressUnparseable, noAddressParameter, internalLookupFailure
+    "kind": "civicinfo#divisionSearchResponse", # Identifies what kind of resource this is. Value: the fixed string "civicinfo#divisionSearchResponse".
+    "results": [
+      { # Represents a political geographic division that matches the requested query.
+        "ocdId": "A String", # The unique Open Civic Data identifier for this division.
+        "name": "A String", # The name of the division.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/civicinfo_us_v1.elections.html b/docs/dyn/civicinfo_us_v1.elections.html
new file mode 100644
index 0000000..35744e3
--- /dev/null
+++ b/docs/dyn/civicinfo_us_v1.elections.html
@@ -0,0 +1,294 @@
+<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="civicinfo_us_v1.html">Google Civic Information API</a> . <a href="civicinfo_us_v1.elections.html">elections</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#electionQuery">electionQuery()</a></code></p>
+<p class="firstline">List of available elections to query.</p>
+<p class="toc_element">
+  <code><a href="#voterInfoQuery">voterInfoQuery(electionId, body, officialOnly=None)</a></code></p>
+<p class="firstline">Looks up information relevant to a voter based on the voter's registered address.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="electionQuery">electionQuery()</code>
+  <pre>List of available elections to query.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # The list of elections available for this version of the API.
+    "kind": "civicinfo#electionsQueryResponse", # Identifies what kind of resource this is. Value: the fixed string "civicinfo#electionsQueryResponse".
+    "elections": [ # A list of available elections
+      { # Information about the election that was queried.
+        "electionDay": "A String", # Day of the election in YYYY-MM-DD format.
+        "id": "A String", # The unique ID of this election.
+        "name": "A String", # A displayable name for the election.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="voterInfoQuery">voterInfoQuery(electionId, body, officialOnly=None)</code>
+  <pre>Looks up information relevant to a voter based on the voter's registered address.
+
+Args:
+  electionId: string, The unique ID of the election to look up. A list of election IDs can be obtained at https://www.googleapis.com/civicinfo/{version}/elections (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A request for information about a voter.
+    "address": "A String", # The registered address of the voter to look up.
+  }
+
+  officialOnly: boolean, If set to true, only data from official state sources will be returned.
+
+Returns:
+  An object of the form:
+
+    { # The result of a voter info lookup query.
+    "status": "A String", # The result of the request. One of: success, noStreetSegmentFound, addressUnparseable, noAddressParameter, multipleStreetSegmentsFound, electionOver, electionUnknown, internalLookupFailure
+    "earlyVoteSites": [ # Locations where the voter is eligible to vote early, prior to election day
+      { # A location where a voter can vote. This may be an early vote site or an election day voting location.
+        "startDate": "A String", # The first date that this early vote site may be used. This field is not populated for polling locations.
+        "pollingHours": "A String", # A description of when this location is open.
+        "endDate": "A String", # The last date that this early vote site may be used. This field is not populated for polling locations.
+        "name": "A String", # The name of the early vote site. This field is not populated for polling locations.
+        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use)
+        "voterServices": "A String", # The services provided by this early vote site. This field is not populated for polling locations.
+        "sources": [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
+          { # Contains information about the data source for the element containing it.
+            "official": True or False, # Whether this data comes from an official government source.
+            "name": "A String", # The name of the data source.
+          },
+        ],
+        "address": { # A simple representation of an address. # The address of the location
+          "city": "A String", # The city or town for the address.
+          "zip": "A String", # The US Postal Zip Code of the address.
+          "line3": "A String", # The third line of the address, if needed.
+          "line2": "A String", # The second line the address, if needed.
+          "line1": "A String", # The street name and number of this address.
+          "locationName": "A String", # The name of the location.
+          "state": "A String", # The US two letter state abbreviation of the address.
+        },
+        "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.
+      },
+    ],
+    "kind": "civicinfo#voterInfoResponse", # Identifies what kind of resource this is. Value: the fixed string "civicinfo#voterInfoResponse".
+    "normalizedInput": { # A simple representation of an address. # The normalized version of the requested address
+      "city": "A String", # The city or town for the address.
+      "zip": "A String", # The US Postal Zip Code of the address.
+      "line3": "A String", # The third line of the address, if needed.
+      "line2": "A String", # The second line the address, if needed.
+      "line1": "A String", # The street name and number of this address.
+      "locationName": "A String", # The name of the location.
+      "state": "A String", # The US two letter state abbreviation of the address.
+    },
+    "state": [ # Local Election Information for the state that the voter votes in. For the US, there will only be one element in this array.
+      { # Describes information about a regional election administrative area.
+        "local_jurisdiction": # Object with schema name: AdministrationRegion # The city or county that provides election information for this voter. This object can have the same elements as state.
+        "sources": [ # A list of sources for this area. If multiple sources are listed the data has been aggregated from those sources.
+          { # Contains information about the data source for the element containing it.
+            "official": True or False, # Whether this data comes from an official government source.
+            "name": "A String", # The name of the data source.
+          },
+        ],
+        "electionAdministrationBody": { # Information about an election administrative body (e.g. County Board of Elections). # The election administration body for this area.
+          "absenteeVotingInfoUrl": "A String", # A URL provided by this administrative body for information on absentee voting.
+          "votingLocationFinderUrl": "A String", # A URL provided by this administrative body for looking up where to vote.
+          "name": "A String", # The name of this election administrative body.
+          "electionRegistrationConfirmationUrl": "A String", # A URL provided by this administrative body for confirming that the voter is registered to vote.
+          "correspondenceAddress": { # A simple representation of an address. # The mailing address of this administrative body.
+            "city": "A String", # The city or town for the address.
+            "zip": "A String", # The US Postal Zip Code of the address.
+            "line3": "A String", # The third line of the address, if needed.
+            "line2": "A String", # The second line the address, if needed.
+            "line1": "A String", # The street name and number of this address.
+            "locationName": "A String", # The name of the location.
+            "state": "A String", # The US two letter state abbreviation of the address.
+          },
+          "electionRegistrationUrl": "A String", # A URL provided by this administrative body for looking up how to register to vote.
+          "electionOfficials": [ # The election officials for this election administrative body.
+            { # Information about individual election officials.
+              "title": "A String", # The title of the election official.
+              "emailAddress": "A String", # The email address of the election official.
+              "name": "A String", # The full name of the election official.
+              "officePhoneNumber": "A String", # The office phone number of the election official.
+              "faxNumber": "A String", # The fax number of the election official.
+            },
+          ],
+          "electionInfoUrl": "A String", # A URL provided by this administrative body for looking up general election information.
+          "electionRulesUrl": "A String", # A URL provided by this administrative body describing election rules to the voter.
+          "voter_services": [ # A description of the services this administrative body may provide.
+            "A String",
+          ],
+          "ballotInfoUrl": "A String", # A URL provided by this administrative body to give contest information to the voter.
+          "hoursOfOperation": "A String", # A description of the hours of operation for this administrative body.
+          "physicalAddress": { # A simple representation of an address. # The physical address of this administrative body.
+            "city": "A String", # The city or town for the address.
+            "zip": "A String", # The US Postal Zip Code of the address.
+            "line3": "A String", # The third line of the address, if needed.
+            "line2": "A String", # The second line the address, if needed.
+            "line1": "A String", # The street name and number of this address.
+            "locationName": "A String", # The name of the location.
+            "state": "A String", # The US two letter state abbreviation of the address.
+          },
+        },
+        "name": "A String", # The name of the jurisdiction.
+        "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.
+      },
+    ],
+    "election": { # Information about the election that was queried. # The election that was queried.
+      "electionDay": "A String", # Day of the election in YYYY-MM-DD format.
+      "id": "A String", # The unique ID of this election.
+      "name": "A String", # A displayable name for the election.
+    },
+    "pollingLocations": [ # Locations where the voter is eligible to vote on election day. For states with mail-in voting only, these locations will be nearby drop box locations. Drop box locations are free to the voter and may be used instead of placing the ballot in the mail.
+      { # A location where a voter can vote. This may be an early vote site or an election day voting location.
+        "startDate": "A String", # The first date that this early vote site may be used. This field is not populated for polling locations.
+        "pollingHours": "A String", # A description of when this location is open.
+        "endDate": "A String", # The last date that this early vote site may be used. This field is not populated for polling locations.
+        "name": "A String", # The name of the early vote site. This field is not populated for polling locations.
+        "notes": "A String", # Notes about this location (e.g. accessibility ramp or entrance to use)
+        "voterServices": "A String", # The services provided by this early vote site. This field is not populated for polling locations.
+        "sources": [ # A list of sources for this location. If multiple sources are listed the data has been aggregated from those sources.
+          { # Contains information about the data source for the element containing it.
+            "official": True or False, # Whether this data comes from an official government source.
+            "name": "A String", # The name of the data source.
+          },
+        ],
+        "address": { # A simple representation of an address. # The address of the location
+          "city": "A String", # The city or town for the address.
+          "zip": "A String", # The US Postal Zip Code of the address.
+          "line3": "A String", # The third line of the address, if needed.
+          "line2": "A String", # The second line the address, if needed.
+          "line1": "A String", # The street name and number of this address.
+          "locationName": "A String", # The name of the location.
+          "state": "A String", # The US two letter state abbreviation of the address.
+        },
+        "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.
+      },
+    ],
+    "contests": [ # Contests that will appear on the voter's ballot
+      { # Information about a contest that appears on a voter's ballot.
+        "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: 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.
+        },
+        "level": "A String", # The level of office for this contest. One of: federal, state, county, city, other
+        "type": "A String", # The type of contest. Usually this will be 'General', 'Primary', or 'Run-off' for contests with candidates. For referenda this will be 'Referendum'.
+        "ballotPlacement": "A String", # A number specifying the position of this contest on the voter's ballot.
+        "sources": [ # A list of sources for this contest. If multiple sources are listed, the data has been aggregated from those sources.
+          { # Contains information about the data source for the element containing it.
+            "official": True or False, # Whether this data comes from an official government source.
+            "name": "A String", # The name of the data source.
+          },
+        ],
+        "referendumSubtitle": "A String", # A brief description of the referendum. This field is only populated for contests of type 'Referendum'.
+        "primaryParty": "A String", # If this is a partisan election, the name of the party it is for.
+        "candidates": [ # The candidate choices for this contest.
+          { # Information about a candidate running for elected office.
+            "name": "A String", # The candidate's name.
+            "photoUrl": "A String", # A URL for a photo of the candidate.
+            "candidateUrl": "A String", # The URL for the candidate's campaign web site.
+            "channels": [ # A list of known (social) media channels for this candidate.
+              { # A social media or web channel for a candidate.
+                "type": "A String", # The type of channel. The following is a list of types of channels, but is not exhaustive. More channel types may be added at a later time. One of: GooglePlus, YouTube, Facebook, Twitter
+                "id": "A String", # The unique public identifier for the candidate's channel.
+              },
+            ],
+            "phone": "A String", # The voice phone number for the candidate's campaign office.
+            "orderOnBallot": "A String", # The order the candidate appears on the ballot for this contest.
+            "party": "A String", # The full name of the party the candidate is a member of.
+            "email": "A String", # The email address for the candidate's campaign.
+          },
+        ],
+        "numberElected": "A String", # The number of candidates that will be elected to office in this contest.
+        "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'.
+        "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.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/civicinfo_us_v1.html b/docs/dyn/civicinfo_us_v1.html
new file mode 100644
index 0000000..35b6bfd
--- /dev/null
+++ b/docs/dyn/civicinfo_us_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="civicinfo_us_v1.html">Google Civic Information API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="civicinfo_us_v1.divisions.html">divisions()</a></code>
+</p>
+<p class="firstline">Returns the divisions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="civicinfo_us_v1.elections.html">elections()</a></code>
+</p>
+<p class="firstline">Returns the elections Resource.</p>
+
+<p class="toc_element">
+  <code><a href="civicinfo_us_v1.representatives.html">representatives()</a></code>
+</p>
+<p class="firstline">Returns the representatives Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/civicinfo_us_v1.representatives.html b/docs/dyn/civicinfo_us_v1.representatives.html
new file mode 100644
index 0000000..5f38796
--- /dev/null
+++ b/docs/dyn/civicinfo_us_v1.representatives.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="civicinfo_us_v1.html">Google Civic Information API</a> . <a href="civicinfo_us_v1.representatives.html">representatives</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#representativeInfoQuery">representativeInfoQuery(body, ocdId=None, includeOffices=None)</a></code></p>
+<p class="firstline">Looks up political geography and (optionally) representative information based on an address.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="representativeInfoQuery">representativeInfoQuery(body, ocdId=None, includeOffices=None)</code>
+  <pre>Looks up political geography and (optionally) representative information based on an address.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A request for political geography and representative information for an address.
+    "address": "A String", # The address to look up. May only be specified if the field ocdId is not given in the URL.
+  }
+
+  ocdId: string, The division to look up. May only be specified if the address field is not given in the request body.
+  includeOffices: boolean, Whether to return information about offices and officials. If false, only the top-level district information will be returned.
+
+Returns:
+  An object of the form:
+
+    { # The result of a representative info lookup query.
+    "status": "A String", # The result of the request. One of: success, noStreetSegmentFound, addressUnparseable, noAddressParameter, multipleStreetSegmentsFound, electionOver, electionUnknown, internalLookupFailure, RequestedBothAddressAndOcdId
+    "divisions": { # Political geographic divisions that contain the requested address.
+      "a_key": { # Describes a political geography. # The unique Open Civic Data identifier for this division.
+        "scope": "A String", # The geographic scope of the division. If unspecified, the division's geography is not known. One of: national, statewide, congressional, stateUpper, stateLower, countywide, judicial, schoolBoard, cityWide, township, countyCouncil, cityCouncil, ward, special
+        "name": "A String", # The name of the division.
+        "officeIds": [ # List of keys in the offices object, one for each office elected from this division. Will only be present if includeOffices was true (or absent) in the request.
+          "A String",
+        ],
+      },
+    },
+    "kind": "civicinfo#representativeInfoResponse", # Identifies what kind of resource this is. Value: the fixed string "civicinfo#representativeInfoResponse".
+    "normalizedInput": { # A simple representation of an address. # The normalized version of the requested address
+      "city": "A String", # The city or town for the address.
+      "zip": "A String", # The US Postal Zip Code of the address.
+      "line3": "A String", # The third line of the address, if needed.
+      "line2": "A String", # The second line the address, if needed.
+      "line1": "A String", # The street name and number of this address.
+      "locationName": "A String", # The name of the location.
+      "state": "A String", # The US two letter state abbreviation of the address.
+    },
+    "officials": { # Officials holding the offices listed above. Will only be present if includeOffices was true in the request.
+      "a_key": { # Information about a official holding an elected office. # A unique identifier for this official, within the context of this request. Identifiers are *not* long-lived: the same official may get different IDs on different requests.
+        "name": "A String", # The official's name.
+        "photoUrl": "A String", # A URL for a photo of the official.
+        "phones": [ # The official's public contact phone numbers.
+          "A String",
+        ],
+        "channels": [ # A list of known (social) media channels for this official.
+          { # A social media or web channel for a candidate.
+            "type": "A String", # The type of channel. The following is a list of types of channels, but is not exhaustive. More channel types may be added at a later time. One of: GooglePlus, YouTube, Facebook, Twitter
+            "id": "A String", # The unique public identifier for the candidate's channel.
+          },
+        ],
+        "urls": [ # The official's public website URLs.
+          "A String",
+        ],
+        "address": [ # Addresses at which to contact the official.
+          { # A simple representation of an address.
+            "city": "A String", # The city or town for the address.
+            "zip": "A String", # The US Postal Zip Code of the address.
+            "line3": "A String", # The third line of the address, if needed.
+            "line2": "A String", # The second line the address, if needed.
+            "line1": "A String", # The street name and number of this address.
+            "locationName": "A String", # The name of the location.
+            "state": "A String", # The US two letter state abbreviation of the address.
+          },
+        ],
+        "party": "A String", # The full name of the party the official belongs to.
+        "emails": [ # The direct email addresses for the official.
+          "A String",
+        ],
+      },
+    },
+    "offices": { # Elected offices referenced by the divisions listed above. Will only be present if includeOffices was true in the request.
+      "a_key": { # Information about an Office held by one or more Officials. # A unique identifier for this office, within the context of this request. Identifiers are *not* long-lived: the same office may get different IDs on different requests.
+        "sources": [ # A list of sources for this office. If multiple sources are listed, the data has been aggregated from those sources.
+          { # Contains information about the data source for the element containing it.
+            "official": True or False, # Whether this data comes from an official government source.
+            "name": "A String", # The name of the data source.
+          },
+        ],
+        "officialIds": [ # List of people who presently hold the office.
+          "A String",
+        ],
+        "name": "A String", # The human-readable name of the office.
+        "level": "A String", # The level of this elected office. One of: federal, state, county, city, other
+      },
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1.addresses.html b/docs/dyn/compute_v1.addresses.html
new file mode 100644
index 0000000..4064fcc
--- /dev/null
+++ b/docs/dyn/compute_v1.addresses.html
@@ -0,0 +1,375 @@
+<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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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).
+              "address": "A String", # The IP address represented by this resource.
+              "users": [ # The resources that are using this address resource.
+                "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#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).
+      "address": "A String", # The IP address represented by this resource.
+      "users": [ # The resources that are using this address resource.
+        "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, 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).
+    "address": "A String", # The IP address represented by this resource.
+    "users": [ # The resources that are using this address resource.
+      "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, 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 value is 500 and default value is 500.
+  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).
+          "address": "A String", # The IP address represented by this resource.
+          "users": [ # The resources that are using this address resource.
+            "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#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 the 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_v1.disks.html b/docs/dyn/compute_v1.disks.html
new file mode 100644
index 0000000..0e477f8
--- /dev/null
+++ b/docs/dyn/compute_v1.disks.html
@@ -0,0 +1,462 @@
+<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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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).
+              "sourceImageId": "A String", # The 'id' value of the image 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 image.
+              "sourceImage": "A String", # The source image used to create this disk. Once the source image has been deleted from the system, this field will not be set, even if an image with the same name has been re-created.
+              "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 snapshot. (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.
+    "storageBytes": "A String", # A size of the the storage used by the snapshot. As snapshots share storage this number is expected to change with snapshot creation/deletion.
+    "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).
+    "storageBytesStatus": "A String", # An indicator whether storageBytes is in a stable state, or it is being adjusted as a result of shared storage reallocation.
+    "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).
+      "sourceImageId": "A String", # The 'id' value of the image 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 image.
+      "sourceImage": "A String", # The source image used to create this disk. Once the source image has been deleted from the system, this field will not be set, even if an image with the same name has been re-created.
+      "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).
+    "sourceImageId": "A String", # The 'id' value of the image 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 image.
+    "sourceImage": "A String", # The source image used to create this disk. Once the source image has been deleted from the system, this field will not be set, even if an image with the same name has been re-created.
+    "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 value is 500 and default value is 500.
+  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).
+          "sourceImageId": "A String", # The 'id' value of the image 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 image.
+          "sourceImage": "A String", # The source image used to create this disk. Once the source image has been deleted from the system, this field will not be set, even if an image with the same name has been re-created.
+          "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_v1.firewalls.html b/docs/dyn/compute_v1.firewalls.html
new file mode 100644
index 0000000..2b94ea8
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 one of the following well known protocol strings ["tcp", "udp", "icmp", "esp", "ah", "sctp"], 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 one of the following well known protocol strings ["tcp", "udp", "icmp", "esp", "ah", "sctp"], 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 value is 500 and default value is 500.
+  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 one of the following well known protocol strings ["tcp", "udp", "icmp", "esp", "ah", "sctp"], 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 one of the following well known protocol strings ["tcp", "udp", "icmp", "esp", "ah", "sctp"], 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 one of the following well known protocol strings ["tcp", "udp", "icmp", "esp", "ah", "sctp"], 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_v1.forwardingRules.html b/docs/dyn/compute_v1.forwardingRules.html
new file mode 100644
index 0000000..5068664
--- /dev/null
+++ b/docs/dyn/compute_v1.forwardingRules.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="compute_v1.html">Compute Engine API</a> . <a href="compute_v1.forwardingRules.html">forwardingRules</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 forwarding rules 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, forwardingRule)</a></code></p>
+<p class="firstline">Deletes the specified ForwardingRule resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, region, forwardingRule)</a></code></p>
+<p class="firstline">Returns the specified ForwardingRule resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, region, body)</a></code></p>
+<p class="firstline">Creates a ForwardingRule resource in the specified project and region 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 ForwardingRule resources available to the specified project and 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>
+<p class="toc_element">
+  <code><a href="#setTarget">setTarget(project, region, forwardingRule, body)</a></code></p>
+<p class="firstline">Changes target url for forwarding rule.</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 forwarding rules 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 value is 500 and default value is 500.
+  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 forwarding rule lists.
+      "a_key": { # Name of the scope containing this set of addresses.
+        "forwardingRules": [ # List of forwarding rules contained in this scope.
+          { # A ForwardingRule resource. A ForwardingRule resource specifies which pool of target VMs to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.
+              "kind": "compute#forwardingRule", # Type of the resource.
+              "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+              "IPAddress": "A String", # Value of the reserved IP address that this forwarding rule is serving on behalf of. The address resource must live in the same region as the forwarding rule. If left empty (default value), an ephemeral IP will be assigned.
+              "region": "A String", # URL of the region where the forwarding rule resides (output only).
+              "target": "A String", # The URL of the target resource to receive the matched traffic. It must live in the same region as this forwarding rule.
+              "portRange": "A String", # Applicable only when 'IPProtocol' is 'TCP', 'UDP' or 'SCTP', only packets addressed to ports in the specified range will be forwarded to 'target'. If 'portRange' is left empty (default value), all ports are forwarded. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. @pattern: \d+(?:-\d+)?
+              "IPProtocol": "A String", # The IP protocol to which this rule applies, valid options are 'TCP', 'UDP', 'ESP', 'AH' or 'SCTP'
+              "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.
+            },
+        ],
+        "warning": { # Informational warning which replaces the list of forwarding rules 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#forwardingRuleAggregatedList", # 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, forwardingRule)</code>
+  <pre>Deletes the specified ForwardingRule resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  forwardingRule: string, Name of the ForwardingRule 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, forwardingRule)</code>
+  <pre>Returns the specified ForwardingRule resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  forwardingRule: string, Name of the ForwardingRule resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A ForwardingRule resource. A ForwardingRule resource specifies which pool of target VMs to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.
+      "kind": "compute#forwardingRule", # Type of the resource.
+      "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+      "IPAddress": "A String", # Value of the reserved IP address that this forwarding rule is serving on behalf of. The address resource must live in the same region as the forwarding rule. If left empty (default value), an ephemeral IP will be assigned.
+      "region": "A String", # URL of the region where the forwarding rule resides (output only).
+      "target": "A String", # The URL of the target resource to receive the matched traffic. It must live in the same region as this forwarding rule.
+      "portRange": "A String", # Applicable only when 'IPProtocol' is 'TCP', 'UDP' or 'SCTP', only packets addressed to ports in the specified range will be forwarded to 'target'. If 'portRange' is left empty (default value), all ports are forwarded. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. @pattern: \d+(?:-\d+)?
+      "IPProtocol": "A String", # The IP protocol to which this rule applies, valid options are 'TCP', 'UDP', 'ESP', 'AH' or 'SCTP'
+      "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 a ForwardingRule resource in the specified project and region 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 ForwardingRule resource. A ForwardingRule resource specifies which pool of target VMs to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.
+    "kind": "compute#forwardingRule", # Type of the resource.
+    "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+    "IPAddress": "A String", # Value of the reserved IP address that this forwarding rule is serving on behalf of. The address resource must live in the same region as the forwarding rule. If left empty (default value), an ephemeral IP will be assigned.
+    "region": "A String", # URL of the region where the forwarding rule resides (output only).
+    "target": "A String", # The URL of the target resource to receive the matched traffic. It must live in the same region as this forwarding rule.
+    "portRange": "A String", # Applicable only when 'IPProtocol' is 'TCP', 'UDP' or 'SCTP', only packets addressed to ports in the specified range will be forwarded to 'target'. If 'portRange' is left empty (default value), all ports are forwarded. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. @pattern: \d+(?:-\d+)?
+    "IPProtocol": "A String", # The IP protocol to which this rule applies, valid options are 'TCP', 'UDP', 'ESP', 'AH' or 'SCTP'
+    "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 ForwardingRule resources available to the specified project and 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 value is 500 and default value is 500.
+  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 ForwardingRule resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The ForwardingRule resources.
+      { # A ForwardingRule resource. A ForwardingRule resource specifies which pool of target VMs to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.
+          "kind": "compute#forwardingRule", # Type of the resource.
+          "description": "A String", # An optional textual description of the resource; provided by the client when the resource is created.
+          "IPAddress": "A String", # Value of the reserved IP address that this forwarding rule is serving on behalf of. The address resource must live in the same region as the forwarding rule. If left empty (default value), an ephemeral IP will be assigned.
+          "region": "A String", # URL of the region where the forwarding rule resides (output only).
+          "target": "A String", # The URL of the target resource to receive the matched traffic. It must live in the same region as this forwarding rule.
+          "portRange": "A String", # Applicable only when 'IPProtocol' is 'TCP', 'UDP' or 'SCTP', only packets addressed to ports in the specified range will be forwarded to 'target'. If 'portRange' is left empty (default value), all ports are forwarded. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. @pattern: \d+(?:-\d+)?
+          "IPProtocol": "A String", # The IP protocol to which this rule applies, valid options are 'TCP', 'UDP', 'ESP', 'AH' or 'SCTP'
+          "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#forwardingRuleList", # 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="setTarget">setTarget(project, region, forwardingRule, body)</code>
+  <pre>Changes target url for forwarding rule.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  forwardingRule: string, Name of the ForwardingRule resource in which target is to be set. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "target": "A String",
+  }
+
+
+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_v1.globalOperations.html b/docs/dyn/compute_v1.globalOperations.html
new file mode 100644
index 0000000..d5a9f4e
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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 value is 500 and default value is 500.
+  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_v1.html b/docs/dyn/compute_v1.html
new file mode 100644
index 0000000..6f9386f
--- /dev/null
+++ b/docs/dyn/compute_v1.html
@@ -0,0 +1,172 @@
+<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_v1.html">Compute Engine API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="compute_v1.addresses.html">addresses()</a></code>
+</p>
+<p class="firstline">Returns the addresses Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.disks.html">disks()</a></code>
+</p>
+<p class="firstline">Returns the disks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.firewalls.html">firewalls()</a></code>
+</p>
+<p class="firstline">Returns the firewalls Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.forwardingRules.html">forwardingRules()</a></code>
+</p>
+<p class="firstline">Returns the forwardingRules Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.globalOperations.html">globalOperations()</a></code>
+</p>
+<p class="firstline">Returns the globalOperations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.httpHealthChecks.html">httpHealthChecks()</a></code>
+</p>
+<p class="firstline">Returns the httpHealthChecks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.images.html">images()</a></code>
+</p>
+<p class="firstline">Returns the images Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.instances.html">instances()</a></code>
+</p>
+<p class="firstline">Returns the instances Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.machineTypes.html">machineTypes()</a></code>
+</p>
+<p class="firstline">Returns the machineTypes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.networks.html">networks()</a></code>
+</p>
+<p class="firstline">Returns the networks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.regionOperations.html">regionOperations()</a></code>
+</p>
+<p class="firstline">Returns the regionOperations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.regions.html">regions()</a></code>
+</p>
+<p class="firstline">Returns the regions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.routes.html">routes()</a></code>
+</p>
+<p class="firstline">Returns the routes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.snapshots.html">snapshots()</a></code>
+</p>
+<p class="firstline">Returns the snapshots Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.targetInstances.html">targetInstances()</a></code>
+</p>
+<p class="firstline">Returns the targetInstances Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.targetPools.html">targetPools()</a></code>
+</p>
+<p class="firstline">Returns the targetPools Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.zoneOperations.html">zoneOperations()</a></code>
+</p>
+<p class="firstline">Returns the zoneOperations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="compute_v1.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_v1.httpHealthChecks.html b/docs/dyn/compute_v1.httpHealthChecks.html
new file mode 100644
index 0000000..277fad6
--- /dev/null
+++ b/docs/dyn/compute_v1.httpHealthChecks.html
@@ -0,0 +1,459 @@
+<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_v1.html">Compute Engine API</a> . <a href="compute_v1.httpHealthChecks.html">httpHealthChecks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, httpHealthCheck)</a></code></p>
+<p class="firstline">Deletes the specified HttpHealthCheck resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, httpHealthCheck)</a></code></p>
+<p class="firstline">Returns the specified HttpHealthCheck resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, body)</a></code></p>
+<p class="firstline">Creates a HttpHealthCheck 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 HttpHealthCheck 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, 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>
+<p class="toc_element">
+  <code><a href="#update">update(project, httpHealthCheck, body)</a></code></p>
+<p class="firstline">Updates a HttpHealthCheck resource in the specified project using the data included in the request.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, httpHealthCheck)</code>
+  <pre>Deletes the specified HttpHealthCheck resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  httpHealthCheck: string, Name of the HttpHealthCheck 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, httpHealthCheck)</code>
+  <pre>Returns the specified HttpHealthCheck resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  httpHealthCheck: string, Name of the HttpHealthCheck resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # 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.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, body)</code>
+  <pre>Creates a HttpHealthCheck 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:
+
+{ # 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>
+
+<div class="method">
+    <code class="details" id="list">list(project, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of HttpHealthCheck 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 value is 500 and default value is 500.
+  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 HttpHealthCheck resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The HttpHealthCheck resources.
+      { # 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.
+        },
+    ],
+    "kind": "compute#httpHealthCheckList", # 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, 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>
+
+<div class="method">
+    <code class="details" id="update">update(project, httpHealthCheck, body)</code>
+  <pre>Updates a HttpHealthCheck resource in the specified project using the data included in the request.
+
+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_v1.images.html b/docs/dyn/compute_v1.images.html
new file mode 100644
index 0000000..31674e3
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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.
+      },
+      "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.
+      },
+      "archiveSizeBytes": "A String", # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
+      "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.
+    },
+    "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.
+    },
+    "archiveSizeBytes": "A String", # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
+    "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 value is 500 and default value is 500.
+  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.
+          },
+          "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.
+          },
+          "archiveSizeBytes": "A String", # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
+          "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_v1.instances.html b/docs/dyn/compute_v1.instances.html
new file mode 100644
index 0000000..0d68325
--- /dev/null
+++ b/docs/dyn/compute_v1.instances.html
@@ -0,0 +1,1240 @@
+<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_v1.html">Compute Engine API</a> . <a href="compute_v1.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="#setDiskAutoDelete">setDiskAutoDelete(project, zone, instance, autoDelete, deviceName)</a></code></p>
+<p class="firstline">Sets the auto-delete flag for a disk attached to an 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="#setScheduling">setScheduling(project, zone, instance, body)</a></code></p>
+<p class="firstline">Sets an instance's scheduling options.</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 value is 500 and default value is 500.
+  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).
+            "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.
+              },
+            "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.
+                  "initializeParams": { # Initialization parameters for the new disk (Mutually exclusive with 'source', can currently only be specified on the boot disk). # Initialization parameters.
+                    "diskSizeGb": "A String", # Size of the disk in base-2 GB.
+                    "diskName": "A String", # Name of the disk (when not provided defaults to the name of the instance).
+                    "sourceImage": "A String", # The source image used to create this disk.
+                  },
+                  "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
+                  "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).
+            "scheduling": { # Scheduling options for an Instance. # Scheduling options for this instance.
+              "automaticRestart": True or False, # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user).
+              "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
+            },
+            "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.
+    "initializeParams": { # Initialization parameters for the new disk (Mutually exclusive with 'source', can currently only be specified on the boot disk). # Initialization parameters.
+      "diskSizeGb": "A String", # Size of the disk in base-2 GB.
+      "diskName": "A String", # Name of the disk (when not provided defaults to the name of the instance).
+      "sourceImage": "A String", # The source image used to create this disk.
+    },
+    "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
+    "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).
+    "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.
+      },
+    "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.
+          "initializeParams": { # Initialization parameters for the new disk (Mutually exclusive with 'source', can currently only be specified on the boot disk). # Initialization parameters.
+            "diskSizeGb": "A String", # Size of the disk in base-2 GB.
+            "diskName": "A String", # Name of the disk (when not provided defaults to the name of the instance).
+            "sourceImage": "A String", # The source image used to create this disk.
+          },
+          "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
+          "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).
+    "scheduling": { # Scheduling options for an Instance. # Scheduling options for this instance.
+      "automaticRestart": True or False, # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user).
+      "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
+    },
+    "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).
+  "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.
+    },
+  "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.
+        "initializeParams": { # Initialization parameters for the new disk (Mutually exclusive with 'source', can currently only be specified on the boot disk). # Initialization parameters.
+          "diskSizeGb": "A String", # Size of the disk in base-2 GB.
+          "diskName": "A String", # Name of the disk (when not provided defaults to the name of the instance).
+          "sourceImage": "A String", # The source image used to create this disk.
+        },
+        "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
+        "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).
+  "scheduling": { # Scheduling options for an Instance. # Scheduling options for this instance.
+    "automaticRestart": True or False, # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user).
+    "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
+  },
+  "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 value is 500 and default value is 500.
+  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).
+        "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.
+          },
+        "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.
+              "initializeParams": { # Initialization parameters for the new disk (Mutually exclusive with 'source', can currently only be specified on the boot disk). # Initialization parameters.
+                "diskSizeGb": "A String", # Size of the disk in base-2 GB.
+                "diskName": "A String", # Name of the disk (when not provided defaults to the name of the instance).
+                "sourceImage": "A String", # The source image used to create this disk.
+              },
+              "autoDelete": True or False, # Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
+              "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).
+        "scheduling": { # Scheduling options for an Instance. # Scheduling options for this instance.
+          "automaticRestart": True or False, # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user).
+          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
+        },
+        "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="setDiskAutoDelete">setDiskAutoDelete(project, zone, instance, autoDelete, deviceName)</code>
+  <pre>Sets the auto-delete flag for a disk attached to an instance
+
+Args:
+  project: string, Project name. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  instance: string, Instance name. (required)
+  autoDelete: boolean, Whether to auto-delete the disk when the instance is deleted. (required)
+  deviceName: string, Disk device name to modify. (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="setScheduling">setScheduling(project, zone, instance, body)</code>
+  <pre>Sets an instance's scheduling options.
+
+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:
+
+{ # Scheduling options for an Instance.
+  "automaticRestart": True or False, # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user).
+  "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
+}
+
+
+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_v1.machineTypes.html b/docs/dyn/compute_v1.machineTypes.html
new file mode 100644
index 0000000..a4dfcfc
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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 value is 500 and default value is 500.
+  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_v1.networks.html b/docs/dyn/compute_v1.networks.html
new file mode 100644
index 0000000..c2ee093
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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_v1.projects.html b/docs/dyn/compute_v1.projects.html
new file mode 100644
index 0000000..fdfb130
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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_v1.regionOperations.html b/docs/dyn/compute_v1.regionOperations.html
new file mode 100644
index 0000000..e193ed3
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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_v1.regions.html b/docs/dyn/compute_v1.regions.html
new file mode 100644
index 0000000..cf0ee5a
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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_v1.routes.html b/docs/dyn/compute_v1.routes.html
new file mode 100644
index 0000000..1ef258f
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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_v1.snapshots.html b/docs/dyn/compute_v1.snapshots.html
new file mode 100644
index 0000000..f82b801
--- /dev/null
+++ b/docs/dyn/compute_v1.snapshots.html
@@ -0,0 +1,224 @@
+<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_v1.html">Compute Engine API</a> . <a href="compute_v1.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.
+      "storageBytes": "A String", # A size of the the storage used by the snapshot. As snapshots share storage this number is expected to change with snapshot creation/deletion.
+      "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).
+      "storageBytesStatus": "A String", # An indicator whether storageBytes is in a stable state, or it is being adjusted as a result of shared storage reallocation.
+      "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 value is 500 and default value is 500.
+  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.
+          "storageBytes": "A String", # A size of the the storage used by the snapshot. As snapshots share storage this number is expected to change with snapshot creation/deletion.
+          "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).
+          "storageBytesStatus": "A String", # An indicator whether storageBytes is in a stable state, or it is being adjusted as a result of shared storage reallocation.
+          "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_v1.targetInstances.html b/docs/dyn/compute_v1.targetInstances.html
new file mode 100644
index 0000000..37b96bc
--- /dev/null
+++ b/docs/dyn/compute_v1.targetInstances.html
@@ -0,0 +1,363 @@
+<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_v1.html">Compute Engine API</a> . <a href="compute_v1.targetInstances.html">targetInstances</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 target instances 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, zone, targetInstance)</a></code></p>
+<p class="firstline">Deletes the specified TargetInstance resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, targetInstance)</a></code></p>
+<p class="firstline">Returns the specified TargetInstance resource.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, zone, body)</a></code></p>
+<p class="firstline">Creates a TargetInstance resource in the specified project and zone 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 TargetInstance resources available to the specified project and 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 target instances 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 value is 500 and default value is 500.
+  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 target instance lists.
+      "a_key": { # Name of the scope containing this set of target instances.
+        "targetInstances": [ # List of target instances contained in this scope.
+          { # A TargetInstance resource. This resource defines an endpoint VM that terminates traffic of certain protocols.
+              "kind": "compute#targetInstance", # Type of the resource.
+              "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 target instance resides (output only).
+              "natPolicy": "A String", # NAT option controlling how IPs are NAT'ed to the VM. Currently only NO_NAT (default value) is supported.
+              "instance": "A String", # The URL to the instance that terminates the relevant traffic.
+              "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.
+            },
+        ],
+        "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.
+            },
+          ],
+        },
+      },
+    },
+    "kind": "compute#targetInstanceAggregatedList", # 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, zone, targetInstance)</code>
+  <pre>Deletes the specified TargetInstance resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  targetInstance: string, Name of the TargetInstance 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, targetInstance)</code>
+  <pre>Returns the specified TargetInstance resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  zone: string, Name of the zone scoping this request. (required)
+  targetInstance: string, Name of the TargetInstance resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A TargetInstance resource. This resource defines an endpoint VM that terminates traffic of certain protocols.
+      "kind": "compute#targetInstance", # Type of the resource.
+      "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 target instance resides (output only).
+      "natPolicy": "A String", # NAT option controlling how IPs are NAT'ed to the VM. Currently only NO_NAT (default value) is supported.
+      "instance": "A String", # The URL to the instance that terminates the relevant traffic.
+      "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, zone, body)</code>
+  <pre>Creates a TargetInstance resource in the specified project and zone 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 TargetInstance resource. This resource defines an endpoint VM that terminates traffic of certain protocols.
+    "kind": "compute#targetInstance", # Type of the resource.
+    "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 target instance resides (output only).
+    "natPolicy": "A String", # NAT option controlling how IPs are NAT'ed to the VM. Currently only NO_NAT (default value) is supported.
+    "instance": "A String", # The URL to the instance that terminates the relevant traffic.
+    "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, zone, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of TargetInstance resources available to the specified project and 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 value is 500 and default value is 500.
+  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 TargetInstance resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The TargetInstance resources.
+      { # A TargetInstance resource. This resource defines an endpoint VM that terminates traffic of certain protocols.
+          "kind": "compute#targetInstance", # Type of the resource.
+          "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 target instance resides (output only).
+          "natPolicy": "A String", # NAT option controlling how IPs are NAT'ed to the VM. Currently only NO_NAT (default value) is supported.
+          "instance": "A String", # The URL to the instance that terminates the relevant traffic.
+          "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#targetInstanceList", # 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_v1.targetPools.html b/docs/dyn/compute_v1.targetPools.html
new file mode 100644
index 0000000..0c005f8
--- /dev/null
+++ b/docs/dyn/compute_v1.targetPools.html
@@ -0,0 +1,809 @@
+<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_v1.html">Compute Engine API</a> . <a href="compute_v1.targetPools.html">targetPools</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#addHealthCheck">addHealthCheck(project, region, targetPool, body)</a></code></p>
+<p class="firstline">Adds health check URL to targetPool.</p>
+<p class="toc_element">
+  <code><a href="#addInstance">addInstance(project, region, targetPool, body)</a></code></p>
+<p class="firstline">Adds instance url to targetPool.</p>
+<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 target pools 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, targetPool)</a></code></p>
+<p class="firstline">Deletes the specified TargetPool resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, region, targetPool)</a></code></p>
+<p class="firstline">Returns the specified TargetPool resource.</p>
+<p class="toc_element">
+  <code><a href="#getHealth">getHealth(project, region, targetPool, body)</a></code></p>
+<p class="firstline">Gets the most recent health check results for each IP for the given instance that is referenced by given TargetPool.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, region, body)</a></code></p>
+<p class="firstline">Creates a TargetPool resource in the specified project and region 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 TargetPool resources available to the specified project and 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>
+<p class="toc_element">
+  <code><a href="#removeHealthCheck">removeHealthCheck(project, region, targetPool, body)</a></code></p>
+<p class="firstline">Removes health check URL from targetPool.</p>
+<p class="toc_element">
+  <code><a href="#removeInstance">removeInstance(project, region, targetPool, body)</a></code></p>
+<p class="firstline">Removes instance URL from targetPool.</p>
+<p class="toc_element">
+  <code><a href="#setBackup">setBackup(project, region, targetPool, body, failoverRatio=None)</a></code></p>
+<p class="firstline">Changes backup pool configurations.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="addHealthCheck">addHealthCheck(project, region, targetPool, body)</code>
+  <pre>Adds health check URL to targetPool.
+
+Args:
+  project: string, A parameter (required)
+  region: string, Name of the region scoping this request. (required)
+  targetPool: string, Name of the TargetPool resource to which health_check_url is to be added. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "healthChecks": [ # Health check URLs to be added to targetPool.
+      {
+        "healthCheck": "A String",
+      },
+    ],
+  }
+
+
+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="addInstance">addInstance(project, region, targetPool, body)</code>
+  <pre>Adds instance url to targetPool.
+
+Args:
+  project: string, A parameter (required)
+  region: string, Name of the region scoping this request. (required)
+  targetPool: string, Name of the TargetPool resource to which instance_url is to be added. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "instances": [ # URLs of the instances to be added to targetPool.
+      {
+        "instance": "A String",
+      },
+    ],
+  }
+
+
+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>Retrieves the list of target pools 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 value is 500 and default value is 500.
+  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 target pool lists.
+      "a_key": { # Name of the scope containing this set of target pools.
+        "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.
+            },
+          ],
+        },
+        "targetPools": [ # List of target pools contained in this scope.
+          { # A TargetPool resource. This resource defines a pool of VMs, associated HttpHealthCheck resources, and the fallback TargetPool.
+              "failoverRatio": 3.14, # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].
+                  #
+                  # If set, 'backupPool' must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool.
+                  #
+                  # In case where 'failoverRatio' is not set or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the "force" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.
+              "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 target pool resides (output only).
+              "kind": "compute#targetPool", # Type of the resource.
+              "sessionAffinity": "A String", # Sesssion affinity option, must be one of the following values: 'NONE': Connections from the same client IP may go to any VM in the pool; 'CLIENT_IP': Connections from the same client IP will go to the same VM in the pool while that VM remains healthy. 'CLIENT_IP_PROTO': Connections from the same client IP with the same IP protocol will go to the same VM in the pool while that VM remains healthy.
+              "instances": [ # A list of resource URLs to the member VMs serving this pool. They must live in zones contained in the same region as this pool.
+                "A String",
+              ],
+              "backupPool": "A String", # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its 'failoverRatio' field is properly set to a value between [0, 1].
+                  #
+                  # 'backupPool' and 'failoverRatio' together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below 'failoverRatio', traffic arriving at the load-balanced IP will be directed to the backup pool.
+                  #
+                  # In case where 'failoverRatio' and 'backupPool' are not set, or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the "force" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.
+              "healthChecks": [ # A list of URLs to the HttpHealthCheck resource. A member VM in this pool is considered healthy if and only if all specified health checks pass. An empty list means all member VMs will be considered healthy at all times.
+                "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#targetPoolAggregatedList", # 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, targetPool)</code>
+  <pre>Deletes the specified TargetPool resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  targetPool: string, Name of the TargetPool 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, targetPool)</code>
+  <pre>Returns the specified TargetPool resource.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  targetPool: string, Name of the TargetPool resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # A TargetPool resource. This resource defines a pool of VMs, associated HttpHealthCheck resources, and the fallback TargetPool.
+      "failoverRatio": 3.14, # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].
+          #
+          # If set, 'backupPool' must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool.
+          #
+          # In case where 'failoverRatio' is not set or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the "force" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.
+      "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 target pool resides (output only).
+      "kind": "compute#targetPool", # Type of the resource.
+      "sessionAffinity": "A String", # Sesssion affinity option, must be one of the following values: 'NONE': Connections from the same client IP may go to any VM in the pool; 'CLIENT_IP': Connections from the same client IP will go to the same VM in the pool while that VM remains healthy. 'CLIENT_IP_PROTO': Connections from the same client IP with the same IP protocol will go to the same VM in the pool while that VM remains healthy.
+      "instances": [ # A list of resource URLs to the member VMs serving this pool. They must live in zones contained in the same region as this pool.
+        "A String",
+      ],
+      "backupPool": "A String", # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its 'failoverRatio' field is properly set to a value between [0, 1].
+          #
+          # 'backupPool' and 'failoverRatio' together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below 'failoverRatio', traffic arriving at the load-balanced IP will be directed to the backup pool.
+          #
+          # In case where 'failoverRatio' and 'backupPool' are not set, or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the "force" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.
+      "healthChecks": [ # A list of URLs to the HttpHealthCheck resource. A member VM in this pool is considered healthy if and only if all specified health checks pass. An empty list means all member VMs will be considered healthy at all times.
+        "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="getHealth">getHealth(project, region, targetPool, body)</code>
+  <pre>Gets the most recent health check results for each IP for the given instance that is referenced by given TargetPool.
+
+Args:
+  project: string, A parameter (required)
+  region: string, Name of the region scoping this request. (required)
+  targetPool: string, Name of the TargetPool resource to which the queried instance belongs. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "instance": "A String",
+}
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "compute#targetPoolInstanceHealth", # Type of resource.
+    "healthStatus": [
+      {
+        "instance": "A String", # URL of the instance resource.
+        "healthState": "A String", # Health state of the instance.
+        "ipAddress": "A String", # The IP address represented by this resource.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, region, body)</code>
+  <pre>Creates a TargetPool resource in the specified project and region 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 TargetPool resource. This resource defines a pool of VMs, associated HttpHealthCheck resources, and the fallback TargetPool.
+    "failoverRatio": 3.14, # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].
+        # 
+        # If set, 'backupPool' must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool.
+        # 
+        # In case where 'failoverRatio' is not set or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the "force" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.
+    "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 target pool resides (output only).
+    "kind": "compute#targetPool", # Type of the resource.
+    "sessionAffinity": "A String", # Sesssion affinity option, must be one of the following values: 'NONE': Connections from the same client IP may go to any VM in the pool; 'CLIENT_IP': Connections from the same client IP will go to the same VM in the pool while that VM remains healthy. 'CLIENT_IP_PROTO': Connections from the same client IP with the same IP protocol will go to the same VM in the pool while that VM remains healthy.
+    "instances": [ # A list of resource URLs to the member VMs serving this pool. They must live in zones contained in the same region as this pool.
+      "A String",
+    ],
+    "backupPool": "A String", # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its 'failoverRatio' field is properly set to a value between [0, 1].
+        # 
+        # 'backupPool' and 'failoverRatio' together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below 'failoverRatio', traffic arriving at the load-balanced IP will be directed to the backup pool.
+        # 
+        # In case where 'failoverRatio' and 'backupPool' are not set, or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the "force" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.
+    "healthChecks": [ # A list of URLs to the HttpHealthCheck resource. A member VM in this pool is considered healthy if and only if all specified health checks pass. An empty list means all member VMs will be considered healthy at all times.
+      "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, region, maxResults=None, pageToken=None, filter=None)</code>
+  <pre>Retrieves the list of TargetPool resources available to the specified project and 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 value is 500 and default value is 500.
+  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 TargetPool resources.
+    "nextPageToken": "A String", # A token used to continue a truncated list request (output only).
+    "items": [ # The TargetPool resources.
+      { # A TargetPool resource. This resource defines a pool of VMs, associated HttpHealthCheck resources, and the fallback TargetPool.
+          "failoverRatio": 3.14, # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].
+              #
+              # If set, 'backupPool' must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool.
+              #
+              # In case where 'failoverRatio' is not set or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the "force" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.
+          "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 target pool resides (output only).
+          "kind": "compute#targetPool", # Type of the resource.
+          "sessionAffinity": "A String", # Sesssion affinity option, must be one of the following values: 'NONE': Connections from the same client IP may go to any VM in the pool; 'CLIENT_IP': Connections from the same client IP will go to the same VM in the pool while that VM remains healthy. 'CLIENT_IP_PROTO': Connections from the same client IP with the same IP protocol will go to the same VM in the pool while that VM remains healthy.
+          "instances": [ # A list of resource URLs to the member VMs serving this pool. They must live in zones contained in the same region as this pool.
+            "A String",
+          ],
+          "backupPool": "A String", # This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its 'failoverRatio' field is properly set to a value between [0, 1].
+              #
+              # 'backupPool' and 'failoverRatio' together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below 'failoverRatio', traffic arriving at the load-balanced IP will be directed to the backup pool.
+              #
+              # In case where 'failoverRatio' and 'backupPool' are not set, or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the "force" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.
+          "healthChecks": [ # A list of URLs to the HttpHealthCheck resource. A member VM in this pool is considered healthy if and only if all specified health checks pass. An empty list means all member VMs will be considered healthy at all times.
+            "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#targetPoolList", # 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="removeHealthCheck">removeHealthCheck(project, region, targetPool, body)</code>
+  <pre>Removes health check URL from targetPool.
+
+Args:
+  project: string, A parameter (required)
+  region: string, Name of the region scoping this request. (required)
+  targetPool: string, Name of the TargetPool resource to which health_check_url is to be removed. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "healthChecks": [ # Health check URLs to be removed from targetPool.
+      {
+        "healthCheck": "A String",
+      },
+    ],
+  }
+
+
+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="removeInstance">removeInstance(project, region, targetPool, body)</code>
+  <pre>Removes instance URL from targetPool.
+
+Args:
+  project: string, A parameter (required)
+  region: string, Name of the region scoping this request. (required)
+  targetPool: string, Name of the TargetPool resource to which instance_url is to be removed. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "instances": [ # URLs of the instances to be removed from targetPool.
+      {
+        "instance": "A String",
+      },
+    ],
+  }
+
+
+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="setBackup">setBackup(project, region, targetPool, body, failoverRatio=None)</code>
+  <pre>Changes backup pool configurations.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  targetPool: string, Name of the TargetPool resource for which the backup is to be set. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "target": "A String",
+  }
+
+  failoverRatio: number, New failoverRatio value for the containing target 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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_v1.zoneOperations.html b/docs/dyn/compute_v1.zoneOperations.html
new file mode 100644
index 0000000..6adeedf
--- /dev/null
+++ b/docs/dyn/compute_v1.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_v1.html">Compute Engine API</a> . <a href="compute_v1.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 value is 500 and default value is 500.
+  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_v1.zones.html b/docs/dyn/compute_v1.zones.html
new file mode 100644
index 0000000..3c7f08d
--- /dev/null
+++ b/docs/dyn/compute_v1.zones.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="compute_v1.html">Compute Engine API</a> . <a href="compute_v1.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).
+    "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 value is 500 and default value is 500.
+  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).
+        "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.customFieldDef.html b/docs/dyn/coordinate_v1.customFieldDef.html
new file mode 100644
index 0000000..24dac73
--- /dev/null
+++ b/docs/dyn/coordinate_v1.customFieldDef.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="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.customFieldDef.html">customFieldDef</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(teamId)</a></code></p>
+<p class="firstline">Retrieves a list of custom field definitions for a team.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(teamId)</code>
+  <pre>Retrieves a list of custom field definitions for a team.
+
+Args:
+  teamId: string, Team ID (required)
+
+Returns:
+  An object of the form:
+
+    { # Collection of custom field definitions for a team.
+    "items": [ # Collection of custom field definitions in a team.
+      { # Custom field definition.
+        "kind": "coordinate#customFieldDef", # Identifies this object as a custom field definition.
+        "name": "A String", # Custom field name.
+        "enabled": True or False, # Whether the field is enabled.
+        "requiredForCheckout": True or False, # Whether the field is required for checkout.
+        "type": "A String", # Custom field type.
+        "id": "A String", # Custom field id.
+      },
+    ],
+    "kind": "coordinate#customFieldDefList", # Identifies this object as a collection of custom field definitions in a team.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.html b/docs/dyn/coordinate_v1.html
new file mode 100644
index 0000000..1db6a5e
--- /dev/null
+++ b/docs/dyn/coordinate_v1.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="coordinate_v1.html">Google Maps Coordinate API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="coordinate_v1.customFieldDef.html">customFieldDef()</a></code>
+</p>
+<p class="firstline">Returns the customFieldDef Resource.</p>
+
+<p class="toc_element">
+  <code><a href="coordinate_v1.jobs.html">jobs()</a></code>
+</p>
+<p class="firstline">Returns the jobs Resource.</p>
+
+<p class="toc_element">
+  <code><a href="coordinate_v1.location.html">location()</a></code>
+</p>
+<p class="firstline">Returns the location Resource.</p>
+
+<p class="toc_element">
+  <code><a href="coordinate_v1.schedule.html">schedule()</a></code>
+</p>
+<p class="firstline">Returns the schedule Resource.</p>
+
+<p class="toc_element">
+  <code><a href="coordinate_v1.worker.html">worker()</a></code>
+</p>
+<p class="firstline">Returns the worker Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.jobs.html b/docs/dyn/coordinate_v1.jobs.html
new file mode 100644
index 0000000..96ffda4
--- /dev/null
+++ b/docs/dyn/coordinate_v1.jobs.html
@@ -0,0 +1,779 @@
+<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="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.jobs.html">jobs</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(teamId, jobId)</a></code></p>
+<p class="firstline">Retrieves a job, including all the changes made to the job.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(teamId, address, lat, lng, title, body, customerName=None, assignee=None, customerPhoneNumber=None, note=None, customField=None)</a></code></p>
+<p class="firstline">Inserts a new job. Only the state field of the job should be set.</p>
+<p class="toc_element">
+  <code><a href="#list">list(teamId, pageToken=None, minModifiedTimestampMs=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves jobs created or modified since the given timestamp.</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(teamId, jobId, body, customerName=None, assignee=None, customerPhoneNumber=None, lng=None, note=None, title=None, progress=None, address=None, lat=None, customField=None)</a></code></p>
+<p class="firstline">Updates a job. Fields that are set in the job state will be updated. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(teamId, jobId, body, customerName=None, assignee=None, customerPhoneNumber=None, lng=None, note=None, title=None, progress=None, address=None, lat=None, customField=None)</a></code></p>
+<p class="firstline">Updates a job. Fields that are set in the job state will be updated.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(teamId, jobId)</code>
+  <pre>Retrieves a job, including all the changes made to the job.
+
+Args:
+  teamId: string, Team ID (required)
+  jobId: string, Job number (required)
+
+Returns:
+  An object of the form:
+
+    { # A job.
+      "kind": "coordinate#job", # Identifies this object as a job.
+      "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
+        { # Change to a job. For example assigning the job to a different worker.
+          "timestamp": "A String", # Time at which this change was applied.
+          "kind": "coordinate#jobChange", # Identifies this object as a job change.
+          "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
+            "kind": "coordinate#jobState", # Identifies this object as a job state.
+            "customerName": "A String", # Customer name.
+            "title": "A String", # Job title.
+            "note": [ # Note added to the job.
+              "A String",
+            ],
+            "assignee": "A String", # Email address of the assignee.
+            "customerPhoneNumber": "A String", # Customer phone number.
+            "location": { # Location of a job. # Job location.
+              "lat": 3.14, # Latitude.
+              "kind": "coordinate#location", # Identifies this object as a location.
+              "addressLine": [ # Address.
+                "A String",
+              ],
+              "lng": 3.14, # Longitude.
+            },
+            "progress": "A String", # Job progress.
+            "customFields": { # Collection of custom fields. # Custom fields.
+              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+              "customField": [ # Collection of custom fields.
+                { # Custom field.
+                  "kind": "coordinate#customField", # Identifies this object as a custom field.
+                  "customFieldId": "A String", # Custom field id.
+                  "value": "A String", # Custom field value.
+                },
+              ],
+            },
+          },
+        },
+      ],
+      "id": "A String", # Job id.
+      "state": { # Current state of a job. # Current job state.
+        "kind": "coordinate#jobState", # Identifies this object as a job state.
+        "customerName": "A String", # Customer name.
+        "title": "A String", # Job title.
+        "note": [ # Note added to the job.
+          "A String",
+        ],
+        "assignee": "A String", # Email address of the assignee.
+        "customerPhoneNumber": "A String", # Customer phone number.
+        "location": { # Location of a job. # Job location.
+          "lat": 3.14, # Latitude.
+          "kind": "coordinate#location", # Identifies this object as a location.
+          "addressLine": [ # Address.
+            "A String",
+          ],
+          "lng": 3.14, # Longitude.
+        },
+        "progress": "A String", # Job progress.
+        "customFields": { # Collection of custom fields. # Custom fields.
+          "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+          "customField": [ # Collection of custom fields.
+            { # Custom field.
+              "kind": "coordinate#customField", # Identifies this object as a custom field.
+              "customFieldId": "A String", # Custom field id.
+              "value": "A String", # Custom field value.
+            },
+          ],
+        },
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(teamId, address, lat, lng, title, body, customerName=None, assignee=None, customerPhoneNumber=None, note=None, customField=None)</code>
+  <pre>Inserts a new job. Only the state field of the job should be set.
+
+Args:
+  teamId: string, Team ID (required)
+  address: string, Job address as newline (Unix) separated string (required)
+  lat: number, The latitude coordinate of this job's location. (required)
+  lng: number, The longitude coordinate of this job's location. (required)
+  title: string, Job title (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A job.
+    "kind": "coordinate#job", # Identifies this object as a job.
+    "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
+      { # Change to a job. For example assigning the job to a different worker.
+        "timestamp": "A String", # Time at which this change was applied.
+        "kind": "coordinate#jobChange", # Identifies this object as a job change.
+        "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
+          "kind": "coordinate#jobState", # Identifies this object as a job state.
+          "customerName": "A String", # Customer name.
+          "title": "A String", # Job title.
+          "note": [ # Note added to the job.
+            "A String",
+          ],
+          "assignee": "A String", # Email address of the assignee.
+          "customerPhoneNumber": "A String", # Customer phone number.
+          "location": { # Location of a job. # Job location.
+            "lat": 3.14, # Latitude.
+            "kind": "coordinate#location", # Identifies this object as a location.
+            "addressLine": [ # Address.
+              "A String",
+            ],
+            "lng": 3.14, # Longitude.
+          },
+          "progress": "A String", # Job progress.
+          "customFields": { # Collection of custom fields. # Custom fields.
+            "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+            "customField": [ # Collection of custom fields.
+              { # Custom field.
+                "kind": "coordinate#customField", # Identifies this object as a custom field.
+                "customFieldId": "A String", # Custom field id.
+                "value": "A String", # Custom field value.
+              },
+            ],
+          },
+        },
+      },
+    ],
+    "id": "A String", # Job id.
+    "state": { # Current state of a job. # Current job state.
+      "kind": "coordinate#jobState", # Identifies this object as a job state.
+      "customerName": "A String", # Customer name.
+      "title": "A String", # Job title.
+      "note": [ # Note added to the job.
+        "A String",
+      ],
+      "assignee": "A String", # Email address of the assignee.
+      "customerPhoneNumber": "A String", # Customer phone number.
+      "location": { # Location of a job. # Job location.
+        "lat": 3.14, # Latitude.
+        "kind": "coordinate#location", # Identifies this object as a location.
+        "addressLine": [ # Address.
+          "A String",
+        ],
+        "lng": 3.14, # Longitude.
+      },
+      "progress": "A String", # Job progress.
+      "customFields": { # Collection of custom fields. # Custom fields.
+        "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+        "customField": [ # Collection of custom fields.
+          { # Custom field.
+            "kind": "coordinate#customField", # Identifies this object as a custom field.
+            "customFieldId": "A String", # Custom field id.
+            "value": "A String", # Custom field value.
+          },
+        ],
+      },
+    },
+  }
+
+  customerName: string, Customer name
+  assignee: string, Assignee email address, or empty string to unassign.
+  customerPhoneNumber: string, Customer phone number
+  note: string, Job note as newline (Unix) separated string
+  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
+
+Returns:
+  An object of the form:
+
+    { # A job.
+      "kind": "coordinate#job", # Identifies this object as a job.
+      "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
+        { # Change to a job. For example assigning the job to a different worker.
+          "timestamp": "A String", # Time at which this change was applied.
+          "kind": "coordinate#jobChange", # Identifies this object as a job change.
+          "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
+            "kind": "coordinate#jobState", # Identifies this object as a job state.
+            "customerName": "A String", # Customer name.
+            "title": "A String", # Job title.
+            "note": [ # Note added to the job.
+              "A String",
+            ],
+            "assignee": "A String", # Email address of the assignee.
+            "customerPhoneNumber": "A String", # Customer phone number.
+            "location": { # Location of a job. # Job location.
+              "lat": 3.14, # Latitude.
+              "kind": "coordinate#location", # Identifies this object as a location.
+              "addressLine": [ # Address.
+                "A String",
+              ],
+              "lng": 3.14, # Longitude.
+            },
+            "progress": "A String", # Job progress.
+            "customFields": { # Collection of custom fields. # Custom fields.
+              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+              "customField": [ # Collection of custom fields.
+                { # Custom field.
+                  "kind": "coordinate#customField", # Identifies this object as a custom field.
+                  "customFieldId": "A String", # Custom field id.
+                  "value": "A String", # Custom field value.
+                },
+              ],
+            },
+          },
+        },
+      ],
+      "id": "A String", # Job id.
+      "state": { # Current state of a job. # Current job state.
+        "kind": "coordinate#jobState", # Identifies this object as a job state.
+        "customerName": "A String", # Customer name.
+        "title": "A String", # Job title.
+        "note": [ # Note added to the job.
+          "A String",
+        ],
+        "assignee": "A String", # Email address of the assignee.
+        "customerPhoneNumber": "A String", # Customer phone number.
+        "location": { # Location of a job. # Job location.
+          "lat": 3.14, # Latitude.
+          "kind": "coordinate#location", # Identifies this object as a location.
+          "addressLine": [ # Address.
+            "A String",
+          ],
+          "lng": 3.14, # Longitude.
+        },
+        "progress": "A String", # Job progress.
+        "customFields": { # Collection of custom fields. # Custom fields.
+          "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+          "customField": [ # Collection of custom fields.
+            { # Custom field.
+              "kind": "coordinate#customField", # Identifies this object as a custom field.
+              "customFieldId": "A String", # Custom field id.
+              "value": "A String", # Custom field value.
+            },
+          ],
+        },
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(teamId, pageToken=None, minModifiedTimestampMs=None, maxResults=None)</code>
+  <pre>Retrieves jobs created or modified since the given timestamp.
+
+Args:
+  teamId: string, Team ID (required)
+  pageToken: string, Continuation token
+  minModifiedTimestampMs: string, Minimum time a job was modified in milliseconds since epoch.
+  maxResults: integer, Maximum number of results to return in one page.
+
+Returns:
+  An object of the form:
+
+    { # Response from a List Jobs request.
+    "nextPageToken": "A String", # A token to provide to get the next page of results.
+    "items": [ # Jobs in the collection.
+      { # A job.
+          "kind": "coordinate#job", # Identifies this object as a job.
+          "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
+            { # Change to a job. For example assigning the job to a different worker.
+              "timestamp": "A String", # Time at which this change was applied.
+              "kind": "coordinate#jobChange", # Identifies this object as a job change.
+              "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
+                "kind": "coordinate#jobState", # Identifies this object as a job state.
+                "customerName": "A String", # Customer name.
+                "title": "A String", # Job title.
+                "note": [ # Note added to the job.
+                  "A String",
+                ],
+                "assignee": "A String", # Email address of the assignee.
+                "customerPhoneNumber": "A String", # Customer phone number.
+                "location": { # Location of a job. # Job location.
+                  "lat": 3.14, # Latitude.
+                  "kind": "coordinate#location", # Identifies this object as a location.
+                  "addressLine": [ # Address.
+                    "A String",
+                  ],
+                  "lng": 3.14, # Longitude.
+                },
+                "progress": "A String", # Job progress.
+                "customFields": { # Collection of custom fields. # Custom fields.
+                  "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+                  "customField": [ # Collection of custom fields.
+                    { # Custom field.
+                      "kind": "coordinate#customField", # Identifies this object as a custom field.
+                      "customFieldId": "A String", # Custom field id.
+                      "value": "A String", # Custom field value.
+                    },
+                  ],
+                },
+              },
+            },
+          ],
+          "id": "A String", # Job id.
+          "state": { # Current state of a job. # Current job state.
+            "kind": "coordinate#jobState", # Identifies this object as a job state.
+            "customerName": "A String", # Customer name.
+            "title": "A String", # Job title.
+            "note": [ # Note added to the job.
+              "A String",
+            ],
+            "assignee": "A String", # Email address of the assignee.
+            "customerPhoneNumber": "A String", # Customer phone number.
+            "location": { # Location of a job. # Job location.
+              "lat": 3.14, # Latitude.
+              "kind": "coordinate#location", # Identifies this object as a location.
+              "addressLine": [ # Address.
+                "A String",
+              ],
+              "lng": 3.14, # Longitude.
+            },
+            "progress": "A String", # Job progress.
+            "customFields": { # Collection of custom fields. # Custom fields.
+              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+              "customField": [ # Collection of custom fields.
+                { # Custom field.
+                  "kind": "coordinate#customField", # Identifies this object as a custom field.
+                  "customFieldId": "A String", # Custom field id.
+                  "value": "A String", # Custom field value.
+                },
+              ],
+            },
+          },
+        },
+    ],
+    "kind": "coordinate#jobList", # Identifies this object as a list of jobs.
+  }</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(teamId, jobId, body, customerName=None, assignee=None, customerPhoneNumber=None, lng=None, note=None, title=None, progress=None, address=None, lat=None, customField=None)</code>
+  <pre>Updates a job. Fields that are set in the job state will be updated. This method supports patch semantics.
+
+Args:
+  teamId: string, Team ID (required)
+  jobId: string, Job number (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A job.
+    "kind": "coordinate#job", # Identifies this object as a job.
+    "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
+      { # Change to a job. For example assigning the job to a different worker.
+        "timestamp": "A String", # Time at which this change was applied.
+        "kind": "coordinate#jobChange", # Identifies this object as a job change.
+        "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
+          "kind": "coordinate#jobState", # Identifies this object as a job state.
+          "customerName": "A String", # Customer name.
+          "title": "A String", # Job title.
+          "note": [ # Note added to the job.
+            "A String",
+          ],
+          "assignee": "A String", # Email address of the assignee.
+          "customerPhoneNumber": "A String", # Customer phone number.
+          "location": { # Location of a job. # Job location.
+            "lat": 3.14, # Latitude.
+            "kind": "coordinate#location", # Identifies this object as a location.
+            "addressLine": [ # Address.
+              "A String",
+            ],
+            "lng": 3.14, # Longitude.
+          },
+          "progress": "A String", # Job progress.
+          "customFields": { # Collection of custom fields. # Custom fields.
+            "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+            "customField": [ # Collection of custom fields.
+              { # Custom field.
+                "kind": "coordinate#customField", # Identifies this object as a custom field.
+                "customFieldId": "A String", # Custom field id.
+                "value": "A String", # Custom field value.
+              },
+            ],
+          },
+        },
+      },
+    ],
+    "id": "A String", # Job id.
+    "state": { # Current state of a job. # Current job state.
+      "kind": "coordinate#jobState", # Identifies this object as a job state.
+      "customerName": "A String", # Customer name.
+      "title": "A String", # Job title.
+      "note": [ # Note added to the job.
+        "A String",
+      ],
+      "assignee": "A String", # Email address of the assignee.
+      "customerPhoneNumber": "A String", # Customer phone number.
+      "location": { # Location of a job. # Job location.
+        "lat": 3.14, # Latitude.
+        "kind": "coordinate#location", # Identifies this object as a location.
+        "addressLine": [ # Address.
+          "A String",
+        ],
+        "lng": 3.14, # Longitude.
+      },
+      "progress": "A String", # Job progress.
+      "customFields": { # Collection of custom fields. # Custom fields.
+        "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+        "customField": [ # Collection of custom fields.
+          { # Custom field.
+            "kind": "coordinate#customField", # Identifies this object as a custom field.
+            "customFieldId": "A String", # Custom field id.
+            "value": "A String", # Custom field value.
+          },
+        ],
+      },
+    },
+  }
+
+  customerName: string, Customer name
+  assignee: string, Assignee email address, or empty string to unassign.
+  customerPhoneNumber: string, Customer phone number
+  lng: number, The longitude coordinate of this job's location.
+  note: string, Job note as newline (Unix) separated string
+  title: string, Job title
+  progress: string, Job progress
+    Allowed values
+      COMPLETED - Completed
+      IN_PROGRESS - In progress
+      NOT_ACCEPTED - Not accepted
+      NOT_STARTED - Not started
+      OBSOLETE - Obsolete
+  address: string, Job address as newline (Unix) separated string
+  lat: number, The latitude coordinate of this job's location.
+  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
+
+Returns:
+  An object of the form:
+
+    { # A job.
+      "kind": "coordinate#job", # Identifies this object as a job.
+      "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
+        { # Change to a job. For example assigning the job to a different worker.
+          "timestamp": "A String", # Time at which this change was applied.
+          "kind": "coordinate#jobChange", # Identifies this object as a job change.
+          "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
+            "kind": "coordinate#jobState", # Identifies this object as a job state.
+            "customerName": "A String", # Customer name.
+            "title": "A String", # Job title.
+            "note": [ # Note added to the job.
+              "A String",
+            ],
+            "assignee": "A String", # Email address of the assignee.
+            "customerPhoneNumber": "A String", # Customer phone number.
+            "location": { # Location of a job. # Job location.
+              "lat": 3.14, # Latitude.
+              "kind": "coordinate#location", # Identifies this object as a location.
+              "addressLine": [ # Address.
+                "A String",
+              ],
+              "lng": 3.14, # Longitude.
+            },
+            "progress": "A String", # Job progress.
+            "customFields": { # Collection of custom fields. # Custom fields.
+              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+              "customField": [ # Collection of custom fields.
+                { # Custom field.
+                  "kind": "coordinate#customField", # Identifies this object as a custom field.
+                  "customFieldId": "A String", # Custom field id.
+                  "value": "A String", # Custom field value.
+                },
+              ],
+            },
+          },
+        },
+      ],
+      "id": "A String", # Job id.
+      "state": { # Current state of a job. # Current job state.
+        "kind": "coordinate#jobState", # Identifies this object as a job state.
+        "customerName": "A String", # Customer name.
+        "title": "A String", # Job title.
+        "note": [ # Note added to the job.
+          "A String",
+        ],
+        "assignee": "A String", # Email address of the assignee.
+        "customerPhoneNumber": "A String", # Customer phone number.
+        "location": { # Location of a job. # Job location.
+          "lat": 3.14, # Latitude.
+          "kind": "coordinate#location", # Identifies this object as a location.
+          "addressLine": [ # Address.
+            "A String",
+          ],
+          "lng": 3.14, # Longitude.
+        },
+        "progress": "A String", # Job progress.
+        "customFields": { # Collection of custom fields. # Custom fields.
+          "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+          "customField": [ # Collection of custom fields.
+            { # Custom field.
+              "kind": "coordinate#customField", # Identifies this object as a custom field.
+              "customFieldId": "A String", # Custom field id.
+              "value": "A String", # Custom field value.
+            },
+          ],
+        },
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(teamId, jobId, body, customerName=None, assignee=None, customerPhoneNumber=None, lng=None, note=None, title=None, progress=None, address=None, lat=None, customField=None)</code>
+  <pre>Updates a job. Fields that are set in the job state will be updated.
+
+Args:
+  teamId: string, Team ID (required)
+  jobId: string, Job number (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A job.
+    "kind": "coordinate#job", # Identifies this object as a job.
+    "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
+      { # Change to a job. For example assigning the job to a different worker.
+        "timestamp": "A String", # Time at which this change was applied.
+        "kind": "coordinate#jobChange", # Identifies this object as a job change.
+        "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
+          "kind": "coordinate#jobState", # Identifies this object as a job state.
+          "customerName": "A String", # Customer name.
+          "title": "A String", # Job title.
+          "note": [ # Note added to the job.
+            "A String",
+          ],
+          "assignee": "A String", # Email address of the assignee.
+          "customerPhoneNumber": "A String", # Customer phone number.
+          "location": { # Location of a job. # Job location.
+            "lat": 3.14, # Latitude.
+            "kind": "coordinate#location", # Identifies this object as a location.
+            "addressLine": [ # Address.
+              "A String",
+            ],
+            "lng": 3.14, # Longitude.
+          },
+          "progress": "A String", # Job progress.
+          "customFields": { # Collection of custom fields. # Custom fields.
+            "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+            "customField": [ # Collection of custom fields.
+              { # Custom field.
+                "kind": "coordinate#customField", # Identifies this object as a custom field.
+                "customFieldId": "A String", # Custom field id.
+                "value": "A String", # Custom field value.
+              },
+            ],
+          },
+        },
+      },
+    ],
+    "id": "A String", # Job id.
+    "state": { # Current state of a job. # Current job state.
+      "kind": "coordinate#jobState", # Identifies this object as a job state.
+      "customerName": "A String", # Customer name.
+      "title": "A String", # Job title.
+      "note": [ # Note added to the job.
+        "A String",
+      ],
+      "assignee": "A String", # Email address of the assignee.
+      "customerPhoneNumber": "A String", # Customer phone number.
+      "location": { # Location of a job. # Job location.
+        "lat": 3.14, # Latitude.
+        "kind": "coordinate#location", # Identifies this object as a location.
+        "addressLine": [ # Address.
+          "A String",
+        ],
+        "lng": 3.14, # Longitude.
+      },
+      "progress": "A String", # Job progress.
+      "customFields": { # Collection of custom fields. # Custom fields.
+        "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+        "customField": [ # Collection of custom fields.
+          { # Custom field.
+            "kind": "coordinate#customField", # Identifies this object as a custom field.
+            "customFieldId": "A String", # Custom field id.
+            "value": "A String", # Custom field value.
+          },
+        ],
+      },
+    },
+  }
+
+  customerName: string, Customer name
+  assignee: string, Assignee email address, or empty string to unassign.
+  customerPhoneNumber: string, Customer phone number
+  lng: number, The longitude coordinate of this job's location.
+  note: string, Job note as newline (Unix) separated string
+  title: string, Job title
+  progress: string, Job progress
+    Allowed values
+      COMPLETED - Completed
+      IN_PROGRESS - In progress
+      NOT_ACCEPTED - Not accepted
+      NOT_STARTED - Not started
+      OBSOLETE - Obsolete
+  address: string, Job address as newline (Unix) separated string
+  lat: number, The latitude coordinate of this job's location.
+  customField: string, Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' (repeated)
+
+Returns:
+  An object of the form:
+
+    { # A job.
+      "kind": "coordinate#job", # Identifies this object as a job.
+      "jobChange": [ # List of job changes since it was created. The first change corresponds to the state of the job when it was created.
+        { # Change to a job. For example assigning the job to a different worker.
+          "timestamp": "A String", # Time at which this change was applied.
+          "kind": "coordinate#jobChange", # Identifies this object as a job change.
+          "state": { # Current state of a job. # Change applied to the job. Only the fields that were changed are set.
+            "kind": "coordinate#jobState", # Identifies this object as a job state.
+            "customerName": "A String", # Customer name.
+            "title": "A String", # Job title.
+            "note": [ # Note added to the job.
+              "A String",
+            ],
+            "assignee": "A String", # Email address of the assignee.
+            "customerPhoneNumber": "A String", # Customer phone number.
+            "location": { # Location of a job. # Job location.
+              "lat": 3.14, # Latitude.
+              "kind": "coordinate#location", # Identifies this object as a location.
+              "addressLine": [ # Address.
+                "A String",
+              ],
+              "lng": 3.14, # Longitude.
+            },
+            "progress": "A String", # Job progress.
+            "customFields": { # Collection of custom fields. # Custom fields.
+              "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+              "customField": [ # Collection of custom fields.
+                { # Custom field.
+                  "kind": "coordinate#customField", # Identifies this object as a custom field.
+                  "customFieldId": "A String", # Custom field id.
+                  "value": "A String", # Custom field value.
+                },
+              ],
+            },
+          },
+        },
+      ],
+      "id": "A String", # Job id.
+      "state": { # Current state of a job. # Current job state.
+        "kind": "coordinate#jobState", # Identifies this object as a job state.
+        "customerName": "A String", # Customer name.
+        "title": "A String", # Job title.
+        "note": [ # Note added to the job.
+          "A String",
+        ],
+        "assignee": "A String", # Email address of the assignee.
+        "customerPhoneNumber": "A String", # Customer phone number.
+        "location": { # Location of a job. # Job location.
+          "lat": 3.14, # Latitude.
+          "kind": "coordinate#location", # Identifies this object as a location.
+          "addressLine": [ # Address.
+            "A String",
+          ],
+          "lng": 3.14, # Longitude.
+        },
+        "progress": "A String", # Job progress.
+        "customFields": { # Collection of custom fields. # Custom fields.
+          "kind": "coordinate#customFields", # Identifies this object as a collection of custom fields.
+          "customField": [ # Collection of custom fields.
+            { # Custom field.
+              "kind": "coordinate#customField", # Identifies this object as a custom field.
+              "customFieldId": "A String", # Custom field id.
+              "value": "A String", # Custom field value.
+            },
+          ],
+        },
+      },
+    }</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
new file mode 100644
index 0000000..131ec9d
--- /dev/null
+++ b/docs/dyn/coordinate_v1.location.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="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.location.html">location</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(teamId, workerEmail, startTimestampMs, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of locations for a worker.</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(teamId, workerEmail, startTimestampMs, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of locations for a worker.
+
+Args:
+  teamId: string, Team ID (required)
+  workerEmail: string, Worker email address. (required)
+  startTimestampMs: string, Start timestamp in milliseconds since the epoch. (required)
+  pageToken: string, Continuation token
+  maxResults: integer, Maximum number of results to return in one page.
+
+Returns:
+  An object of the form:
+
+    { # Response from a List Locations request.
+    "nextPageToken": "A String", # A token to provide to get the next page of results.
+    "items": [ # Locations in the collection.
+      { # Recorded location of a worker.
+        "latitude": 3.14, # Latitude.
+        "collectionTime": "A String", # The collection time in milliseconds since the epoch.
+        "confidenceRadius": 3.14, # The location accuracy in meters. This is the radius of a 95% confidence interval around the location measurement.
+        "kind": "coordinate#locationRecord", # Identifies this object as a location.
+        "longitude": 3.14, # Longitude.
+      },
+    ],
+    "kind": "coordinate#locationList", # Identifies this object as a list of locations.
+    "tokenPagination": { # Pagination information. # Pagination information for token pagination.
+      "nextPageToken": "A String", # A token to provide to get the next page of results.
+      "previousPageToken": "A String", # A token to provide to get the previous page of results.
+      "kind": "coordinate#tokenPagination", # Identifies this object as pagination information.
+    },
+  }</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.schedule.html b/docs/dyn/coordinate_v1.schedule.html
new file mode 100644
index 0000000..7a68369
--- /dev/null
+++ b/docs/dyn/coordinate_v1.schedule.html
@@ -0,0 +1,177 @@
+<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="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.schedule.html">schedule</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <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, 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, 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">
+    <code class="details" id="get">get(teamId, jobId)</code>
+  <pre>Retrieves the schedule for a job.
+
+Args:
+  teamId: string, Team ID (required)
+  jobId: string, Job number (required)
+
+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.
+      "endTime": "A String", # Scheduled end time in milliseconds since epoch.
+    }</pre>
+</div>
+
+<div class="method">
+    <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:
+  teamId: string, Team ID (required)
+  jobId: string, Job number (required)
+  body: object, The request body. (required)
+    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.
+    "endTime": "A String", # Scheduled end time in milliseconds since epoch.
+  }
+
+  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.
+      "endTime": "A String", # Scheduled end time in milliseconds since epoch.
+    }</pre>
+</div>
+
+<div class="method">
+    <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:
+  teamId: string, Team ID (required)
+  jobId: string, Job number (required)
+  body: object, The request body. (required)
+    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.
+    "endTime": "A String", # Scheduled end time in milliseconds since epoch.
+  }
+
+  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.
+      "endTime": "A String", # Scheduled end time in milliseconds since epoch.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/coordinate_v1.worker.html b/docs/dyn/coordinate_v1.worker.html
new file mode 100644
index 0000000..0e3da77
--- /dev/null
+++ b/docs/dyn/coordinate_v1.worker.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="coordinate_v1.html">Google Maps Coordinate API</a> . <a href="coordinate_v1.worker.html">worker</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(teamId)</a></code></p>
+<p class="firstline">Retrieves a list of workers in a team.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(teamId)</code>
+  <pre>Retrieves a list of workers in a team.
+
+Args:
+  teamId: string, Team ID (required)
+
+Returns:
+  An object of the form:
+
+    { # Response from a List Workers request.
+    "items": [ # Workers in the collection.
+      { # A worker in a Coordinate team.
+        "kind": "coordinate#worker", # Identifies this object as a worker.
+        "id": "A String", # Worker email address.
+      },
+    ],
+    "kind": "coordinate#workerList", # Identifies this object as a list of workers.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/customsearch_v1.cse.html b/docs/dyn/customsearch_v1.cse.html
new file mode 100644
index 0000000..6c33e12
--- /dev/null
+++ b/docs/dyn/customsearch_v1.cse.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="customsearch_v1.html">CustomSearch API</a> . <a href="customsearch_v1.cse.html">cse</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(q, dateRestrict=None, hl=None, orTerms=None, highRange=None, num=None, cr=None, imgType=None, relatedSite=None, filter=None, gl=None, searchType=None, fileType=None, start=None, imgDominantColor=None, lr=None, siteSearch=None, cref=None, sort=None, hq=None, c2coff=None, googlehost=None, safe=None, exactTerms=None, lowRange=None, imgSize=None, imgColorType=None, rights=None, excludeTerms=None, linkSite=None, cx=None, siteSearchFilter=None)</a></code></p>
+<p class="firstline">Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(q, dateRestrict=None, hl=None, orTerms=None, highRange=None, num=None, cr=None, imgType=None, relatedSite=None, filter=None, gl=None, searchType=None, fileType=None, start=None, imgDominantColor=None, lr=None, siteSearch=None, cref=None, sort=None, hq=None, c2coff=None, googlehost=None, safe=None, exactTerms=None, lowRange=None, imgSize=None, imgColorType=None, rights=None, excludeTerms=None, linkSite=None, cx=None, siteSearchFilter=None)</code>
+  <pre>Returns metadata about the search performed, metadata about the custom search engine used for the search, and the search results.
+
+Args:
+  q: string, Query (required)
+  dateRestrict: string, Specifies all search results are from a time period
+  hl: string, Sets the user interface language.
+  orTerms: string, Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms
+  highRange: string, Creates a range in form as_nlo value..as_nhi value and attempts to append it to query
+  num: integer, Number of search results to return
+  cr: string, Country restrict(s).
+  imgType: string, Returns images of a type, which can be one of: clipart, face, lineart, news, and photo.
+    Allowed values
+      clipart - clipart
+      face - face
+      lineart - lineart
+      news - news
+      photo - photo
+  relatedSite: string, Specifies that all search results should be pages that are related to the specified URL
+  filter: string, Controls turning on or off the duplicate content filter.
+    Allowed values
+      0 - Turns off duplicate content filter.
+      1 - Turns on duplicate content filter.
+  gl: string, Geolocation of end user.
+  searchType: string, Specifies the search type: image.
+    Allowed values
+      image - custom image search
+  fileType: string, Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ...
+  start: integer, The index of the first result to return
+  imgDominantColor: string, Returns images of a specific dominant color: yellow, green, teal, blue, purple, pink, white, gray, black and brown.
+    Allowed values
+      black - black
+      blue - blue
+      brown - brown
+      gray - gray
+      green - green
+      pink - pink
+      purple - purple
+      teal - teal
+      white - white
+      yellow - yellow
+  lr: string, The language restriction for the search results
+    Allowed values
+      lang_ar - Arabic
+      lang_bg - Bulgarian
+      lang_ca - Catalan
+      lang_cs - Czech
+      lang_da - Danish
+      lang_de - German
+      lang_el - Greek
+      lang_en - English
+      lang_es - Spanish
+      lang_et - Estonian
+      lang_fi - Finnish
+      lang_fr - French
+      lang_hr - Croatian
+      lang_hu - Hungarian
+      lang_id - Indonesian
+      lang_is - Icelandic
+      lang_it - Italian
+      lang_iw - Hebrew
+      lang_ja - Japanese
+      lang_ko - Korean
+      lang_lt - Lithuanian
+      lang_lv - Latvian
+      lang_nl - Dutch
+      lang_no - Norwegian
+      lang_pl - Polish
+      lang_pt - Portuguese
+      lang_ro - Romanian
+      lang_ru - Russian
+      lang_sk - Slovak
+      lang_sl - Slovenian
+      lang_sr - Serbian
+      lang_sv - Swedish
+      lang_tr - Turkish
+      lang_zh-CN - Chinese (Simplified)
+      lang_zh-TW - Chinese (Traditional)
+  siteSearch: string, Specifies all search results should be pages from a given site
+  cref: string, The URL of a linked custom search engine
+  sort: string, The sort expression to apply to the results
+  hq: string, Appends the extra query terms to the query.
+  c2coff: string, Turns off the translation between zh-CN and zh-TW.
+  googlehost: string, The local Google domain to use to perform the search.
+  safe: string, Search safety level
+    Allowed values
+      high - Enables highest level of safe search filtering.
+      medium - Enables moderate safe search filtering.
+      off - Disables safe search filtering.
+  exactTerms: string, Identifies a phrase that all documents in the search results must contain
+  lowRange: string, Creates a range in form as_nlo value..as_nhi value and attempts to append it to query
+  imgSize: string, Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge.
+    Allowed values
+      huge - huge
+      icon - icon
+      large - large
+      medium - medium
+      small - small
+      xlarge - xlarge
+      xxlarge - xxlarge
+  imgColorType: string, Returns black and white, grayscale, or color images: mono, gray, and color.
+    Allowed values
+      color - color
+      gray - gray
+      mono - mono
+  rights: string, Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these.
+  excludeTerms: string, Identifies a word or phrase that should not appear in any documents in the search results
+  linkSite: string, Specifies that all search results should contain a link to a particular URL
+  cx: string, The custom search engine ID to scope this search query
+  siteSearchFilter: string, Controls whether to include or exclude results from the site named in the as_sitesearch parameter
+    Allowed values
+      e - exclude
+      i - include
+
+Returns:
+  An object of the form:
+
+    {
+    "promotions": [
+      {
+        "title": "A String",
+        "displayLink": "A String",
+        "htmlTitle": "A String",
+        "link": "A String",
+        "bodyLines": [
+          {
+            "url": "A String",
+            "htmlTitle": "A String",
+            "link": "A String",
+            "title": "A String",
+          },
+        ],
+        "image": {
+          "source": "A String",
+          "width": 42,
+          "height": 42,
+        },
+      },
+    ],
+    "kind": "customsearch#search",
+    "url": {
+      "type": "application/json",
+      "template": "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&cref={cref?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json",
+    },
+    "items": [
+      {
+        "snippet": "A String",
+        "kind": "customsearch#result",
+        "labels": [
+          {
+            "label_with_op": "A String",
+            "displayName": "A String",
+            "name": "A String",
+          },
+        ],
+        "title": "A String",
+        "displayLink": "A String",
+        "cacheId": "A String",
+        "formattedUrl": "A String",
+        "htmlFormattedUrl": "A String",
+        "pagemap": {
+          "a_key": [
+            {
+              "a_key": "",
+            },
+          ],
+        },
+        "htmlTitle": "A String",
+        "htmlSnippet": "A String",
+        "link": "A String",
+        "image": {
+          "thumbnailWidth": 42,
+          "byteSize": 42,
+          "height": 42,
+          "width": 42,
+          "contextLink": "A String",
+          "thumbnailLink": "A String",
+          "thumbnailHeight": 42,
+        },
+        "mime": "A String",
+        "fileFormat": "A String",
+      },
+    ],
+    "context": {
+      "facets": [
+        [
+          {
+            "label_with_op": "A String",
+            "anchor": "A String",
+            "label": "A String",
+          },
+        ],
+      ],
+      "title": "A String",
+    },
+    "queries": {
+      "a_key": [
+        {
+          "sort": "A String",
+          "hl": "A String",
+          "orTerms": "A String",
+          "highRange": "A String",
+          "cx": "A String",
+          "startPage": 42,
+          "disableCnTwTranslation": "A String",
+          "cr": "A String",
+          "imgType": "A String",
+          "gl": "A String",
+          "relatedSite": "A String",
+          "searchType": "A String",
+          "title": "A String",
+          "googleHost": "A String",
+          "fileType": "A String",
+          "imgDominantColor": "A String",
+          "siteSearch": "A String",
+          "cref": "A String",
+          "dateRestrict": "A String",
+          "safe": "A String",
+          "outputEncoding": "A String",
+          "hq": "A String",
+          "searchTerms": "A String",
+          "exactTerms": "A String",
+          "language": "A String",
+          "inputEncoding": "A String",
+          "totalResults": "A String",
+          "lowRange": "A String",
+          "count": 42,
+          "imgSize": "A String",
+          "imgColorType": "A String",
+          "rights": "A String",
+          "startIndex": 42,
+          "excludeTerms": "A String",
+          "filter": "A String",
+          "linkSite": "A String",
+          "siteSearchFilter": "A String",
+        },
+      ],
+    },
+    "spelling": {
+      "correctedQuery": "A String",
+      "htmlCorrectedQuery": "A String",
+    },
+    "searchInformation": {
+      "formattedSearchTime": "A String",
+      "formattedTotalResults": "A String",
+      "totalResults": "A String",
+      "searchTime": 3.14,
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/customsearch_v1.html b/docs/dyn/customsearch_v1.html
new file mode 100644
index 0000000..803bdc1
--- /dev/null
+++ b/docs/dyn/customsearch_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="customsearch_v1.html">CustomSearch API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="customsearch_v1.cse.html">cse()</a></code>
+</p>
+<p class="firstline">Returns the cse Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/datastore_v1beta2.datasets.html b/docs/dyn/datastore_v1beta2.datasets.html
new file mode 100644
index 0000000..5e686f2
--- /dev/null
+++ b/docs/dyn/datastore_v1beta2.datasets.html
@@ -0,0 +1,1131 @@
+<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_v1beta2.html">Google Cloud Datastore API</a> . <a href="datastore_v1beta2.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="#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="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. Must be set when mode is TRANSACTIONAL.
+    "mode": "A String", # The type of commit to perform. Either TRANSACTIONAL or NON_TRANSACTIONAL.
+    "mutation": { # The mutation to perform. 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 "".
+              "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.
+              "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                {
+                  "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.
+                  "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                    # Object with schema name: Value
+                  ],
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key 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 "".
+              "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.
+              "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                {
+                  "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.
+                  "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                    # Object with schema name: Value
+                  ],
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key 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 "".
+              "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.
+              "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                {
+                  "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.
+                  "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                    # Object with schema name: Value
+                  ],
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key 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 "".
+              "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.
+              "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                {
+                  "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.
+                  "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                    # Object with schema name: Value
+                  ],
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key 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 "".
+              "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.
+              "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                {
+                  "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.
+                  "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                    # Object with schema name: Value
+                  ],
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key 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 "".
+              "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.
+              "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                {
+                  "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.
+                  "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                    # Object with schema name: Value
+                  ],
+                  "booleanValue": True or False, # A boolean value.
+                  "blobKeyValue": "A String", # A blob key 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.
+            "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+              # Object with schema name: 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.
+            "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+              # Object with schema name: 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.
+            "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+              # Object with schema name: 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 "".
+                "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.
+                "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                  {
+                    "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.
+                    "listValue": [ # A list value. Cannot contain another list value. Cannot also have a meaning and indexing set.
+                      # Object with schema name: Value
+                    ],
+                    "booleanValue": True or False, # A boolean value.
+                    "blobKeyValue": "A String", # A blob key 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_v1beta2.html b/docs/dyn/datastore_v1beta2.html
new file mode 100644
index 0000000..d170eda
--- /dev/null
+++ b/docs/dyn/datastore_v1beta2.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_v1beta2.html">Google Cloud Datastore API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="datastore_v1beta2.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
new file mode 100644
index 0000000..57d39b3
--- /dev/null
+++ b/docs/dyn/discovery_v1.apis.html
@@ -0,0 +1,433 @@
+<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="discovery_v1.html">APIs Discovery Service</a> . <a href="discovery_v1.apis.html">apis</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <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)</a></code></p>
+<p class="firstline">Retrieve the list of APIs supported at this endpoint.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="getRest">getRest(api, version)</code>
+  <pre>Retrieve the description of a particular version of an api.
+
+Args:
+  api: string, The name of the API. (required)
+  version: string, The version of the API. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "protocol": "rest", # The protocol described by this document.
+    "methods": { # API-level methods for this API.
+      "a_key": { # An individual method description.
+        "scopes": [ # OAuth 2.0 scopes applicable to this method.
+          "A String",
+        ],
+        "description": "A String", # Description of this method.
+        "parameters": { # Details for all parameters in this method.
+          "a_key": { # Details for a single parameter in this method.
+            "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",
+            ],
+            "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
+              "map": [ # The map of discriminant value to schema to use for parsing..
+                {
+                  "type_value": "A String",
+                  "$ref": "A String",
+                },
+              ],
+              "discriminant": "A String", # The name of the type discriminant property.
+            },
+            "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.
+          },
+        },
+        "supportsMediaUpload": True or False, # Whether this method supports media uploads.
+        "etagRequired": True or False, # Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.
+        "mediaUpload": { # Media upload parameters.
+          "maxSize": "A String", # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
+          "protocols": { # Supported upload protocols.
+            "simple": { # Supports uploading as a single HTTP request.
+              "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
+              "multipart": true, # True if this endpoint supports upload multipart media.
+            },
+            "resumable": { # Supports the Resumable Media Upload protocol.
+              "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
+              "multipart": true, # True if this endpoint supports uploading multipart media.
+            },
+          },
+          "accept": [ # MIME Media Ranges for acceptable media uploads to this method.
+            "A String",
+          ],
+        },
+        "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.
+          "$ref": "A String", # Schema ID for the response schema.
+        },
+        "httpMethod": "A String", # HTTP method used by this method.
+        "supportsSubscription": True or False, # Whether this method supports subscriptions.
+        "parameterOrder": [ # Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.
+          "A String",
+        ],
+        "path": "A String", # The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.
+        "id": "A String", # A unique ID for this method. This property can be used to match methods between different versions of Discovery.
+        "supportsMediaDownload": True or False, # Whether this method supports media downloads.
+      },
+    },
+    "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.
+    "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.
+          "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",
+        ],
+        "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
+          "map": [ # The map of discriminant value to schema to use for parsing..
+            {
+              "type_value": "A String",
+              "$ref": "A String",
+            },
+          ],
+          "discriminant": "A String", # The name of the type discriminant property.
+        },
+        "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.
+      },
+    },
+    "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.
+    },
+    "baseUrl": "A String", # [DEPRECATED] The base URL for REST requests.
+    "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",
+        ],
+        "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
+          "map": [ # The map of discriminant value to schema to use for parsing..
+            {
+              "type_value": "A String",
+              "$ref": "A String",
+            },
+          ],
+          "discriminant": "A String", # The name of the type discriminant property.
+        },
+        "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.
+          "a_key": { # Description for any methods on this resource.
+            "scopes": [ # OAuth 2.0 scopes applicable to this method.
+              "A String",
+            ],
+            "description": "A String", # Description of this method.
+            "parameters": { # Details for all parameters in this method.
+              "a_key": { # Details for a single parameter in this method.
+                "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",
+                ],
+                "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
+                  "map": [ # The map of discriminant value to schema to use for parsing..
+                    {
+                      "type_value": "A String",
+                      "$ref": "A String",
+                    },
+                  ],
+                  "discriminant": "A String", # The name of the type discriminant property.
+                },
+                "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.
+              },
+            },
+            "supportsMediaUpload": True or False, # Whether this method supports media uploads.
+            "etagRequired": True or False, # Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.
+            "mediaUpload": { # Media upload parameters.
+              "maxSize": "A String", # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
+              "protocols": { # Supported upload protocols.
+                "simple": { # Supports uploading as a single HTTP request.
+                  "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
+                  "multipart": true, # True if this endpoint supports upload multipart media.
+                },
+                "resumable": { # Supports the Resumable Media Upload protocol.
+                  "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
+                  "multipart": true, # True if this endpoint supports uploading multipart media.
+                },
+              },
+              "accept": [ # MIME Media Ranges for acceptable media uploads to this method.
+                "A String",
+              ],
+            },
+            "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.
+              "$ref": "A String", # Schema ID for the response schema.
+            },
+            "httpMethod": "A String", # HTTP method used by this method.
+            "supportsSubscription": True or False, # Whether this method supports subscriptions.
+            "parameterOrder": [ # Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.
+              "A String",
+            ],
+            "path": "A String", # The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.
+            "id": "A String", # A unique ID for this method. This property can be used to match methods between different versions of Discovery.
+            "supportsMediaDownload": True or False, # Whether this method supports media downloads.
+          },
+        },
+        "resources": { # Sub-resources on this resource.
+          "a_key": # Object with schema name: RestResource # Description for any sub-resources on this resource.
+        },
+      },
+    },
+    "revision": "A String", # The version of this API.
+    "description": "A String", # The description of this API.
+    "canonicalName": "A String", # Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.
+    "auth": { # Authentication information.
+      "oauth2": { # OAuth 2.0 authentication information.
+        "scopes": { # Available OAuth 2.0 scopes.
+          "a_key": { # The scope value.
+            "description": "A String", # Description of scope.
+          },
+        },
+      },
+    },
+    "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.
+    "title": "A String", # The title of this API.
+    "discoveryVersion": "v1", # Indicate the version of the Discovery API used to generate this doc.
+    "documentationLink": "A String", # A link to human readable documentation for the API.
+  }</pre>
+</div>
+
+<div class="method">
+    <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.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The individual directory entries. One entry per api/version pair.
+      {
+        "kind": "discovery#directoryItem", # The kind for this response.
+        "labels": [ # Labels for the status of this API, such as labs or deprecated.
+          "A String",
+        ],
+        "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.
+        },
+        "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.
+        "version": "A String", # The version of the API.
+        "title": "A String", # The title of this API.
+        "id": "A String", # The id of this API.
+        "documentationLink": "A String", # A link to human readable documentation for the API.
+      },
+    ],
+    "discoveryVersion": "v1", # Indicate the version of the Discovery API used to generate this doc.
+    "kind": "discovery#directoryList", # The kind for this response.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/discovery_v1.html b/docs/dyn/discovery_v1.html
new file mode 100644
index 0000000..e4ac00f
--- /dev/null
+++ b/docs/dyn/discovery_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="discovery_v1.html">APIs Discovery Service</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="discovery_v1.apis.html">apis()</a></code>
+</p>
+<p class="firstline">Returns the apis Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dns_v1beta1.changes.html b/docs/dyn/dns_v1beta1.changes.html
new file mode 100644
index 0000000..4980ef8
--- /dev/null
+++ b/docs/dyn/dns_v1beta1.changes.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="dns_v1beta1.html">Google Cloud DNS API</a> . <a href="dns_v1beta1.changes.html">changes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(project, managedZone, body)</a></code></p>
+<p class="firstline">Atomically update the ResourceRecordSet collection.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, managedZone, changeId)</a></code></p>
+<p class="firstline">Fetch the representation of an existing Change.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, managedZone, pageToken=None, maxResults=None, sortBy=None, sortOrder=None)</a></code></p>
+<p class="firstline">Enumerate Changes to a ResourceRecordSet collection.</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="create">create(project, managedZone, body)</code>
+  <pre>Atomically update the ResourceRecordSet collection.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+  managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An atomic update to a collection of ResourceRecordSets.
+    "deletions": [ # Which ResourceRecordSets to remove? Must match existing data exactly.
+      { # A unit of data that will be returned by the DNS servers.
+        "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+          "A String",
+        ],
+        "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+        "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+        "name": "A String", # For example, www.example.com.
+        "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+      },
+    ],
+    "status": "A String", # Status of the operation. Can be one of the following: "PENDING" or "DONE" (output only).
+    "kind": "dns#change", # Identifies what kind of resource this is. Value: the fixed string "dns#change".
+    "startTime": "A String", # The time that this operation was started by the server. This is in RFC3339 text format.
+    "additions": [ # Which ResourceRecordSets to add?
+      { # A unit of data that will be returned by the DNS servers.
+        "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+          "A String",
+        ],
+        "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+        "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+        "name": "A String", # For example, www.example.com.
+        "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+      },
+    ],
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An atomic update to a collection of ResourceRecordSets.
+      "deletions": [ # Which ResourceRecordSets to remove? Must match existing data exactly.
+        { # A unit of data that will be returned by the DNS servers.
+          "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+            "A String",
+          ],
+          "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+          "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+          "name": "A String", # For example, www.example.com.
+          "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+        },
+      ],
+      "status": "A String", # Status of the operation. Can be one of the following: "PENDING" or "DONE" (output only).
+      "kind": "dns#change", # Identifies what kind of resource this is. Value: the fixed string "dns#change".
+      "startTime": "A String", # The time that this operation was started by the server. This is in RFC3339 text format.
+      "additions": [ # Which ResourceRecordSets to add?
+        { # A unit of data that will be returned by the DNS servers.
+          "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+            "A String",
+          ],
+          "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+          "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+          "name": "A String", # For example, www.example.com.
+          "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+        },
+      ],
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, managedZone, changeId)</code>
+  <pre>Fetch the representation of an existing Change.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+  managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
+  changeId: string, The identifier of the requested change, from a previous ResourceRecordSetsChangeResponse. (required)
+
+Returns:
+  An object of the form:
+
+    { # An atomic update to a collection of ResourceRecordSets.
+      "deletions": [ # Which ResourceRecordSets to remove? Must match existing data exactly.
+        { # A unit of data that will be returned by the DNS servers.
+          "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+            "A String",
+          ],
+          "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+          "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+          "name": "A String", # For example, www.example.com.
+          "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+        },
+      ],
+      "status": "A String", # Status of the operation. Can be one of the following: "PENDING" or "DONE" (output only).
+      "kind": "dns#change", # Identifies what kind of resource this is. Value: the fixed string "dns#change".
+      "startTime": "A String", # The time that this operation was started by the server. This is in RFC3339 text format.
+      "additions": [ # Which ResourceRecordSets to add?
+        { # A unit of data that will be returned by the DNS servers.
+          "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+            "A String",
+          ],
+          "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+          "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+          "name": "A String", # For example, www.example.com.
+          "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+        },
+      ],
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, managedZone, pageToken=None, maxResults=None, sortBy=None, sortOrder=None)</code>
+  <pre>Enumerate Changes to a ResourceRecordSet collection.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+  managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
+  pageToken: string, Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.
+  maxResults: integer, Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.
+  sortBy: string, Sorting criterion. The only supported value is change sequence.
+    Allowed values
+      changeSequence - 
+  sortOrder: string, Sorting order direction: 'ascending' or 'descending'.
+
+Returns:
+  An object of the form:
+
+    { # The response to a request to enumerate Changes to a ResourceRecordSets collection.
+    "nextPageToken": "A String", # The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.
+        #
+        # In this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a "snapshot" of collections larger than the maximum page size.
+    "kind": "dns#changesListResponse", # Type of resource.
+    "changes": [ # The requested changes.
+      { # An atomic update to a collection of ResourceRecordSets.
+          "deletions": [ # Which ResourceRecordSets to remove? Must match existing data exactly.
+            { # A unit of data that will be returned by the DNS servers.
+              "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+                "A String",
+              ],
+              "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+              "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+              "name": "A String", # For example, www.example.com.
+              "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+            },
+          ],
+          "status": "A String", # Status of the operation. Can be one of the following: "PENDING" or "DONE" (output only).
+          "kind": "dns#change", # Identifies what kind of resource this is. Value: the fixed string "dns#change".
+          "startTime": "A String", # The time that this operation was started by the server. This is in RFC3339 text format.
+          "additions": [ # Which ResourceRecordSets to add?
+            { # A unit of data that will be returned by the DNS servers.
+              "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+                "A String",
+              ],
+              "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+              "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+              "name": "A String", # For example, www.example.com.
+              "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+            },
+          ],
+          "id": "A String", # Unique identifier for the resource; defined by the server (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/dns_v1beta1.html b/docs/dyn/dns_v1beta1.html
new file mode 100644
index 0000000..1d0e2aa
--- /dev/null
+++ b/docs/dyn/dns_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="dns_v1beta1.html">Google Cloud DNS API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="dns_v1beta1.changes.html">changes()</a></code>
+</p>
+<p class="firstline">Returns the changes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dns_v1beta1.managedZones.html">managedZones()</a></code>
+</p>
+<p class="firstline">Returns the managedZones Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dns_v1beta1.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
+  <code><a href="dns_v1beta1.resourceRecordSets.html">resourceRecordSets()</a></code>
+</p>
+<p class="firstline">Returns the resourceRecordSets Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dns_v1beta1.managedZones.html b/docs/dyn/dns_v1beta1.managedZones.html
new file mode 100644
index 0000000..3a6ef99
--- /dev/null
+++ b/docs/dyn/dns_v1beta1.managedZones.html
@@ -0,0 +1,212 @@
+<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="dns_v1beta1.html">Google Cloud DNS API</a> . <a href="dns_v1beta1.managedZones.html">managedZones</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#create">create(project, body)</a></code></p>
+<p class="firstline">Create a new ManagedZone.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, managedZone)</a></code></p>
+<p class="firstline">Delete a previously created ManagedZone.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, managedZone)</a></code></p>
+<p class="firstline">Fetch the representation of an existing ManagedZone.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Enumerate ManagedZones that have been created but not yet deleted.</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="create">create(project, body)</code>
+  <pre>Create a new ManagedZone.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
+    "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
+    "description": "A String", # A string to associate with this resource for the user's convenience. Has no effect on the managed zone's function.
+    "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
+      "A String",
+    ],
+    "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
+    "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
+    "id": "A String", # Unique identifier for the resource; defined by the server (output only)
+    "name": "A String", # User assigned name for this resource. Must be unique within the project.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
+      "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
+      "description": "A String", # A string to associate with this resource for the user's convenience. Has no effect on the managed zone's function.
+      "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
+        "A String",
+      ],
+      "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
+      "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only)
+      "name": "A String", # User assigned name for this resource. Must be unique within the project.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, managedZone)</code>
+  <pre>Delete a previously created ManagedZone.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+  managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, managedZone)</code>
+  <pre>Fetch the representation of an existing ManagedZone.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+  managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
+
+Returns:
+  An object of the form:
+
+    { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
+      "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
+      "description": "A String", # A string to associate with this resource for the user's convenience. Has no effect on the managed zone's function.
+      "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
+        "A String",
+      ],
+      "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
+      "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
+      "id": "A String", # Unique identifier for the resource; defined by the server (output only)
+      "name": "A String", # User assigned name for this resource. Must be unique within the project.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, pageToken=None, maxResults=None)</code>
+  <pre>Enumerate ManagedZones that have been created but not yet deleted.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+  pageToken: string, Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.
+  maxResults: integer, Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your page token.
+        #
+        # In this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.
+    "kind": "dns#managedZonesListResponse", # Type of resource.
+    "managedZones": [ # The managed zone resources.
+      { # A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.
+          "kind": "dns#managedZone", # Identifies what kind of resource this is. Value: the fixed string "dns#managedZone".
+          "description": "A String", # A string to associate with this resource for the user's convenience. Has no effect on the managed zone's function.
+          "nameServers": [ # Delegate your managed_zone to these virtual name servers; defined by the server (output only)
+            "A String",
+          ],
+          "creationTime": "A String", # The time that this resource was created on the server. This is in RFC3339 text format. Output only.
+          "dnsName": "A String", # The DNS name of this managed zone, for instance "example.com.".
+          "id": "A String", # Unique identifier for the resource; defined by the server (output only)
+          "name": "A String", # User assigned name for this resource. Must be unique within the project.
+        },
+    ],
+  }</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/dns_v1beta1.projects.html b/docs/dyn/dns_v1beta1.projects.html
new file mode 100644
index 0000000..e8d3de5
--- /dev/null
+++ b/docs/dyn/dns_v1beta1.projects.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="dns_v1beta1.html">Google Cloud DNS API</a> . <a href="dns_v1beta1.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">Fetch the representation of an existing Project.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project)</code>
+  <pre>Fetch the representation of an existing Project.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # A project resource. The project is a top level container for resources including Cloud DNS ManagedZones. Projects can be created only in the APIs console.
+    "quota": { # Limits associated with a Project. # Quotas assigned to this project (output only).
+      "kind": "dns#quota", # Identifies what kind of resource this is. Value: the fixed string "dns#quota".
+      "rrsetAdditionsPerChange": 42, # Maximum allowed number of ResourceRecordSets to add per ChangesCreateRequest.
+      "totalRrdataSizePerChange": 42, # Maximum allowed size for total rrdata in one ChangesCreateRequest in bytes.
+      "resourceRecordsPerRrset": 42, # Maximum allowed number of ResourceRecords per ResourceRecordSet.
+      "rrsetsPerManagedZone": 42, # Maximum allowed number of ResourceRecordSets per zone in the project.
+      "rrsetDeletionsPerChange": 42, # Maximum allowed number of ResourceRecordSets to delete per ChangesCreateRequest.
+      "managedZones": 42, # Maximum allowed number of managed zones in the project.
+    },
+    "kind": "dns#project", # Identifies what kind of resource this is. Value: the fixed string "dns#project".
+    "id": "A String", # User assigned unique identifier for the resource (output only).
+    "number": "A String", # Unique numeric identifier for the resource; defined by the server (output only).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/dns_v1beta1.resourceRecordSets.html b/docs/dyn/dns_v1beta1.resourceRecordSets.html
new file mode 100644
index 0000000..e01903b
--- /dev/null
+++ b/docs/dyn/dns_v1beta1.resourceRecordSets.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="dns_v1beta1.html">Google Cloud DNS API</a> . <a href="dns_v1beta1.resourceRecordSets.html">resourceRecordSets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(project, managedZone, name=None, pageToken=None, maxResults=None, type=None)</a></code></p>
+<p class="firstline">Enumerate ResourceRecordSets that have been created but not yet deleted.</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(project, managedZone, name=None, pageToken=None, maxResults=None, type=None)</code>
+  <pre>Enumerate ResourceRecordSets that have been created but not yet deleted.
+
+Args:
+  project: string, Identifies the project addressed by this request. (required)
+  managedZone: string, Identifies the managed zone addressed by this request. Can be the managed zone name or id. (required)
+  name: string, Restricts the list to return only records with this fully qualified domain name.
+  pageToken: string, Optional. A tag returned by a previous list request that was truncated. Use this parameter to continue a previous list request.
+  maxResults: integer, Optional. Maximum number of results to be returned. If unspecified, the server will decide how many results to return.
+  type: string, Restricts the list to return only records of this type. If present, the "name" parameter must also be present.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The presence of this field indicates that there exist more results following your last page of results in pagination order. To fetch them, make another list request using this value as your pagination token.
+        #
+        # In this way you can retrieve the complete contents of even very large collections one page at a time. However, if the contents of the collection change between the first and last paginated list request, the set of all elements returned will be an inconsistent view of the collection. There is no way to retrieve a consistent snapshot of a collection larger than the maximum page size.
+    "rrsets": [ # The resource record set resources.
+      { # A unit of data that will be returned by the DNS servers.
+        "rrdatas": [ # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
+          "A String",
+        ],
+        "kind": "dns#resourceRecordSet", # Identifies what kind of resource this is. Value: the fixed string "dns#resourceRecordSet".
+        "type": "A String", # One of A, AAAA, SOA, MX, NS, TXT
+        "name": "A String", # For example, www.example.com.
+        "ttl": 42, # Number of seconds that this ResourceRecordSet can be cached by resolvers.
+      },
+    ],
+    "kind": "dns#resourceRecordSetsListResponse", # Type of 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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclickbidmanager_v1.html b/docs/dyn/doubleclickbidmanager_v1.html
new file mode 100644
index 0000000..db1129a
--- /dev/null
+++ b/docs/dyn/doubleclickbidmanager_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="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="doubleclickbidmanager_v1.lineitems.html">lineitems()</a></code>
+</p>
+<p class="firstline">Returns the lineitems Resource.</p>
+
+<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.lineitems.html b/docs/dyn/doubleclickbidmanager_v1.lineitems.html
new file mode 100644
index 0000000..821d7d6
--- /dev/null
+++ b/docs/dyn/doubleclickbidmanager_v1.lineitems.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="doubleclickbidmanager_v1.html">DoubleClick Bid Manager API</a> . <a href="doubleclickbidmanager_v1.lineitems.html">lineitems</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#downloadlineitems">downloadlineitems(body)</a></code></p>
+<p class="firstline">Retrieves line items in CSV format.</p>
+<p class="toc_element">
+  <code><a href="#uploadlineitems">uploadlineitems(body)</a></code></p>
+<p class="firstline">Uploads line items in CSV format.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="downloadlineitems">downloadlineitems(body)</code>
+  <pre>Retrieves line items in CSV format.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to fetch stored line items.
+    "filterType": "A String", # Filter type used to filter line items to fetch.
+    "filterIds": [ # Ids of the specified filter type used to filter line items to fetch. If omitted, all the line items will be returned.
+      "A String",
+    ],
+    "format": "A String", # Format in which the line items will be returned. Default to CSV.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Download line items response.
+    "lineItems": "A String", # Retrieved line items in CSV format. Refer to  Entity Write File Format for more information on file format.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="uploadlineitems">uploadlineitems(body)</code>
+  <pre>Uploads line items in CSV format.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to upload line items.
+    "lineItems": "A String", # Line items in CSV to upload. Refer to  Entity Write File Format for more information on file format.
+    "dryRun": True or False, # Set to true to get upload status without actually persisting the line items.
+    "format": "A String", # Format the line items are in. Default to CSV.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Upload line items response.
+    "uploadStatus": { # Represents the status of upload. # Status of upload.
+      "errors": [ # Reasons why upload can't be completed.
+        "A String",
+      ],
+      "rowStatus": [ # Per-row upload status.
+        { # Represents the upload status of a row in the request.
+          "errors": [ # Reasons why the entity can't be uploaded.
+            "A String",
+          ],
+          "entityName": "A String", # Entity name.
+          "changed": True or False, # Whether the stored entity is changed as a result of upload.
+          "rowNumber": 42, # Row number.
+          "persisted": True or False, # Whether the entity is persisted.
+          "entityId": "A String", # Entity Id.
+        },
+      ],
+    },
+  }</pre>
+</div>
+
+</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..b37081e
--- /dev/null
+++ b/docs/dyn/doubleclickbidmanager_v1.queries.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="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", # Identifies what kind of resource this is. Value: the fixed string "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", # Datetime to periodically run the query until.
+    "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
+    "frequency": "A String", # How often the query is run.
+    "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight Range is 0 to 1439. Only applies to scheduled reports.
+  },
+  "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", # Identifies what kind of resource this is. Value: the fixed string "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", # Datetime to periodically run the query until.
+      "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
+      "frequency": "A String", # How often the query is run.
+      "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight Range is 0 to 1439. Only applies to scheduled reports.
+    },
+    "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", # Identifies what kind of resource this is. Value: the fixed string "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", # Datetime to periodically run the query until.
+      "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
+      "frequency": "A String", # How often the query is run.
+      "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight Range is 0 to 1439. Only applies to scheduled reports.
+    },
+    "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", # Identifies what kind of resource this is. Value: the fixed string "doubleclickbidmanager#listQueriesResponse".
+    "queries": [ # Retrieved queries.
+      { # Represents a query.
+        "kind": "doubleclickbidmanager#query", # Identifies what kind of resource this is. Value: the fixed string "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", # Datetime to periodically run the query until.
+          "nextRunTimezoneCode": "A String", # Canonical timezone code for report generation time. Defaults to America/New_York.
+          "frequency": "A String", # How often the query is run.
+          "nextRunMinuteOfDay": 42, # Time of day at which a new report will be generated, represented as minutes past midnight Range is 0 to 1439. Only applies to scheduled reports.
+        },
+        "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..6a3b018
--- /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", # Identifies what kind of resource this is. Value: the fixed string "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/doubleclicksearch_v2.conversion.html b/docs/dyn/doubleclicksearch_v2.conversion.html
new file mode 100644
index 0000000..02ed825
--- /dev/null
+++ b/docs/dyn/doubleclicksearch_v2.conversion.html
@@ -0,0 +1,486 @@
+<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="doubleclicksearch_v2.html">DoubleClick Search API</a> . <a href="doubleclicksearch_v2.conversion.html">conversion</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(agencyId, advertiserId, engineAccountId, endDate, rowCount, startDate, startRow, adGroupId=None, campaignId=None, adId=None, criterionId=None)</a></code></p>
+<p class="firstline">Retrieves a list of conversions from a DoubleClick Search engine account.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Inserts a batch of new conversions into DoubleClick Search.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(advertiserId, agencyId, endDate, engineAccountId, rowCount, startDate, startRow, body)</a></code></p>
+<p class="firstline">Updates a batch of conversions in DoubleClick Search. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(body)</a></code></p>
+<p class="firstline">Updates a batch of conversions in DoubleClick Search.</p>
+<p class="toc_element">
+  <code><a href="#updateAvailability">updateAvailability(body)</a></code></p>
+<p class="firstline">Updates the availabilities of a batch of floodlight activities in DoubleClick Search.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(agencyId, advertiserId, engineAccountId, endDate, rowCount, startDate, startRow, adGroupId=None, campaignId=None, adId=None, criterionId=None)</code>
+  <pre>Retrieves a list of conversions from a DoubleClick Search engine account.
+
+Args:
+  agencyId: string, Numeric ID of the agency. (required)
+  advertiserId: string, Numeric ID of the advertiser. (required)
+  engineAccountId: string, Numeric ID of the engine account. (required)
+  endDate: integer, Last date (inclusive) on which to retrieve conversions. Format is yyyymmdd. (required)
+  rowCount: integer, The number of conversions to return per call. (required)
+  startDate: integer, First date (inclusive) on which to retrieve conversions. Format is yyyymmdd. (required)
+  startRow: integer, The 0-based starting index for retrieving conversions results. (required)
+  adGroupId: string, Numeric ID of the ad group.
+  campaignId: string, Numeric ID of the campaign.
+  adId: string, Numeric ID of the ad.
+  criterionId: string, Numeric ID of the criterion.
+
+Returns:
+  An object of the form:
+
+    { # A list of conversions.
+      "conversion": [ # The conversions being requested.
+        { # A conversion containing data relevant to DoubleClick Search.
+          "customDimension": [ # Custom dimensions for the conversion, which can be used to filter data in a report.
+            { # A message containing the custome dimension.
+              "name": "A String", # Custom dimension name.
+              "value": "A String", # Custom dimension value.
+            },
+          ],
+          "adGroupId": "A String", # DS ad group ID.
+          "dsConversionId": "A String", # DS conversion ID.
+          "campaignId": "A String", # DS campaign ID.
+          "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
+          "advertiserId": "A String", # DS advertiser ID.
+          "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
+          "clickId": "A String", # DS click ID for the conversion.
+          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+          "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
+          "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+          "adId": "A String", # DS ad ID.
+          "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
+          "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
+          "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+          "agencyId": "A String", # DS agency ID.
+          "quantityMillis": "A String", # The quantity of this conversion, in millis.
+          "criterionId": "A String", # DS criterion (keyword) ID.
+          "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
+          "customMetric": [ # Custom metrics for the conversion.
+            { # A message containing the custome metric.
+              "name": "A String", # Custom metric name.
+              "value": 3.14, # Custom metric numeric value.
+            },
+          ],
+          "engineAccountId": "A String", # DS engine account ID.
+          "type": "A String", # The type of the conversion, that is, either ACTION or TRANSACTION. An ACTION conversion is an action by the user that has no monetarily quantifiable value, while a TRANSACTION conversion is an action that does have a monetarily quantifiable value. Examples are email list signups (ACTION) versus ecommerce purchases (TRANSACTION).
+          "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+        },
+      ],
+      "kind": "doubleclicksearch#conversionList", # Identifies this as a ConversionList resource. Value: the fixed string doubleclicksearch#conversionList.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Inserts a batch of new conversions into DoubleClick Search.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A list of conversions.
+    "conversion": [ # The conversions being requested.
+      { # A conversion containing data relevant to DoubleClick Search.
+        "customDimension": [ # Custom dimensions for the conversion, which can be used to filter data in a report.
+          { # A message containing the custome dimension.
+            "name": "A String", # Custom dimension name.
+            "value": "A String", # Custom dimension value.
+          },
+        ],
+        "adGroupId": "A String", # DS ad group ID.
+        "dsConversionId": "A String", # DS conversion ID.
+        "campaignId": "A String", # DS campaign ID.
+        "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
+        "advertiserId": "A String", # DS advertiser ID.
+        "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
+        "clickId": "A String", # DS click ID for the conversion.
+        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+        "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
+        "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+        "adId": "A String", # DS ad ID.
+        "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
+        "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
+        "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+        "agencyId": "A String", # DS agency ID.
+        "quantityMillis": "A String", # The quantity of this conversion, in millis.
+        "criterionId": "A String", # DS criterion (keyword) ID.
+        "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
+        "customMetric": [ # Custom metrics for the conversion.
+          { # A message containing the custome metric.
+            "name": "A String", # Custom metric name.
+            "value": 3.14, # Custom metric numeric value.
+          },
+        ],
+        "engineAccountId": "A String", # DS engine account ID.
+        "type": "A String", # The type of the conversion, that is, either ACTION or TRANSACTION. An ACTION conversion is an action by the user that has no monetarily quantifiable value, while a TRANSACTION conversion is an action that does have a monetarily quantifiable value. Examples are email list signups (ACTION) versus ecommerce purchases (TRANSACTION).
+        "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+      },
+    ],
+    "kind": "doubleclicksearch#conversionList", # Identifies this as a ConversionList resource. Value: the fixed string doubleclicksearch#conversionList.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A list of conversions.
+      "conversion": [ # The conversions being requested.
+        { # A conversion containing data relevant to DoubleClick Search.
+          "customDimension": [ # Custom dimensions for the conversion, which can be used to filter data in a report.
+            { # A message containing the custome dimension.
+              "name": "A String", # Custom dimension name.
+              "value": "A String", # Custom dimension value.
+            },
+          ],
+          "adGroupId": "A String", # DS ad group ID.
+          "dsConversionId": "A String", # DS conversion ID.
+          "campaignId": "A String", # DS campaign ID.
+          "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
+          "advertiserId": "A String", # DS advertiser ID.
+          "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
+          "clickId": "A String", # DS click ID for the conversion.
+          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+          "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
+          "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+          "adId": "A String", # DS ad ID.
+          "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
+          "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
+          "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+          "agencyId": "A String", # DS agency ID.
+          "quantityMillis": "A String", # The quantity of this conversion, in millis.
+          "criterionId": "A String", # DS criterion (keyword) ID.
+          "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
+          "customMetric": [ # Custom metrics for the conversion.
+            { # A message containing the custome metric.
+              "name": "A String", # Custom metric name.
+              "value": 3.14, # Custom metric numeric value.
+            },
+          ],
+          "engineAccountId": "A String", # DS engine account ID.
+          "type": "A String", # The type of the conversion, that is, either ACTION or TRANSACTION. An ACTION conversion is an action by the user that has no monetarily quantifiable value, while a TRANSACTION conversion is an action that does have a monetarily quantifiable value. Examples are email list signups (ACTION) versus ecommerce purchases (TRANSACTION).
+          "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+        },
+      ],
+      "kind": "doubleclicksearch#conversionList", # Identifies this as a ConversionList resource. Value: the fixed string doubleclicksearch#conversionList.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(advertiserId, agencyId, endDate, engineAccountId, rowCount, startDate, startRow, body)</code>
+  <pre>Updates a batch of conversions in DoubleClick Search. This method supports patch semantics.
+
+Args:
+  advertiserId: string, Numeric ID of the advertiser. (required)
+  agencyId: string, Numeric ID of the agency. (required)
+  endDate: integer, Last date (inclusive) on which to retrieve conversions. Format is yyyymmdd. (required)
+  engineAccountId: string, Numeric ID of the engine account. (required)
+  rowCount: integer, The number of conversions to return per call. (required)
+  startDate: integer, First date (inclusive) on which to retrieve conversions. Format is yyyymmdd. (required)
+  startRow: integer, The 0-based starting index for retrieving conversions results. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A list of conversions.
+    "conversion": [ # The conversions being requested.
+      { # A conversion containing data relevant to DoubleClick Search.
+        "customDimension": [ # Custom dimensions for the conversion, which can be used to filter data in a report.
+          { # A message containing the custome dimension.
+            "name": "A String", # Custom dimension name.
+            "value": "A String", # Custom dimension value.
+          },
+        ],
+        "adGroupId": "A String", # DS ad group ID.
+        "dsConversionId": "A String", # DS conversion ID.
+        "campaignId": "A String", # DS campaign ID.
+        "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
+        "advertiserId": "A String", # DS advertiser ID.
+        "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
+        "clickId": "A String", # DS click ID for the conversion.
+        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+        "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
+        "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+        "adId": "A String", # DS ad ID.
+        "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
+        "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
+        "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+        "agencyId": "A String", # DS agency ID.
+        "quantityMillis": "A String", # The quantity of this conversion, in millis.
+        "criterionId": "A String", # DS criterion (keyword) ID.
+        "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
+        "customMetric": [ # Custom metrics for the conversion.
+          { # A message containing the custome metric.
+            "name": "A String", # Custom metric name.
+            "value": 3.14, # Custom metric numeric value.
+          },
+        ],
+        "engineAccountId": "A String", # DS engine account ID.
+        "type": "A String", # The type of the conversion, that is, either ACTION or TRANSACTION. An ACTION conversion is an action by the user that has no monetarily quantifiable value, while a TRANSACTION conversion is an action that does have a monetarily quantifiable value. Examples are email list signups (ACTION) versus ecommerce purchases (TRANSACTION).
+        "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+      },
+    ],
+    "kind": "doubleclicksearch#conversionList", # Identifies this as a ConversionList resource. Value: the fixed string doubleclicksearch#conversionList.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A list of conversions.
+      "conversion": [ # The conversions being requested.
+        { # A conversion containing data relevant to DoubleClick Search.
+          "customDimension": [ # Custom dimensions for the conversion, which can be used to filter data in a report.
+            { # A message containing the custome dimension.
+              "name": "A String", # Custom dimension name.
+              "value": "A String", # Custom dimension value.
+            },
+          ],
+          "adGroupId": "A String", # DS ad group ID.
+          "dsConversionId": "A String", # DS conversion ID.
+          "campaignId": "A String", # DS campaign ID.
+          "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
+          "advertiserId": "A String", # DS advertiser ID.
+          "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
+          "clickId": "A String", # DS click ID for the conversion.
+          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+          "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
+          "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+          "adId": "A String", # DS ad ID.
+          "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
+          "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
+          "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+          "agencyId": "A String", # DS agency ID.
+          "quantityMillis": "A String", # The quantity of this conversion, in millis.
+          "criterionId": "A String", # DS criterion (keyword) ID.
+          "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
+          "customMetric": [ # Custom metrics for the conversion.
+            { # A message containing the custome metric.
+              "name": "A String", # Custom metric name.
+              "value": 3.14, # Custom metric numeric value.
+            },
+          ],
+          "engineAccountId": "A String", # DS engine account ID.
+          "type": "A String", # The type of the conversion, that is, either ACTION or TRANSACTION. An ACTION conversion is an action by the user that has no monetarily quantifiable value, while a TRANSACTION conversion is an action that does have a monetarily quantifiable value. Examples are email list signups (ACTION) versus ecommerce purchases (TRANSACTION).
+          "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+        },
+      ],
+      "kind": "doubleclicksearch#conversionList", # Identifies this as a ConversionList resource. Value: the fixed string doubleclicksearch#conversionList.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(body)</code>
+  <pre>Updates a batch of conversions in DoubleClick Search.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A list of conversions.
+    "conversion": [ # The conversions being requested.
+      { # A conversion containing data relevant to DoubleClick Search.
+        "customDimension": [ # Custom dimensions for the conversion, which can be used to filter data in a report.
+          { # A message containing the custome dimension.
+            "name": "A String", # Custom dimension name.
+            "value": "A String", # Custom dimension value.
+          },
+        ],
+        "adGroupId": "A String", # DS ad group ID.
+        "dsConversionId": "A String", # DS conversion ID.
+        "campaignId": "A String", # DS campaign ID.
+        "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
+        "advertiserId": "A String", # DS advertiser ID.
+        "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
+        "clickId": "A String", # DS click ID for the conversion.
+        "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+        "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
+        "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+        "adId": "A String", # DS ad ID.
+        "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
+        "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
+        "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+        "agencyId": "A String", # DS agency ID.
+        "quantityMillis": "A String", # The quantity of this conversion, in millis.
+        "criterionId": "A String", # DS criterion (keyword) ID.
+        "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
+        "customMetric": [ # Custom metrics for the conversion.
+          { # A message containing the custome metric.
+            "name": "A String", # Custom metric name.
+            "value": 3.14, # Custom metric numeric value.
+          },
+        ],
+        "engineAccountId": "A String", # DS engine account ID.
+        "type": "A String", # The type of the conversion, that is, either ACTION or TRANSACTION. An ACTION conversion is an action by the user that has no monetarily quantifiable value, while a TRANSACTION conversion is an action that does have a monetarily quantifiable value. Examples are email list signups (ACTION) versus ecommerce purchases (TRANSACTION).
+        "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+      },
+    ],
+    "kind": "doubleclicksearch#conversionList", # Identifies this as a ConversionList resource. Value: the fixed string doubleclicksearch#conversionList.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A list of conversions.
+      "conversion": [ # The conversions being requested.
+        { # A conversion containing data relevant to DoubleClick Search.
+          "customDimension": [ # Custom dimensions for the conversion, which can be used to filter data in a report.
+            { # A message containing the custome dimension.
+              "name": "A String", # Custom dimension name.
+              "value": "A String", # Custom dimension value.
+            },
+          ],
+          "adGroupId": "A String", # DS ad group ID.
+          "dsConversionId": "A String", # DS conversion ID.
+          "campaignId": "A String", # DS campaign ID.
+          "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros.
+          "advertiserId": "A String", # DS advertiser ID.
+          "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC.
+          "clickId": "A String", # DS click ID for the conversion.
+          "floodlightOrderId": "A String", # The advertiser-provided order id for the conversion.
+          "currencyCode": "A String", # The currency code for the conversion's revenue. Should be in ISO 4217 alphabetic (3-char) format.
+          "state": "A String", # The state of the conversion, that is, either ACTIVE or DELETED.
+          "adId": "A String", # DS ad ID.
+          "conversionId": "A String", # Advertiser-provided ID for the conversion, also known as the order ID.
+          "conversionModifiedTimestamp": "A String", # The time at which the conversion was last modified, in epoch millis UTC.
+          "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+          "agencyId": "A String", # DS agency ID.
+          "quantityMillis": "A String", # The quantity of this conversion, in millis.
+          "criterionId": "A String", # DS criterion (keyword) ID.
+          "segmentationType": "A String", # The segmentation type of this conversion (for example, FLOODLIGHT).
+          "customMetric": [ # Custom metrics for the conversion.
+            { # A message containing the custome metric.
+              "name": "A String", # Custom metric name.
+              "value": 3.14, # Custom metric numeric value.
+            },
+          ],
+          "engineAccountId": "A String", # DS engine account ID.
+          "type": "A String", # The type of the conversion, that is, either ACTION or TRANSACTION. An ACTION conversion is an action by the user that has no monetarily quantifiable value, while a TRANSACTION conversion is an action that does have a monetarily quantifiable value. Examples are email list signups (ACTION) versus ecommerce purchases (TRANSACTION).
+          "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+        },
+      ],
+      "kind": "doubleclicksearch#conversionList", # Identifies this as a ConversionList resource. Value: the fixed string doubleclicksearch#conversionList.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateAvailability">updateAvailability(body)</code>
+  <pre>Updates the availabilities of a batch of floodlight activities in DoubleClick Search.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request to update availability.
+    "availabilities": [ # The availabilities being requested.
+      { # A message containing availability data relevant to DoubleClick Search.
+        "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+        "agencyId": "A String", # DS agency ID.
+        "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+        "availabilityTimestamp": "A String", # The time by which all conversions have been uploaded, in epoch millis UTC.
+        "advertiserId": "A String", # DS advertiser ID.
+        "segmentationType": "A String", # The segmentation type that this availability is for (its default value is FLOODLIGHT).
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The response to a update availability request.
+    "availabilities": [ # The availabilities being returned.
+      { # A message containing availability data relevant to DoubleClick Search.
+        "segmentationId": "A String", # The numeric segmentation identifier (for example, DoubleClick Search Floodlight activity ID).
+        "agencyId": "A String", # DS agency ID.
+        "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name).
+        "availabilityTimestamp": "A String", # The time by which all conversions have been uploaded, in epoch millis UTC.
+        "advertiserId": "A String", # DS advertiser ID.
+        "segmentationType": "A String", # The segmentation type that this availability is for (its default value is FLOODLIGHT).
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclicksearch_v2.html b/docs/dyn/doubleclicksearch_v2.html
new file mode 100644
index 0000000..02fd66d
--- /dev/null
+++ b/docs/dyn/doubleclicksearch_v2.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="doubleclicksearch_v2.html">DoubleClick Search API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="doubleclicksearch_v2.conversion.html">conversion()</a></code>
+</p>
+<p class="firstline">Returns the conversion Resource.</p>
+
+<p class="toc_element">
+  <code><a href="doubleclicksearch_v2.reports.html">reports()</a></code>
+</p>
+<p class="firstline">Returns the reports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="doubleclicksearch_v2.savedColumns.html">savedColumns()</a></code>
+</p>
+<p class="firstline">Returns the savedColumns Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclicksearch_v2.reports.html b/docs/dyn/doubleclicksearch_v2.reports.html
new file mode 100644
index 0000000..8b02daf
--- /dev/null
+++ b/docs/dyn/doubleclicksearch_v2.reports.html
@@ -0,0 +1,497 @@
+<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="doubleclicksearch_v2.html">DoubleClick Search API</a> . <a href="doubleclicksearch_v2.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#generate">generate(body)</a></code></p>
+<p class="firstline">Generates and returns a report immediately.</p>
+<p class="toc_element">
+  <code><a href="#get">get(reportId)</a></code></p>
+<p class="firstline">Polls for the status of a report request.</p>
+<p class="toc_element">
+  <code><a href="#getFile">getFile(reportId, reportFragment)</a></code></p>
+<p class="firstline">Downloads a report file.</p>
+<p class="toc_element">
+  <code><a href="#getFile_media">getFile_media(reportId, reportFragment)</a></code></p>
+<p class="firstline">Downloads a report file.</p>
+<p class="toc_element">
+  <code><a href="#request">request(body)</a></code></p>
+<p class="firstline">Inserts a report request into the reporting system.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="generate">generate(body)</code>
+  <pre>Generates and returns a report immediately.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A request object used to create a DoubleClick Search report.
+    "orderBy": [ # Synchronous report only. A list of columns and directions defining sorting to be performed on the report rows.
+      {
+        "column": { # Column to perform the sort on. This can be a DoubleClick Search-defined column or a saved column.
+          "columnName": "A String", # Name of a DoubleClick Search column to sort by.
+          "savedColumnName": "A String", # Name of a saved column to sort by.
+        },
+        "sortOrder": "A String", # The sort direction, which is either ascending or descending.
+      },
+    ],
+    "reportScope": { # The reportScope is a set of IDs that are used to determine which subset of entities will be returned in the report. The full lineage of IDs from the lowest scoped level desired up through agency is required.
+      "adGroupId": "A String", # DS ad group ID.
+      "agencyId": "A String", # DS agency ID.
+      "engineAccountId": "A String", # DS engine account ID.
+      "campaignId": "A String", # DS campaign ID.
+      "advertiserId": "A String", # DS advertiser ID.
+      "keywordId": "A String", # DS keyword ID.
+      "adId": "A String", # DS ad ID.
+    },
+    "maxRowsPerFile": 42, # Asynchronous report only. The maximum number of rows per report file. A large report is split into many files based on this field. Acceptable values are 1000000 to 100000000, inclusive.
+    "statisticsCurrency": "A String", # Specifies the currency in which monetary will be returned. Possible values are: usd, agency (valid if the report is scoped to agency or lower), advertiser (valid if the report is scoped to * advertiser or lower), or account (valid if the report is scoped to engine account or lower).
+    "timeRange": { # If metrics are requested in a report, this argument will be used to restrict the metrics to a specific time range.
+      "changedMetricsSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed metrics reports work.
+      "endDate": "A String", # Inclusive date in YYYY-MM-DD format.
+      "changedAttributesSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed attribute reports work.
+      "startDate": "A String", # Inclusive date in YYYY-MM-DD format.
+    },
+    "startRow": 0, # Synchronous report only. Zero-based index of the first row to return. Acceptable values are 0 to 50000, inclusive. Defaults to 0.
+    "rowCount": 10000, # Synchronous report only. The maxinum number of rows to return; additional rows are dropped. Acceptable values are 0 to 10000, inclusive. Defaults to 10000.
+    "reportType": "A String", # Determines the type of rows that are returned in the report. For example, if you specify reportType: keyword, each row in the report will contain data about a keyword. See the Types of Reports reference for the columns that are available for each type.
+    "verifySingleTimeZone": false, # If true, the report would only be created if all the requested stat data are sourced from a single timezone. Defaults to false.
+    "filters": [ # A list of filters to be applied to the report.
+      {
+        "column": { # Column to perform the filter on. This can be a DoubleClick Search column or a saved column.
+          "columnName": "A String", # Name of a DoubleClick Search column to filter on.
+          "savedColumnName": "A String", # Name of a saved column to filter on.
+        },
+        "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
+        "values": [ # A list of values to filter the column value against.
+          "",
+        ],
+      },
+    ],
+    "downloadFormat": "A String", # Format that the report should be returned in. Currently csv or tsv is supported.
+    "includeDeletedEntities": false, # Determines if removed entities should be included in the report. Defaults to false. Deprecated, please use includeRemovedEntities instead.
+    "columns": [ # The columns to include in the report. This includes both DoubleClick Search columns and saved columns. For DoubleClick Search columns, only the columnName parameter is required. For saved columns only the savedColumnName parameter is required. Both columnName and savedColumnName cannot be set in the same stanza.
+      {
+        "startDate": "A String", # Inclusive date in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with endDate.
+        "endDate": "A String", # Inclusive day in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with startDate.
+        "savedColumnName": "A String", # Name of a saved column to include in the report. The report must be scoped at advertiser or lower, and this saved column must already be created in the DoubleClick Search UI.
+        "groupByColumn": false, # Synchronous report only. Set to true to group by this column. Defaults to false.
+        "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
+        "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
+      },
+    ],
+    "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A DoubleClick Search report. This object contains the report request, some report metadata such as currency code, and the generated report rows or report files.
+    "files": [ # Asynchronous report only. Contains a list of generated report files once the report has succesfully completed.
+      {
+        "url": "A String", # Use this url to download the report file.
+        "byteCount": "A String", # The size of this report file in bytes.
+      },
+    ],
+    "kind": "doubleclicksearch#report", # Identifies this as a Report resource. Value: the fixed string doubleclicksearch#report.
+    "rows": [ # Synchronous report only. Generated report rows.
+      { # A row in a DoubleClick Search report.
+        "a_key": "", # Indicates the columns that are represented in this row. That is, each key corresponds to a column with a non-empty cell in this row.
+      },
+    ],
+    "request": { # A request object used to create a DoubleClick Search report. # The request that created the report. Optional fields not specified in the original request are filled with default values.
+        "orderBy": [ # Synchronous report only. A list of columns and directions defining sorting to be performed on the report rows.
+          {
+            "column": { # Column to perform the sort on. This can be a DoubleClick Search-defined column or a saved column.
+              "columnName": "A String", # Name of a DoubleClick Search column to sort by.
+              "savedColumnName": "A String", # Name of a saved column to sort by.
+            },
+            "sortOrder": "A String", # The sort direction, which is either ascending or descending.
+          },
+        ],
+        "reportScope": { # The reportScope is a set of IDs that are used to determine which subset of entities will be returned in the report. The full lineage of IDs from the lowest scoped level desired up through agency is required.
+          "adGroupId": "A String", # DS ad group ID.
+          "agencyId": "A String", # DS agency ID.
+          "engineAccountId": "A String", # DS engine account ID.
+          "campaignId": "A String", # DS campaign ID.
+          "advertiserId": "A String", # DS advertiser ID.
+          "keywordId": "A String", # DS keyword ID.
+          "adId": "A String", # DS ad ID.
+        },
+        "maxRowsPerFile": 42, # Asynchronous report only. The maximum number of rows per report file. A large report is split into many files based on this field. Acceptable values are 1000000 to 100000000, inclusive.
+        "statisticsCurrency": "A String", # Specifies the currency in which monetary will be returned. Possible values are: usd, agency (valid if the report is scoped to agency or lower), advertiser (valid if the report is scoped to * advertiser or lower), or account (valid if the report is scoped to engine account or lower).
+        "timeRange": { # If metrics are requested in a report, this argument will be used to restrict the metrics to a specific time range.
+          "changedMetricsSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed metrics reports work.
+          "endDate": "A String", # Inclusive date in YYYY-MM-DD format.
+          "changedAttributesSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed attribute reports work.
+          "startDate": "A String", # Inclusive date in YYYY-MM-DD format.
+        },
+        "startRow": 0, # Synchronous report only. Zero-based index of the first row to return. Acceptable values are 0 to 50000, inclusive. Defaults to 0.
+        "rowCount": 10000, # Synchronous report only. The maxinum number of rows to return; additional rows are dropped. Acceptable values are 0 to 10000, inclusive. Defaults to 10000.
+        "reportType": "A String", # Determines the type of rows that are returned in the report. For example, if you specify reportType: keyword, each row in the report will contain data about a keyword. See the Types of Reports reference for the columns that are available for each type.
+        "verifySingleTimeZone": false, # If true, the report would only be created if all the requested stat data are sourced from a single timezone. Defaults to false.
+        "filters": [ # A list of filters to be applied to the report.
+          {
+            "column": { # Column to perform the filter on. This can be a DoubleClick Search column or a saved column.
+              "columnName": "A String", # Name of a DoubleClick Search column to filter on.
+              "savedColumnName": "A String", # Name of a saved column to filter on.
+            },
+            "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
+            "values": [ # A list of values to filter the column value against.
+              "",
+            ],
+          },
+        ],
+        "downloadFormat": "A String", # Format that the report should be returned in. Currently csv or tsv is supported.
+        "includeDeletedEntities": false, # Determines if removed entities should be included in the report. Defaults to false. Deprecated, please use includeRemovedEntities instead.
+        "columns": [ # The columns to include in the report. This includes both DoubleClick Search columns and saved columns. For DoubleClick Search columns, only the columnName parameter is required. For saved columns only the savedColumnName parameter is required. Both columnName and savedColumnName cannot be set in the same stanza.
+          {
+            "startDate": "A String", # Inclusive date in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with endDate.
+            "endDate": "A String", # Inclusive day in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with startDate.
+            "savedColumnName": "A String", # Name of a saved column to include in the report. The report must be scoped at advertiser or lower, and this saved column must already be created in the DoubleClick Search UI.
+            "groupByColumn": false, # Synchronous report only. Set to true to group by this column. Defaults to false.
+            "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
+            "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
+          },
+        ],
+        "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
+      },
+    "isReportReady": True or False, # Asynchronous report only. True if and only if the report has completed successfully and the report files are ready to be downloaded.
+    "rowCount": 42, # The number of report rows generated by the report, not including headers.
+    "statisticsTimeZone": "A String", # If all statistics of the report are sourced from the same time zone, this would be it. Otherwise the field is unset.
+    "statisticsCurrencyCode": "A String", # The currency code of all monetary values produced in the report, including values that are set by users (e.g., keyword bid settings) and metrics (e.g., cost and revenue). The currency code of a report is determined by the statisticsCurrency field of the report request.
+    "id": "A String", # Asynchronous report only. Id of the report.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(reportId)</code>
+  <pre>Polls for the status of a report request.
+
+Args:
+  reportId: string, ID of the report request being polled. (required)
+
+Returns:
+  An object of the form:
+
+    { # A DoubleClick Search report. This object contains the report request, some report metadata such as currency code, and the generated report rows or report files.
+    "files": [ # Asynchronous report only. Contains a list of generated report files once the report has succesfully completed.
+      {
+        "url": "A String", # Use this url to download the report file.
+        "byteCount": "A String", # The size of this report file in bytes.
+      },
+    ],
+    "kind": "doubleclicksearch#report", # Identifies this as a Report resource. Value: the fixed string doubleclicksearch#report.
+    "rows": [ # Synchronous report only. Generated report rows.
+      { # A row in a DoubleClick Search report.
+        "a_key": "", # Indicates the columns that are represented in this row. That is, each key corresponds to a column with a non-empty cell in this row.
+      },
+    ],
+    "request": { # A request object used to create a DoubleClick Search report. # The request that created the report. Optional fields not specified in the original request are filled with default values.
+        "orderBy": [ # Synchronous report only. A list of columns and directions defining sorting to be performed on the report rows.
+          {
+            "column": { # Column to perform the sort on. This can be a DoubleClick Search-defined column or a saved column.
+              "columnName": "A String", # Name of a DoubleClick Search column to sort by.
+              "savedColumnName": "A String", # Name of a saved column to sort by.
+            },
+            "sortOrder": "A String", # The sort direction, which is either ascending or descending.
+          },
+        ],
+        "reportScope": { # The reportScope is a set of IDs that are used to determine which subset of entities will be returned in the report. The full lineage of IDs from the lowest scoped level desired up through agency is required.
+          "adGroupId": "A String", # DS ad group ID.
+          "agencyId": "A String", # DS agency ID.
+          "engineAccountId": "A String", # DS engine account ID.
+          "campaignId": "A String", # DS campaign ID.
+          "advertiserId": "A String", # DS advertiser ID.
+          "keywordId": "A String", # DS keyword ID.
+          "adId": "A String", # DS ad ID.
+        },
+        "maxRowsPerFile": 42, # Asynchronous report only. The maximum number of rows per report file. A large report is split into many files based on this field. Acceptable values are 1000000 to 100000000, inclusive.
+        "statisticsCurrency": "A String", # Specifies the currency in which monetary will be returned. Possible values are: usd, agency (valid if the report is scoped to agency or lower), advertiser (valid if the report is scoped to * advertiser or lower), or account (valid if the report is scoped to engine account or lower).
+        "timeRange": { # If metrics are requested in a report, this argument will be used to restrict the metrics to a specific time range.
+          "changedMetricsSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed metrics reports work.
+          "endDate": "A String", # Inclusive date in YYYY-MM-DD format.
+          "changedAttributesSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed attribute reports work.
+          "startDate": "A String", # Inclusive date in YYYY-MM-DD format.
+        },
+        "startRow": 0, # Synchronous report only. Zero-based index of the first row to return. Acceptable values are 0 to 50000, inclusive. Defaults to 0.
+        "rowCount": 10000, # Synchronous report only. The maxinum number of rows to return; additional rows are dropped. Acceptable values are 0 to 10000, inclusive. Defaults to 10000.
+        "reportType": "A String", # Determines the type of rows that are returned in the report. For example, if you specify reportType: keyword, each row in the report will contain data about a keyword. See the Types of Reports reference for the columns that are available for each type.
+        "verifySingleTimeZone": false, # If true, the report would only be created if all the requested stat data are sourced from a single timezone. Defaults to false.
+        "filters": [ # A list of filters to be applied to the report.
+          {
+            "column": { # Column to perform the filter on. This can be a DoubleClick Search column or a saved column.
+              "columnName": "A String", # Name of a DoubleClick Search column to filter on.
+              "savedColumnName": "A String", # Name of a saved column to filter on.
+            },
+            "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
+            "values": [ # A list of values to filter the column value against.
+              "",
+            ],
+          },
+        ],
+        "downloadFormat": "A String", # Format that the report should be returned in. Currently csv or tsv is supported.
+        "includeDeletedEntities": false, # Determines if removed entities should be included in the report. Defaults to false. Deprecated, please use includeRemovedEntities instead.
+        "columns": [ # The columns to include in the report. This includes both DoubleClick Search columns and saved columns. For DoubleClick Search columns, only the columnName parameter is required. For saved columns only the savedColumnName parameter is required. Both columnName and savedColumnName cannot be set in the same stanza.
+          {
+            "startDate": "A String", # Inclusive date in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with endDate.
+            "endDate": "A String", # Inclusive day in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with startDate.
+            "savedColumnName": "A String", # Name of a saved column to include in the report. The report must be scoped at advertiser or lower, and this saved column must already be created in the DoubleClick Search UI.
+            "groupByColumn": false, # Synchronous report only. Set to true to group by this column. Defaults to false.
+            "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
+            "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
+          },
+        ],
+        "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
+      },
+    "isReportReady": True or False, # Asynchronous report only. True if and only if the report has completed successfully and the report files are ready to be downloaded.
+    "rowCount": 42, # The number of report rows generated by the report, not including headers.
+    "statisticsTimeZone": "A String", # If all statistics of the report are sourced from the same time zone, this would be it. Otherwise the field is unset.
+    "statisticsCurrencyCode": "A String", # The currency code of all monetary values produced in the report, including values that are set by users (e.g., keyword bid settings) and metrics (e.g., cost and revenue). The currency code of a report is determined by the statisticsCurrency field of the report request.
+    "id": "A String", # Asynchronous report only. Id of the report.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getFile">getFile(reportId, reportFragment)</code>
+  <pre>Downloads a report file.
+
+Args:
+  reportId: string, ID of the report. (required)
+  reportFragment: integer, The index of the report fragment to download. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getFile_media">getFile_media(reportId, reportFragment)</code>
+  <pre>Downloads a report file.
+
+Args:
+  reportId: string, ID of the report. (required)
+  reportFragment: integer, The index of the report fragment to download. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="request">request(body)</code>
+  <pre>Inserts a report request into the reporting system.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A request object used to create a DoubleClick Search report.
+    "orderBy": [ # Synchronous report only. A list of columns and directions defining sorting to be performed on the report rows.
+      {
+        "column": { # Column to perform the sort on. This can be a DoubleClick Search-defined column or a saved column.
+          "columnName": "A String", # Name of a DoubleClick Search column to sort by.
+          "savedColumnName": "A String", # Name of a saved column to sort by.
+        },
+        "sortOrder": "A String", # The sort direction, which is either ascending or descending.
+      },
+    ],
+    "reportScope": { # The reportScope is a set of IDs that are used to determine which subset of entities will be returned in the report. The full lineage of IDs from the lowest scoped level desired up through agency is required.
+      "adGroupId": "A String", # DS ad group ID.
+      "agencyId": "A String", # DS agency ID.
+      "engineAccountId": "A String", # DS engine account ID.
+      "campaignId": "A String", # DS campaign ID.
+      "advertiserId": "A String", # DS advertiser ID.
+      "keywordId": "A String", # DS keyword ID.
+      "adId": "A String", # DS ad ID.
+    },
+    "maxRowsPerFile": 42, # Asynchronous report only. The maximum number of rows per report file. A large report is split into many files based on this field. Acceptable values are 1000000 to 100000000, inclusive.
+    "statisticsCurrency": "A String", # Specifies the currency in which monetary will be returned. Possible values are: usd, agency (valid if the report is scoped to agency or lower), advertiser (valid if the report is scoped to * advertiser or lower), or account (valid if the report is scoped to engine account or lower).
+    "timeRange": { # If metrics are requested in a report, this argument will be used to restrict the metrics to a specific time range.
+      "changedMetricsSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed metrics reports work.
+      "endDate": "A String", # Inclusive date in YYYY-MM-DD format.
+      "changedAttributesSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed attribute reports work.
+      "startDate": "A String", # Inclusive date in YYYY-MM-DD format.
+    },
+    "startRow": 0, # Synchronous report only. Zero-based index of the first row to return. Acceptable values are 0 to 50000, inclusive. Defaults to 0.
+    "rowCount": 10000, # Synchronous report only. The maxinum number of rows to return; additional rows are dropped. Acceptable values are 0 to 10000, inclusive. Defaults to 10000.
+    "reportType": "A String", # Determines the type of rows that are returned in the report. For example, if you specify reportType: keyword, each row in the report will contain data about a keyword. See the Types of Reports reference for the columns that are available for each type.
+    "verifySingleTimeZone": false, # If true, the report would only be created if all the requested stat data are sourced from a single timezone. Defaults to false.
+    "filters": [ # A list of filters to be applied to the report.
+      {
+        "column": { # Column to perform the filter on. This can be a DoubleClick Search column or a saved column.
+          "columnName": "A String", # Name of a DoubleClick Search column to filter on.
+          "savedColumnName": "A String", # Name of a saved column to filter on.
+        },
+        "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
+        "values": [ # A list of values to filter the column value against.
+          "",
+        ],
+      },
+    ],
+    "downloadFormat": "A String", # Format that the report should be returned in. Currently csv or tsv is supported.
+    "includeDeletedEntities": false, # Determines if removed entities should be included in the report. Defaults to false. Deprecated, please use includeRemovedEntities instead.
+    "columns": [ # The columns to include in the report. This includes both DoubleClick Search columns and saved columns. For DoubleClick Search columns, only the columnName parameter is required. For saved columns only the savedColumnName parameter is required. Both columnName and savedColumnName cannot be set in the same stanza.
+      {
+        "startDate": "A String", # Inclusive date in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with endDate.
+        "endDate": "A String", # Inclusive day in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with startDate.
+        "savedColumnName": "A String", # Name of a saved column to include in the report. The report must be scoped at advertiser or lower, and this saved column must already be created in the DoubleClick Search UI.
+        "groupByColumn": false, # Synchronous report only. Set to true to group by this column. Defaults to false.
+        "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
+        "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
+      },
+    ],
+    "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A DoubleClick Search report. This object contains the report request, some report metadata such as currency code, and the generated report rows or report files.
+    "files": [ # Asynchronous report only. Contains a list of generated report files once the report has succesfully completed.
+      {
+        "url": "A String", # Use this url to download the report file.
+        "byteCount": "A String", # The size of this report file in bytes.
+      },
+    ],
+    "kind": "doubleclicksearch#report", # Identifies this as a Report resource. Value: the fixed string doubleclicksearch#report.
+    "rows": [ # Synchronous report only. Generated report rows.
+      { # A row in a DoubleClick Search report.
+        "a_key": "", # Indicates the columns that are represented in this row. That is, each key corresponds to a column with a non-empty cell in this row.
+      },
+    ],
+    "request": { # A request object used to create a DoubleClick Search report. # The request that created the report. Optional fields not specified in the original request are filled with default values.
+        "orderBy": [ # Synchronous report only. A list of columns and directions defining sorting to be performed on the report rows.
+          {
+            "column": { # Column to perform the sort on. This can be a DoubleClick Search-defined column or a saved column.
+              "columnName": "A String", # Name of a DoubleClick Search column to sort by.
+              "savedColumnName": "A String", # Name of a saved column to sort by.
+            },
+            "sortOrder": "A String", # The sort direction, which is either ascending or descending.
+          },
+        ],
+        "reportScope": { # The reportScope is a set of IDs that are used to determine which subset of entities will be returned in the report. The full lineage of IDs from the lowest scoped level desired up through agency is required.
+          "adGroupId": "A String", # DS ad group ID.
+          "agencyId": "A String", # DS agency ID.
+          "engineAccountId": "A String", # DS engine account ID.
+          "campaignId": "A String", # DS campaign ID.
+          "advertiserId": "A String", # DS advertiser ID.
+          "keywordId": "A String", # DS keyword ID.
+          "adId": "A String", # DS ad ID.
+        },
+        "maxRowsPerFile": 42, # Asynchronous report only. The maximum number of rows per report file. A large report is split into many files based on this field. Acceptable values are 1000000 to 100000000, inclusive.
+        "statisticsCurrency": "A String", # Specifies the currency in which monetary will be returned. Possible values are: usd, agency (valid if the report is scoped to agency or lower), advertiser (valid if the report is scoped to * advertiser or lower), or account (valid if the report is scoped to engine account or lower).
+        "timeRange": { # If metrics are requested in a report, this argument will be used to restrict the metrics to a specific time range.
+          "changedMetricsSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed metrics reports work.
+          "endDate": "A String", # Inclusive date in YYYY-MM-DD format.
+          "changedAttributesSinceTimestamp": "A String", # Inclusive UTC timestamp in RFC format, e.g., 2013-07-16T10:16:23.555Z. See additional references on how changed attribute reports work.
+          "startDate": "A String", # Inclusive date in YYYY-MM-DD format.
+        },
+        "startRow": 0, # Synchronous report only. Zero-based index of the first row to return. Acceptable values are 0 to 50000, inclusive. Defaults to 0.
+        "rowCount": 10000, # Synchronous report only. The maxinum number of rows to return; additional rows are dropped. Acceptable values are 0 to 10000, inclusive. Defaults to 10000.
+        "reportType": "A String", # Determines the type of rows that are returned in the report. For example, if you specify reportType: keyword, each row in the report will contain data about a keyword. See the Types of Reports reference for the columns that are available for each type.
+        "verifySingleTimeZone": false, # If true, the report would only be created if all the requested stat data are sourced from a single timezone. Defaults to false.
+        "filters": [ # A list of filters to be applied to the report.
+          {
+            "column": { # Column to perform the filter on. This can be a DoubleClick Search column or a saved column.
+              "columnName": "A String", # Name of a DoubleClick Search column to filter on.
+              "savedColumnName": "A String", # Name of a saved column to filter on.
+            },
+            "operator": "A String", # Operator to use in the filter. See the filter reference for a list of available operators.
+            "values": [ # A list of values to filter the column value against.
+              "",
+            ],
+          },
+        ],
+        "downloadFormat": "A String", # Format that the report should be returned in. Currently csv or tsv is supported.
+        "includeDeletedEntities": false, # Determines if removed entities should be included in the report. Defaults to false. Deprecated, please use includeRemovedEntities instead.
+        "columns": [ # The columns to include in the report. This includes both DoubleClick Search columns and saved columns. For DoubleClick Search columns, only the columnName parameter is required. For saved columns only the savedColumnName parameter is required. Both columnName and savedColumnName cannot be set in the same stanza.
+          {
+            "startDate": "A String", # Inclusive date in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with endDate.
+            "endDate": "A String", # Inclusive day in YYYY-MM-DD format. When provided, this overrides the overall time range of the report for this column only. Must be provided together with startDate.
+            "savedColumnName": "A String", # Name of a saved column to include in the report. The report must be scoped at advertiser or lower, and this saved column must already be created in the DoubleClick Search UI.
+            "groupByColumn": false, # Synchronous report only. Set to true to group by this column. Defaults to false.
+            "headerText": "A String", # Text used to identify this column in the report output; defaults to columnName or savedColumnName when not specified. This can be used to prevent collisions between DoubleClick Search columns and saved columns with the same name.
+            "columnName": "A String", # Name of a DoubleClick Search column to include in the report.
+          },
+        ],
+        "includeRemovedEntities": false, # Determines if removed entities should be included in the report. Defaults to false.
+      },
+    "isReportReady": True or False, # Asynchronous report only. True if and only if the report has completed successfully and the report files are ready to be downloaded.
+    "rowCount": 42, # The number of report rows generated by the report, not including headers.
+    "statisticsTimeZone": "A String", # If all statistics of the report are sourced from the same time zone, this would be it. Otherwise the field is unset.
+    "statisticsCurrencyCode": "A String", # The currency code of all monetary values produced in the report, including values that are set by users (e.g., keyword bid settings) and metrics (e.g., cost and revenue). The currency code of a report is determined by the statisticsCurrency field of the report request.
+    "id": "A String", # Asynchronous report only. Id of the report.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/doubleclicksearch_v2.savedColumns.html b/docs/dyn/doubleclicksearch_v2.savedColumns.html
new file mode 100644
index 0000000..83e366f
--- /dev/null
+++ b/docs/dyn/doubleclicksearch_v2.savedColumns.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="doubleclicksearch_v2.html">DoubleClick Search API</a> . <a href="doubleclicksearch_v2.savedColumns.html">savedColumns</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(agencyId, advertiserId)</a></code></p>
+<p class="firstline">Retrieve the list of saved columns for a specified advertiser.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(agencyId, advertiserId)</code>
+  <pre>Retrieve the list of saved columns for a specified advertiser.
+
+Args:
+  agencyId: string, DS ID of the agency. (required)
+  advertiserId: string, DS ID of the advertiser. (required)
+
+Returns:
+  An object of the form:
+
+    { # A list of saved columns. Advertisers create saved columns to report on Floodlight activities, Google Analytics goals, or custom KPIs. To request reports with saved columns, you'll need the saved column names that are available from this list.
+    "items": [ # The saved columns being requested.
+      { # A saved column
+        "savedColumnName": "A String", # The name of the saved column.
+        "kind": "doubleclicksearch#savedColumn", # Identifies this as a SavedColumn resource. Value: the fixed string doubleclicksearch#savedColumn.
+        "type": "A String", # The type of data this saved column will produce.
+      },
+    ],
+    "kind": "doubleclicksearch#savedColumnList", # Identifies this as a SavedColumnList resource. Value: the fixed string doubleclicksearch#savedColumnList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.about.html b/docs/dyn/drive_v2.about.html
new file mode 100644
index 0000000..24a3664
--- /dev/null
+++ b/docs/dyn/drive_v2.about.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="drive_v2.html">Drive API</a> . <a href="drive_v2.about.html">about</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(includeSubscribed=None, startChangeId=None, maxChangeIdCount=None)</a></code></p>
+<p class="firstline">Gets the information about the current user along with Drive API settings</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(includeSubscribed=None, startChangeId=None, maxChangeIdCount=None)</code>
+  <pre>Gets the information about the current user along with Drive API settings
+
+Args:
+  includeSubscribed: boolean, When calculating the number of remaining change IDs, whether to include shared files and public files the user has opened. When set to false, this counts only change IDs for owned files and any shared or public files that the user has explictly added to a folder in Drive.
+  startChangeId: string, Change ID to start counting from when calculating number of remaining change IDs
+  maxChangeIdCount: string, Maximum number of remaining change IDs to count
+
+Returns:
+  An object of the form:
+
+    { # An item with user information and settings.
+    "kind": "drive#about", # This is always drive#about.
+    "features": [ # List of additional features enabled on this account.
+      {
+        "featureName": "A String", # The name of the feature.
+        "featureRate": 3.14, # The request limit rate for this feature, in queries per second.
+      },
+    ],
+    "quotaBytesUsed": "A String", # The number of quota bytes used by Google Drive.
+    "user": { # The JSON template for a user. # The authenticated user.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "permissionId": "A String", # The current user's ID as visible in the permissions collection.
+    "maxUploadSizes": [ # List of max upload sizes for each file type. The most specific type takes precedence.
+      {
+        "type": "A String", # The file type.
+        "size": "A String", # The max upload size for this type.
+      },
+    ],
+    "name": "A String", # The name of the current user.
+    "remainingChangeIds": "A String", # The number of remaining change ids.
+    "additionalRoleInfo": [ # Information about supported additional roles per file type. The most specific type takes precedence.
+      {
+        "roleSets": [ # The supported additional roles per primary role.
+          {
+            "primaryRole": "A String", # A primary permission role.
+            "additionalRoles": [ # The supported additional roles with the primary role.
+              "A String",
+            ],
+          },
+        ],
+        "type": "A String", # The content type that this additional role info applies to.
+      },
+    ],
+    "etag": "A String", # The ETag of the item.
+    "importFormats": [ # The allowable import formats.
+      {
+        "source": "A String", # The imported file's content type to convert from.
+        "targets": [ # The possible content types to convert to.
+          "A String",
+        ],
+      },
+    ],
+    "quotaBytesTotal": "A String", # The total number of quota bytes.
+    "rootFolderId": "A String", # The id of the root folder.
+    "largestChangeId": "A String", # The largest change id.
+    "quotaBytesUsedInTrash": "A String", # The number of quota bytes used by trashed items.
+    "exportFormats": [ # The allowable export formats.
+      {
+        "source": "A String", # The content type to convert from.
+        "targets": [ # The possible content types to convert to.
+          "A String",
+        ],
+      },
+    ],
+    "quotaBytesUsedAggregate": "A String", # The number of quota bytes used by all Google apps (Drive, Picasa, etc.).
+    "domainSharingPolicy": "A String", # The domain sharing policy for the current user.
+    "selfLink": "A String", # A link back to this item.
+    "isCurrentAppInstalled": True or False, # A boolean indicating whether the authenticated app is installed by the authenticated user.
+  }</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
new file mode 100644
index 0000000..cc81146
--- /dev/null
+++ b/docs/dyn/drive_v2.apps.html
@@ -0,0 +1,196 @@
+<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.apps.html">apps</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(appId)</a></code></p>
+<p class="firstline">Gets a specific app.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Lists a user's installed apps.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(appId)</code>
+  <pre>Gets a specific app.
+
+Args:
+  appId: string, The ID of the app. (required)
+
+Returns:
+  An object of the form:
+
+    { # The apps resource provides a list of the apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details.
+    "secondaryMimeTypes": [ # The list of secondary mime types.
+      "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", # A link to the product listing for this app.
+    "shortDescription": "A String", # A short description of the app.
+    "id": "A String", # The ID of the app.
+    "objectType": "A String", # The type of object this app creates (e.g. Chart). If empty, the app name should be used instead.
+    "primaryFileExtensions": [ # The list of primary file extensions.
+      "A String",
+    ],
+    "primaryMimeTypes": [ # The list of primary mime types.
+      "A String",
+    ],
+    "icons": [ # The various icons for the app.
+      {
+        "category": "A String", # Category of the icon. Allowed values are:
+            # - application - icon for the application
+            # - document - icon for a file associated with the app
+            # - documentShared - icon for a shared file associated with the app
+        "iconUrl": "A String", # URL for the icon.
+        "size": 42, # Size of the icon. Represented as the maximum of the width and height.
+      },
+    ],
+    "authorized": True or False, # Whether the app is authorized to access data on the user's Drive.
+    "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.
+    "productId": "A String", # The ID of the product listing for this app.
+    "longDescription": "A String", # A long description of the app.
+    "supportsCreate": True or False, # Whether this app supports creating new objects.
+    "kind": "drive#app", # This is always drive#app.
+    "name": "A String", # The name of the app.
+    "createUrl": "A String", # The url to create a new file with this app.
+    "createInFolderTemplate": "A String", # The template url to create a new file with this app in a given folder. The template will contain {folderId} to be replaced by the folder to create the new file in.
+    "secondaryFileExtensions": [ # The list of secondary file extensions.
+      "A String",
+    ],
+    "supportsImport": True or False, # Whether this app supports importing Google Docs.
+    "supportsMultiOpen": True or False, # Whether this app supports opening more than one file.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Lists a user's installed apps.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # A list of third-party applications which the user has installed or given access to Google Drive.
+    "items": [ # The actual list of apps.
+      { # The apps resource provides a list of the apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details.
+        "secondaryMimeTypes": [ # The list of secondary mime types.
+          "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", # A link to the product listing for this app.
+        "shortDescription": "A String", # A short description of the app.
+        "id": "A String", # The ID of the app.
+        "objectType": "A String", # The type of object this app creates (e.g. Chart). If empty, the app name should be used instead.
+        "primaryFileExtensions": [ # The list of primary file extensions.
+          "A String",
+        ],
+        "primaryMimeTypes": [ # The list of primary mime types.
+          "A String",
+        ],
+        "icons": [ # The various icons for the app.
+          {
+            "category": "A String", # Category of the icon. Allowed values are:
+                # - application - icon for the application
+                # - document - icon for a file associated with the app
+                # - documentShared - icon for a shared file associated with the app
+            "iconUrl": "A String", # URL for the icon.
+            "size": 42, # Size of the icon. Represented as the maximum of the width and height.
+          },
+        ],
+        "authorized": True or False, # Whether the app is authorized to access data on the user's Drive.
+        "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.
+        "productId": "A String", # The ID of the product listing for this app.
+        "longDescription": "A String", # A long description of the app.
+        "supportsCreate": True or False, # Whether this app supports creating new objects.
+        "kind": "drive#app", # This is always drive#app.
+        "name": "A String", # The name of the app.
+        "createUrl": "A String", # The url to create a new file with this app.
+        "createInFolderTemplate": "A String", # The template url to create a new file with this app in a given folder. The template will contain {folderId} to be replaced by the folder to create the new file in.
+        "secondaryFileExtensions": [ # The list of secondary file extensions.
+          "A String",
+        ],
+        "supportsImport": True or False, # Whether this app supports importing Google Docs.
+        "supportsMultiOpen": True or False, # Whether this app supports opening more than one file.
+      },
+    ],
+    "kind": "drive#appList", # This is always drive#appList.
+    "etag": "A String", # The ETag of the list.
+    "selfLink": "A String", # A link back to this list.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.changes.html b/docs/dyn/drive_v2.changes.html
new file mode 100644
index 0000000..ae954b5
--- /dev/null
+++ b/docs/dyn/drive_v2.changes.html
@@ -0,0 +1,506 @@
+<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.changes.html">changes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(changeId)</a></code></p>
+<p class="firstline">Gets a specific change.</p>
+<p class="toc_element">
+  <code><a href="#list">list(includeSubscribed=None, includeDeleted=None, pageToken=None, maxResults=None, startChangeId=None)</a></code></p>
+<p class="firstline">Lists the changes for a 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="#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>
+  <pre>Gets a specific change.
+
+Args:
+  changeId: string, The ID of the change. (required)
+
+Returns:
+  An object of the form:
+
+    { # Representation of a change to a file.
+    "kind": "drive#change", # This is always drive#change.
+    "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.
+        "hidden": True or False, # Deprecated.
+        "viewed": True or False, # Whether this file has been viewed by this user.
+        "starred": True or False, # Whether this file is starred by the user.
+        "trashed": True or False, # Whether this file has been trashed.
+      },
+      "indexableText": { # Indexable text attributes for the file (can only be written)
+        "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.
+      "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.
+        { # The JSON template for a user.
+          "picture": { # The user's profile picture.
+            "url": "A String", # A URL that points to a profile picture of this user.
+          },
+          "kind": "drive#user", # This is always drive#user.
+          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+          "displayName": "A String", # A plain text displayable name for this user.
+          "permissionId": "A String", # The user's ID as visible in the permissions collection.
+        },
+      ],
+      "id": "A String", # The ID of the file.
+      "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+      "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.
+      "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.
+          "selfLink": "A String", # A link back to this reference.
+          "kind": "drive#parentReference", # This is always drive#parentReference.
+          "id": "A String", # The ID of the parent.
+          "isRoot": True or False, # Whether or not the parent is the root folder.
+          "parentLink": "A String", # A link to the parent.
+        },
+      ],
+      "exportLinks": { # Links for exporting Google Docs to specific formats.
+        "a_key": "A String", # A mapping from export format to URL
+      },
+      "shared": True or False, # Whether the file has been shared.
+      "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+        "mimeType": "A String", # The MIME type of the thumbnail.
+        "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+      },
+      "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.
+        "cameraMake": "A String", # The make of the camera used to create the photo.
+        "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+        "isoSpeed": 42, # The ISO speed used to create the photo.
+        "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+        "exposureMode": "A String", # The exposure mode used to create the photo.
+        "colorSpace": "A String", # The color space of the photo.
+        "location": { # Geographic location information stored in the image.
+          "latitude": 3.14, # The latitude stored in the image.
+          "altitude": 3.14, # The altitude stored in the image.
+          "longitude": 3.14, # The longitude stored in the image.
+        },
+        "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+        "height": 42, # The height of the image in pixels.
+        "lens": "A String", # The lens used to create the photo.
+        "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+        "width": 42, # The width of the image in pixels.
+        "meteringMode": "A String", # The metering mode used to create the photo.
+        "flashUsed": True or False, # Whether a flash was used to create the photo.
+        "aperture": 3.14, # The aperture used to create the photo (f-number).
+        "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+        "sensor": "A String", # The type of sensor used to create the photo.
+        "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.
+        "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.
+        "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+        "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+        "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
+        "type": "A String", # The account type. Allowed values are:
+            # - user
+            # - group
+            # - domain
+            # - anyone
+        "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+          "A String",
+        ],
+        "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.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(includeSubscribed=None, includeDeleted=None, pageToken=None, maxResults=None, startChangeId=None)</code>
+  <pre>Lists the changes for a user.
+
+Args:
+  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:
+
+    { # A list of changes for a user.
+    "nextPageToken": "A String", # The page token for the next page of changes.
+    "kind": "drive#changeList", # This is always drive#changeList.
+    "items": [ # The actual list of changes.
+      { # Representation of a change to a file.
+        "kind": "drive#change", # This is always drive#change.
+        "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.
+            "hidden": True or False, # Deprecated.
+            "viewed": True or False, # Whether this file has been viewed by this user.
+            "starred": True or False, # Whether this file is starred by the user.
+            "trashed": True or False, # Whether this file has been trashed.
+          },
+          "indexableText": { # Indexable text attributes for the file (can only be written)
+            "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.
+          "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.
+            { # The JSON template for a user.
+              "picture": { # The user's profile picture.
+                "url": "A String", # A URL that points to a profile picture of this user.
+              },
+              "kind": "drive#user", # This is always drive#user.
+              "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+              "displayName": "A String", # A plain text displayable name for this user.
+              "permissionId": "A String", # The user's ID as visible in the permissions collection.
+            },
+          ],
+          "id": "A String", # The ID of the file.
+          "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+            "picture": { # The user's profile picture.
+              "url": "A String", # A URL that points to a profile picture of this user.
+            },
+            "kind": "drive#user", # This is always drive#user.
+            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+            "displayName": "A String", # A plain text displayable name for this user.
+            "permissionId": "A String", # The user's ID as visible in the permissions collection.
+          },
+          "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.
+          "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.
+              "selfLink": "A String", # A link back to this reference.
+              "kind": "drive#parentReference", # This is always drive#parentReference.
+              "id": "A String", # The ID of the parent.
+              "isRoot": True or False, # Whether or not the parent is the root folder.
+              "parentLink": "A String", # A link to the parent.
+            },
+          ],
+          "exportLinks": { # Links for exporting Google Docs to specific formats.
+            "a_key": "A String", # A mapping from export format to URL
+          },
+          "shared": True or False, # Whether the file has been shared.
+          "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+            "mimeType": "A String", # The MIME type of the thumbnail.
+            "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+          },
+          "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.
+            "cameraMake": "A String", # The make of the camera used to create the photo.
+            "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+            "isoSpeed": 42, # The ISO speed used to create the photo.
+            "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+            "exposureMode": "A String", # The exposure mode used to create the photo.
+            "colorSpace": "A String", # The color space of the photo.
+            "location": { # Geographic location information stored in the image.
+              "latitude": 3.14, # The latitude stored in the image.
+              "altitude": 3.14, # The altitude stored in the image.
+              "longitude": 3.14, # The longitude stored in the image.
+            },
+            "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+            "height": 42, # The height of the image in pixels.
+            "lens": "A String", # The lens used to create the photo.
+            "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+            "width": 42, # The width of the image in pixels.
+            "meteringMode": "A String", # The metering mode used to create the photo.
+            "flashUsed": True or False, # Whether a flash was used to create the photo.
+            "aperture": 3.14, # The aperture used to create the photo (f-number).
+            "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+            "sensor": "A String", # The type of sensor used to create the photo.
+            "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.
+            "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.
+            "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+            "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+            "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
+            "type": "A String", # The account type. Allowed values are:
+                # - user
+                # - group
+                # - domain
+                # - anyone
+            "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+              "A String",
+            ],
+            "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.
+      },
+    ],
+    "nextLink": "A String", # A link to the next page of changes.
+    "etag": "A String", # The ETag of the list.
+    "largestChangeId": "A String", # The current largest change ID.
+    "selfLink": "A String", # A link back to this list.
+  }</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="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:
+
+{ # An notification channel used to watch for resource changes.
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this 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:
+
+    { # An notification channel used to watch for resource changes.
+      "resourceUri": "A String", # A version-specific identifier for the watched resource.
+      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+      "params": { # Additional parameters controlling delivery channel behavior. Optional.
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+      "address": "A String", # The address where notifications are delivered for this channel.
+      "type": "A String", # The type of delivery mechanism used for this channel.
+      "id": "A String", # A UUID or similar unique string that identifies this 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..d367dee
--- /dev/null
+++ b/docs/dyn/drive_v2.channels.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="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">Stop watching resources through this channel</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="stop">stop(body)</code>
+  <pre>Stop watching resources through this channel
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An notification channel used to watch for resource changes.
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this channel.
+  }
+
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.children.html b/docs/dyn/drive_v2.children.html
new file mode 100644
index 0000000..6babcde
--- /dev/null
+++ b/docs/dyn/drive_v2.children.html
@@ -0,0 +1,194 @@
+<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.children.html">children</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(folderId, childId)</a></code></p>
+<p class="firstline">Removes a child from a folder.</p>
+<p class="toc_element">
+  <code><a href="#get">get(folderId, childId)</a></code></p>
+<p class="firstline">Gets a specific child reference.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(folderId, body)</a></code></p>
+<p class="firstline">Inserts a file into a folder.</p>
+<p class="toc_element">
+  <code><a href="#list">list(folderId, q=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists a folder's children.</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(folderId, childId)</code>
+  <pre>Removes a child from a folder.
+
+Args:
+  folderId: string, The ID of the folder. (required)
+  childId: string, The ID of the child. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(folderId, childId)</code>
+  <pre>Gets a specific child reference.
+
+Args:
+  folderId: string, The ID of the folder. (required)
+  childId: string, The ID of the child. (required)
+
+Returns:
+  An object of the form:
+
+    { # A reference to a folder's child.
+      "kind": "drive#childReference", # This is always drive#childReference.
+      "childLink": "A String", # A link to the child.
+      "id": "A String", # The ID of the child.
+      "selfLink": "A String", # A link back to this reference.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(folderId, body)</code>
+  <pre>Inserts a file into a folder.
+
+Args:
+  folderId: string, The ID of the folder. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A reference to a folder's child.
+    "kind": "drive#childReference", # This is always drive#childReference.
+    "childLink": "A String", # A link to the child.
+    "id": "A String", # The ID of the child.
+    "selfLink": "A String", # A link back to this reference.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A reference to a folder's child.
+      "kind": "drive#childReference", # This is always drive#childReference.
+      "childLink": "A String", # A link to the child.
+      "id": "A String", # The ID of the child.
+      "selfLink": "A String", # A link back to this reference.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(folderId, q=None, pageToken=None, maxResults=None)</code>
+  <pre>Lists a folder's children.
+
+Args:
+  folderId: string, The ID of the folder. (required)
+  q: string, Query string for searching children.
+  pageToken: string, Page token for children.
+  maxResults: integer, Maximum number of children to return.
+
+Returns:
+  An object of the form:
+
+    { # A list of children of a file.
+    "nextPageToken": "A String", # The page token for the next page of children.
+    "kind": "drive#childList", # This is always drive#childList.
+    "items": [ # The actual list of children.
+      { # A reference to a folder's child.
+          "kind": "drive#childReference", # This is always drive#childReference.
+          "childLink": "A String", # A link to the child.
+          "id": "A String", # The ID of the child.
+          "selfLink": "A String", # A link back to this reference.
+        },
+    ],
+    "nextLink": "A String", # A link to the next page of children.
+    "etag": "A String", # The ETag of the list.
+    "selfLink": "A String", # A link back to this list.
+  }</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/drive_v2.comments.html b/docs/dyn/drive_v2.comments.html
new file mode 100644
index 0000000..5d95ed3
--- /dev/null
+++ b/docs/dyn/drive_v2.comments.html
@@ -0,0 +1,627 @@
+<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.comments.html">comments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(fileId, commentId)</a></code></p>
+<p class="firstline">Deletes a comment.</p>
+<p class="toc_element">
+  <code><a href="#get">get(fileId, commentId, includeDeleted=None)</a></code></p>
+<p class="firstline">Gets a comment by ID.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(fileId, body)</a></code></p>
+<p class="firstline">Creates a new comment on the given file.</p>
+<p class="toc_element">
+  <code><a href="#list">list(fileId, includeDeleted=None, pageToken=None, updatedMin=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists a file's comments.</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(fileId, commentId, body)</a></code></p>
+<p class="firstline">Updates an existing comment. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(fileId, commentId, body)</a></code></p>
+<p class="firstline">Updates an existing comment.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(fileId, commentId)</code>
+  <pre>Deletes a comment.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(fileId, commentId, includeDeleted=None)</code>
+  <pre>Gets a comment by ID.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  includeDeleted: boolean, If set, this will succeed when retrieving a deleted comment, and will include any deleted replies.
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a comment on a file in Google Drive.
+      "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
+          # - "open" - The comment is still open.
+          # - "resolved" - The comment has been resolved by one of its replies.
+      "selfLink": "A String", # A link back to this comment.
+      "kind": "drive#comment", # This is always drive#comment.
+      "author": { # The JSON template for a user. # The user who wrote this comment.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+      "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
+      "replies": [ # Replies to this post.
+        { # A JSON representation of a reply to a comment on a file in Google Drive.
+          "kind": "drive#commentReply", # This is always drive#commentReply.
+          "author": { # The JSON template for a user. # The user who wrote this reply.
+            "picture": { # The user's profile picture.
+              "url": "A String", # A URL that points to a profile picture of this user.
+            },
+            "kind": "drive#user", # This is always drive#user.
+            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+            "displayName": "A String", # A plain text displayable name for this user.
+            "permissionId": "A String", # The user's ID as visible in the permissions collection.
+          },
+          "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+          "htmlContent": "A String", # HTML formatted content for this reply.
+          "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+          "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+              # - "resolve" - To resolve a comment.
+              # - "reopen" - To reopen (un-resolve) a comment.
+          "replyId": "A String", # The ID of the reply.
+          "modifiedDate": "A String", # The date when this reply was last modified.
+          "createdDate": "A String", # The date when this reply was first created.
+        },
+      ],
+      "htmlContent": "A String", # HTML formatted content for this comment.
+      "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
+      "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
+      "context": { # The context of the file which is being commented on.
+        "type": "A String", # The MIME type of the context snippet.
+        "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
+      },
+      "createdDate": "A String", # The date when this comment was first created.
+      "commentId": "A String", # The ID of the comment.
+      "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
+      "fileTitle": "A String", # The title of the file which this comment is addressing.
+      "fileId": "A String", # The file which this comment is addressing.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(fileId, body)</code>
+  <pre>Creates a new comment on the given file.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A JSON representation of a comment on a file in Google Drive.
+    "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
+        # - "open" - The comment is still open.
+        # - "resolved" - The comment has been resolved by one of its replies.
+    "selfLink": "A String", # A link back to this comment.
+    "kind": "drive#comment", # This is always drive#comment.
+    "author": { # The JSON template for a user. # The user who wrote this comment.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
+    "replies": [ # Replies to this post.
+      { # A JSON representation of a reply to a comment on a file in Google Drive.
+        "kind": "drive#commentReply", # This is always drive#commentReply.
+        "author": { # The JSON template for a user. # The user who wrote this reply.
+          "picture": { # The user's profile picture.
+            "url": "A String", # A URL that points to a profile picture of this user.
+          },
+          "kind": "drive#user", # This is always drive#user.
+          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+          "displayName": "A String", # A plain text displayable name for this user.
+          "permissionId": "A String", # The user's ID as visible in the permissions collection.
+        },
+        "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+        "htmlContent": "A String", # HTML formatted content for this reply.
+        "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+        "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+            # - "resolve" - To resolve a comment.
+            # - "reopen" - To reopen (un-resolve) a comment.
+        "replyId": "A String", # The ID of the reply.
+        "modifiedDate": "A String", # The date when this reply was last modified.
+        "createdDate": "A String", # The date when this reply was first created.
+      },
+    ],
+    "htmlContent": "A String", # HTML formatted content for this comment.
+    "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
+    "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
+    "context": { # The context of the file which is being commented on.
+      "type": "A String", # The MIME type of the context snippet.
+      "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
+    },
+    "createdDate": "A String", # The date when this comment was first created.
+    "commentId": "A String", # The ID of the comment.
+    "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
+    "fileTitle": "A String", # The title of the file which this comment is addressing.
+    "fileId": "A String", # The file which this comment is addressing.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a comment on a file in Google Drive.
+      "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
+          # - "open" - The comment is still open.
+          # - "resolved" - The comment has been resolved by one of its replies.
+      "selfLink": "A String", # A link back to this comment.
+      "kind": "drive#comment", # This is always drive#comment.
+      "author": { # The JSON template for a user. # The user who wrote this comment.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+      "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
+      "replies": [ # Replies to this post.
+        { # A JSON representation of a reply to a comment on a file in Google Drive.
+          "kind": "drive#commentReply", # This is always drive#commentReply.
+          "author": { # The JSON template for a user. # The user who wrote this reply.
+            "picture": { # The user's profile picture.
+              "url": "A String", # A URL that points to a profile picture of this user.
+            },
+            "kind": "drive#user", # This is always drive#user.
+            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+            "displayName": "A String", # A plain text displayable name for this user.
+            "permissionId": "A String", # The user's ID as visible in the permissions collection.
+          },
+          "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+          "htmlContent": "A String", # HTML formatted content for this reply.
+          "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+          "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+              # - "resolve" - To resolve a comment.
+              # - "reopen" - To reopen (un-resolve) a comment.
+          "replyId": "A String", # The ID of the reply.
+          "modifiedDate": "A String", # The date when this reply was last modified.
+          "createdDate": "A String", # The date when this reply was first created.
+        },
+      ],
+      "htmlContent": "A String", # HTML formatted content for this comment.
+      "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
+      "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
+      "context": { # The context of the file which is being commented on.
+        "type": "A String", # The MIME type of the context snippet.
+        "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
+      },
+      "createdDate": "A String", # The date when this comment was first created.
+      "commentId": "A String", # The ID of the comment.
+      "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
+      "fileTitle": "A String", # The title of the file which this comment is addressing.
+      "fileId": "A String", # The file which this comment is addressing.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(fileId, includeDeleted=None, pageToken=None, updatedMin=None, maxResults=None)</code>
+  <pre>Lists a file's comments.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  includeDeleted: boolean, If set, all comments and replies, including deleted comments and replies (with content stripped) will be returned.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  updatedMin: string, Only discussions that were updated after this timestamp will be returned. Formatted as an RFC 3339 timestamp.
+  maxResults: integer, The maximum number of discussions to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a list of comments on a file in Google Drive.
+    "nextPageToken": "A String", # The token to use to request the next page of results.
+    "items": [ # List of comments.
+      { # A JSON representation of a comment on a file in Google Drive.
+          "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
+              # - "open" - The comment is still open.
+              # - "resolved" - The comment has been resolved by one of its replies.
+          "selfLink": "A String", # A link back to this comment.
+          "kind": "drive#comment", # This is always drive#comment.
+          "author": { # The JSON template for a user. # The user who wrote this comment.
+            "picture": { # The user's profile picture.
+              "url": "A String", # A URL that points to a profile picture of this user.
+            },
+            "kind": "drive#user", # This is always drive#user.
+            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+            "displayName": "A String", # A plain text displayable name for this user.
+            "permissionId": "A String", # The user's ID as visible in the permissions collection.
+          },
+          "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
+          "replies": [ # Replies to this post.
+            { # A JSON representation of a reply to a comment on a file in Google Drive.
+              "kind": "drive#commentReply", # This is always drive#commentReply.
+              "author": { # The JSON template for a user. # The user who wrote this reply.
+                "picture": { # The user's profile picture.
+                  "url": "A String", # A URL that points to a profile picture of this user.
+                },
+                "kind": "drive#user", # This is always drive#user.
+                "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+                "displayName": "A String", # A plain text displayable name for this user.
+                "permissionId": "A String", # The user's ID as visible in the permissions collection.
+              },
+              "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+              "htmlContent": "A String", # HTML formatted content for this reply.
+              "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+              "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+                  # - "resolve" - To resolve a comment.
+                  # - "reopen" - To reopen (un-resolve) a comment.
+              "replyId": "A String", # The ID of the reply.
+              "modifiedDate": "A String", # The date when this reply was last modified.
+              "createdDate": "A String", # The date when this reply was first created.
+            },
+          ],
+          "htmlContent": "A String", # HTML formatted content for this comment.
+          "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
+          "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
+          "context": { # The context of the file which is being commented on.
+            "type": "A String", # The MIME type of the context snippet.
+            "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
+          },
+          "createdDate": "A String", # The date when this comment was first created.
+          "commentId": "A String", # The ID of the comment.
+          "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
+          "fileTitle": "A String", # The title of the file which this comment is addressing.
+          "fileId": "A String", # The file which this comment is addressing.
+        },
+    ],
+    "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>
+
+<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(fileId, commentId, body)</code>
+  <pre>Updates an existing comment. This method supports patch semantics.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A JSON representation of a comment on a file in Google Drive.
+    "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
+        # - "open" - The comment is still open.
+        # - "resolved" - The comment has been resolved by one of its replies.
+    "selfLink": "A String", # A link back to this comment.
+    "kind": "drive#comment", # This is always drive#comment.
+    "author": { # The JSON template for a user. # The user who wrote this comment.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
+    "replies": [ # Replies to this post.
+      { # A JSON representation of a reply to a comment on a file in Google Drive.
+        "kind": "drive#commentReply", # This is always drive#commentReply.
+        "author": { # The JSON template for a user. # The user who wrote this reply.
+          "picture": { # The user's profile picture.
+            "url": "A String", # A URL that points to a profile picture of this user.
+          },
+          "kind": "drive#user", # This is always drive#user.
+          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+          "displayName": "A String", # A plain text displayable name for this user.
+          "permissionId": "A String", # The user's ID as visible in the permissions collection.
+        },
+        "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+        "htmlContent": "A String", # HTML formatted content for this reply.
+        "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+        "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+            # - "resolve" - To resolve a comment.
+            # - "reopen" - To reopen (un-resolve) a comment.
+        "replyId": "A String", # The ID of the reply.
+        "modifiedDate": "A String", # The date when this reply was last modified.
+        "createdDate": "A String", # The date when this reply was first created.
+      },
+    ],
+    "htmlContent": "A String", # HTML formatted content for this comment.
+    "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
+    "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
+    "context": { # The context of the file which is being commented on.
+      "type": "A String", # The MIME type of the context snippet.
+      "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
+    },
+    "createdDate": "A String", # The date when this comment was first created.
+    "commentId": "A String", # The ID of the comment.
+    "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
+    "fileTitle": "A String", # The title of the file which this comment is addressing.
+    "fileId": "A String", # The file which this comment is addressing.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a comment on a file in Google Drive.
+      "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
+          # - "open" - The comment is still open.
+          # - "resolved" - The comment has been resolved by one of its replies.
+      "selfLink": "A String", # A link back to this comment.
+      "kind": "drive#comment", # This is always drive#comment.
+      "author": { # The JSON template for a user. # The user who wrote this comment.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+      "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
+      "replies": [ # Replies to this post.
+        { # A JSON representation of a reply to a comment on a file in Google Drive.
+          "kind": "drive#commentReply", # This is always drive#commentReply.
+          "author": { # The JSON template for a user. # The user who wrote this reply.
+            "picture": { # The user's profile picture.
+              "url": "A String", # A URL that points to a profile picture of this user.
+            },
+            "kind": "drive#user", # This is always drive#user.
+            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+            "displayName": "A String", # A plain text displayable name for this user.
+            "permissionId": "A String", # The user's ID as visible in the permissions collection.
+          },
+          "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+          "htmlContent": "A String", # HTML formatted content for this reply.
+          "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+          "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+              # - "resolve" - To resolve a comment.
+              # - "reopen" - To reopen (un-resolve) a comment.
+          "replyId": "A String", # The ID of the reply.
+          "modifiedDate": "A String", # The date when this reply was last modified.
+          "createdDate": "A String", # The date when this reply was first created.
+        },
+      ],
+      "htmlContent": "A String", # HTML formatted content for this comment.
+      "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
+      "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
+      "context": { # The context of the file which is being commented on.
+        "type": "A String", # The MIME type of the context snippet.
+        "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
+      },
+      "createdDate": "A String", # The date when this comment was first created.
+      "commentId": "A String", # The ID of the comment.
+      "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
+      "fileTitle": "A String", # The title of the file which this comment is addressing.
+      "fileId": "A String", # The file which this comment is addressing.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(fileId, commentId, body)</code>
+  <pre>Updates an existing comment.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A JSON representation of a comment on a file in Google Drive.
+    "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
+        # - "open" - The comment is still open.
+        # - "resolved" - The comment has been resolved by one of its replies.
+    "selfLink": "A String", # A link back to this comment.
+    "kind": "drive#comment", # This is always drive#comment.
+    "author": { # The JSON template for a user. # The user who wrote this comment.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
+    "replies": [ # Replies to this post.
+      { # A JSON representation of a reply to a comment on a file in Google Drive.
+        "kind": "drive#commentReply", # This is always drive#commentReply.
+        "author": { # The JSON template for a user. # The user who wrote this reply.
+          "picture": { # The user's profile picture.
+            "url": "A String", # A URL that points to a profile picture of this user.
+          },
+          "kind": "drive#user", # This is always drive#user.
+          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+          "displayName": "A String", # A plain text displayable name for this user.
+          "permissionId": "A String", # The user's ID as visible in the permissions collection.
+        },
+        "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+        "htmlContent": "A String", # HTML formatted content for this reply.
+        "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+        "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+            # - "resolve" - To resolve a comment.
+            # - "reopen" - To reopen (un-resolve) a comment.
+        "replyId": "A String", # The ID of the reply.
+        "modifiedDate": "A String", # The date when this reply was last modified.
+        "createdDate": "A String", # The date when this reply was first created.
+      },
+    ],
+    "htmlContent": "A String", # HTML formatted content for this comment.
+    "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
+    "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
+    "context": { # The context of the file which is being commented on.
+      "type": "A String", # The MIME type of the context snippet.
+      "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
+    },
+    "createdDate": "A String", # The date when this comment was first created.
+    "commentId": "A String", # The ID of the comment.
+    "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
+    "fileTitle": "A String", # The title of the file which this comment is addressing.
+    "fileId": "A String", # The file which this comment is addressing.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a comment on a file in Google Drive.
+      "status": "A String", # The status of this comment. Status can be changed by posting a reply to a comment with the desired status.
+          # - "open" - The comment is still open.
+          # - "resolved" - The comment has been resolved by one of its replies.
+      "selfLink": "A String", # A link back to this comment.
+      "kind": "drive#comment", # This is always drive#comment.
+      "author": { # The JSON template for a user. # The user who wrote this comment.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+      "deleted": True or False, # Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed.
+      "replies": [ # Replies to this post.
+        { # A JSON representation of a reply to a comment on a file in Google Drive.
+          "kind": "drive#commentReply", # This is always drive#commentReply.
+          "author": { # The JSON template for a user. # The user who wrote this reply.
+            "picture": { # The user's profile picture.
+              "url": "A String", # A URL that points to a profile picture of this user.
+            },
+            "kind": "drive#user", # This is always drive#user.
+            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+            "displayName": "A String", # A plain text displayable name for this user.
+            "permissionId": "A String", # The user's ID as visible in the permissions collection.
+          },
+          "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+          "htmlContent": "A String", # HTML formatted content for this reply.
+          "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+          "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+              # - "resolve" - To resolve a comment.
+              # - "reopen" - To reopen (un-resolve) a comment.
+          "replyId": "A String", # The ID of the reply.
+          "modifiedDate": "A String", # The date when this reply was last modified.
+          "createdDate": "A String", # The date when this reply was first created.
+        },
+      ],
+      "htmlContent": "A String", # HTML formatted content for this comment.
+      "content": "A String", # The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.
+      "modifiedDate": "A String", # The date when this comment or any of its replies were last modified.
+      "context": { # The context of the file which is being commented on.
+        "type": "A String", # The MIME type of the context snippet.
+        "value": "A String", # Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about.
+      },
+      "createdDate": "A String", # The date when this comment was first created.
+      "commentId": "A String", # The ID of the comment.
+      "anchor": "A String", # A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties.
+      "fileTitle": "A String", # The title of the file which this comment is addressing.
+      "fileId": "A String", # The file which this comment is addressing.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.files.html b/docs/dyn/drive_v2.files.html
new file mode 100644
index 0000000..01b5f78
--- /dev/null
+++ b/docs/dyn/drive_v2.files.html
@@ -0,0 +1,2322 @@
+<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.files.html">files</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <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>
+<p class="firstline">Permanently deletes a file by ID. Skips the trash.</p>
+<p class="toc_element">
+  <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, 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>
+<p class="firstline">Lists the user's files.</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(fileId, body, newRevision=None, pinned=None, ocrLanguage=None, ocr=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. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#touch">touch(fileId)</a></code></p>
+<p class="firstline">Set the file's updated time to the current server time.</p>
+<p class="toc_element">
+  <code><a href="#trash">trash(fileId)</a></code></p>
+<p class="firstline">Moves a file to the trash.</p>
+<p class="toc_element">
+  <code><a href="#untrash">untrash(fileId)</a></code></p>
+<p class="firstline">Restores a file from the trash.</p>
+<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, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None)</code>
+  <pre>Creates a copy of the specified file.
+
+Args:
+  fileId: string, The ID of the file to copy. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+    "hidden": True or False, # Deprecated.
+    "viewed": True or False, # Whether this file has been viewed by this user.
+    "starred": True or False, # Whether this file is starred by the user.
+    "trashed": True or False, # Whether this file has been trashed.
+  },
+  "indexableText": { # Indexable text attributes for the file (can only be written)
+    "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.
+  "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.
+    { # The JSON template for a user.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+  ],
+  "id": "A String", # The ID of the file.
+  "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+    "picture": { # The user's profile picture.
+      "url": "A String", # A URL that points to a profile picture of this user.
+    },
+    "kind": "drive#user", # This is always drive#user.
+    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+    "displayName": "A String", # A plain text displayable name for this user.
+    "permissionId": "A String", # The user's ID as visible in the permissions collection.
+  },
+  "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.
+  "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.
+      "selfLink": "A String", # A link back to this reference.
+      "kind": "drive#parentReference", # This is always drive#parentReference.
+      "id": "A String", # The ID of the parent.
+      "isRoot": True or False, # Whether or not the parent is the root folder.
+      "parentLink": "A String", # A link to the parent.
+    },
+  ],
+  "exportLinks": { # Links for exporting Google Docs to specific formats.
+    "a_key": "A String", # A mapping from export format to URL
+  },
+  "shared": True or False, # Whether the file has been shared.
+  "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+    "mimeType": "A String", # The MIME type of the thumbnail.
+    "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+  },
+  "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.
+    "cameraMake": "A String", # The make of the camera used to create the photo.
+    "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+    "isoSpeed": 42, # The ISO speed used to create the photo.
+    "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+    "exposureMode": "A String", # The exposure mode used to create the photo.
+    "colorSpace": "A String", # The color space of the photo.
+    "location": { # Geographic location information stored in the image.
+      "latitude": 3.14, # The latitude stored in the image.
+      "altitude": 3.14, # The altitude stored in the image.
+      "longitude": 3.14, # The longitude stored in the image.
+    },
+    "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+    "height": 42, # The height of the image in pixels.
+    "lens": "A String", # The lens used to create the photo.
+    "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+    "width": 42, # The width of the image in pixels.
+    "meteringMode": "A String", # The metering mode used to create the photo.
+    "flashUsed": True or False, # Whether a flash was used to create the photo.
+    "aperture": 3.14, # The aperture used to create the photo (f-number).
+    "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+    "sensor": "A String", # The type of sensor used to create the photo.
+    "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.
+    "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.
+    "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "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
+    "type": "A String", # The account type. Allowed values are:
+        # - user
+        # - group
+        # - domain
+        # - anyone
+    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+      "A String",
+    ],
+    "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.
+  timedTextTrackName: string, The timed text track name.
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "hidden": True or False, # Deprecated.
+      "viewed": True or False, # Whether this file has been viewed by this user.
+      "starred": True or False, # Whether this file is starred by the user.
+      "trashed": True or False, # Whether this file has been trashed.
+    },
+    "indexableText": { # Indexable text attributes for the file (can only be written)
+      "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.
+    "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.
+      { # The JSON template for a user.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+    ],
+    "id": "A String", # The ID of the file.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "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.
+    "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.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "shared": True or False, # Whether the file has been shared.
+    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+      "mimeType": "A String", # The MIME type of the thumbnail.
+      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+    },
+    "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.
+      "cameraMake": "A String", # The make of the camera used to create the photo.
+      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+      "isoSpeed": 42, # The ISO speed used to create the photo.
+      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+      "exposureMode": "A String", # The exposure mode used to create the photo.
+      "colorSpace": "A String", # The color space of the photo.
+      "location": { # Geographic location information stored in the image.
+        "latitude": 3.14, # The latitude stored in the image.
+        "altitude": 3.14, # The altitude stored in the image.
+        "longitude": 3.14, # The longitude stored in the image.
+      },
+      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+      "height": 42, # The height of the image in pixels.
+      "lens": "A String", # The lens used to create the photo.
+      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+      "width": 42, # The width of the image in pixels.
+      "meteringMode": "A String", # The metering mode used to create the photo.
+      "flashUsed": True or False, # Whether a flash was used to create the photo.
+      "aperture": 3.14, # The aperture used to create the photo (f-number).
+      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+      "sensor": "A String", # The type of sensor used to create the photo.
+      "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.
+      "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.
+      "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "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
+      "type": "A String", # The account type. Allowed values are:
+          # - user
+          # - group
+          # - domain
+          # - anyone
+      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+        "A String",
+      ],
+      "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="delete">delete(fileId)</code>
+  <pre>Permanently deletes a file by ID. Skips the trash.
+
+Args:
+  fileId: string, The ID of the file to delete. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(fileId, projection=None, updateViewedDate=None)</code>
+  <pre>Gets a file's metadata by ID.
+
+Args:
+  fileId: string, The ID for the file in question. (required)
+  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:
+
+    { # 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.
+      "hidden": True or False, # Deprecated.
+      "viewed": True or False, # Whether this file has been viewed by this user.
+      "starred": True or False, # Whether this file is starred by the user.
+      "trashed": True or False, # Whether this file has been trashed.
+    },
+    "indexableText": { # Indexable text attributes for the file (can only be written)
+      "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.
+    "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.
+      { # The JSON template for a user.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+    ],
+    "id": "A String", # The ID of the file.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "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.
+    "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.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "shared": True or False, # Whether the file has been shared.
+    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+      "mimeType": "A String", # The MIME type of the thumbnail.
+      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+    },
+    "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.
+      "cameraMake": "A String", # The make of the camera used to create the photo.
+      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+      "isoSpeed": 42, # The ISO speed used to create the photo.
+      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+      "exposureMode": "A String", # The exposure mode used to create the photo.
+      "colorSpace": "A String", # The color space of the photo.
+      "location": { # Geographic location information stored in the image.
+        "latitude": 3.14, # The latitude stored in the image.
+        "altitude": 3.14, # The altitude stored in the image.
+        "longitude": 3.14, # The longitude stored in the image.
+      },
+      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+      "height": 42, # The height of the image in pixels.
+      "lens": "A String", # The lens used to create the photo.
+      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+      "width": 42, # The width of the image in pixels.
+      "meteringMode": "A String", # The metering mode used to create the photo.
+      "flashUsed": True or False, # Whether a flash was used to create the photo.
+      "aperture": 3.14, # The aperture used to create the photo (f-number).
+      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+      "sensor": "A String", # The type of sensor used to create the photo.
+      "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.
+      "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.
+      "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "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
+      "type": "A String", # The account type. Allowed values are:
+          # - user
+          # - group
+          # - domain
+          # - anyone
+      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+        "A String",
+      ],
+      "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, visibility=None, ocrLanguage=None, ocr=None, timedTextLanguage=None, timedTextTrackName=None, pinned=None)</code>
+  <pre>Insert a new file.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # 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.
+    "hidden": True or False, # Deprecated.
+    "viewed": True or False, # Whether this file has been viewed by this user.
+    "starred": True or False, # Whether this file is starred by the user.
+    "trashed": True or False, # Whether this file has been trashed.
+  },
+  "indexableText": { # Indexable text attributes for the file (can only be written)
+    "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.
+  "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.
+    { # The JSON template for a user.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+  ],
+  "id": "A String", # The ID of the file.
+  "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+    "picture": { # The user's profile picture.
+      "url": "A String", # A URL that points to a profile picture of this user.
+    },
+    "kind": "drive#user", # This is always drive#user.
+    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+    "displayName": "A String", # A plain text displayable name for this user.
+    "permissionId": "A String", # The user's ID as visible in the permissions collection.
+  },
+  "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.
+  "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.
+      "selfLink": "A String", # A link back to this reference.
+      "kind": "drive#parentReference", # This is always drive#parentReference.
+      "id": "A String", # The ID of the parent.
+      "isRoot": True or False, # Whether or not the parent is the root folder.
+      "parentLink": "A String", # A link to the parent.
+    },
+  ],
+  "exportLinks": { # Links for exporting Google Docs to specific formats.
+    "a_key": "A String", # A mapping from export format to URL
+  },
+  "shared": True or False, # Whether the file has been shared.
+  "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+    "mimeType": "A String", # The MIME type of the thumbnail.
+    "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+  },
+  "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.
+    "cameraMake": "A String", # The make of the camera used to create the photo.
+    "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+    "isoSpeed": 42, # The ISO speed used to create the photo.
+    "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+    "exposureMode": "A String", # The exposure mode used to create the photo.
+    "colorSpace": "A String", # The color space of the photo.
+    "location": { # Geographic location information stored in the image.
+      "latitude": 3.14, # The latitude stored in the image.
+      "altitude": 3.14, # The altitude stored in the image.
+      "longitude": 3.14, # The longitude stored in the image.
+    },
+    "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+    "height": 42, # The height of the image in pixels.
+    "lens": "A String", # The lens used to create the photo.
+    "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+    "width": 42, # The width of the image in pixels.
+    "meteringMode": "A String", # The metering mode used to create the photo.
+    "flashUsed": True or False, # Whether a flash was used to create the photo.
+    "aperture": 3.14, # The aperture used to create the photo (f-number).
+    "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+    "sensor": "A String", # The type of sensor used to create the photo.
+    "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.
+    "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.
+    "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "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
+    "type": "A String", # The account type. Allowed values are:
+        # - user
+        # - group
+        # - domain
+        # - anyone
+    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+      "A String",
+    ],
+    "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.
+}
+
+  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.
+  timedTextTrackName: string, The timed text track name.
+  pinned: boolean, Whether to pin the head revision of the uploaded file.
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "hidden": True or False, # Deprecated.
+      "viewed": True or False, # Whether this file has been viewed by this user.
+      "starred": True or False, # Whether this file is starred by the user.
+      "trashed": True or False, # Whether this file has been trashed.
+    },
+    "indexableText": { # Indexable text attributes for the file (can only be written)
+      "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.
+    "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.
+      { # The JSON template for a user.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+    ],
+    "id": "A String", # The ID of the file.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "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.
+    "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.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "shared": True or False, # Whether the file has been shared.
+    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+      "mimeType": "A String", # The MIME type of the thumbnail.
+      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+    },
+    "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.
+      "cameraMake": "A String", # The make of the camera used to create the photo.
+      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+      "isoSpeed": 42, # The ISO speed used to create the photo.
+      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+      "exposureMode": "A String", # The exposure mode used to create the photo.
+      "colorSpace": "A String", # The color space of the photo.
+      "location": { # Geographic location information stored in the image.
+        "latitude": 3.14, # The latitude stored in the image.
+        "altitude": 3.14, # The altitude stored in the image.
+        "longitude": 3.14, # The longitude stored in the image.
+      },
+      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+      "height": 42, # The height of the image in pixels.
+      "lens": "A String", # The lens used to create the photo.
+      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+      "width": 42, # The width of the image in pixels.
+      "meteringMode": "A String", # The metering mode used to create the photo.
+      "flashUsed": True or False, # Whether a flash was used to create the photo.
+      "aperture": 3.14, # The aperture used to create the photo (f-number).
+      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+      "sensor": "A String", # The type of sensor used to create the photo.
+      "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.
+      "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.
+      "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "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
+      "type": "A String", # The account type. Allowed values are:
+          # - user
+          # - group
+          # - domain
+          # - anyone
+      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+        "A String",
+      ],
+      "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="list">list(q=None, projection=None, pageToken=None, maxResults=None)</code>
+  <pre>Lists the user's files.
+
+Args:
+  q: string, Query string for searching files.
+  projection: string, This parameter is deprecated and has no function.
+    Allowed values
+      BASIC - Deprecated
+      FULL - Deprecated
+  pageToken: string, Page token for files.
+  maxResults: integer, Maximum number of files to return.
+
+Returns:
+  An object of the form:
+
+    { # A list of files.
+    "nextPageToken": "A String", # The page token for the next page of files.
+    "kind": "drive#fileList", # This is always drive#fileList.
+    "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.
+          "hidden": True or False, # Deprecated.
+          "viewed": True or False, # Whether this file has been viewed by this user.
+          "starred": True or False, # Whether this file is starred by the user.
+          "trashed": True or False, # Whether this file has been trashed.
+        },
+        "indexableText": { # Indexable text attributes for the file (can only be written)
+          "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.
+        "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.
+          { # The JSON template for a user.
+            "picture": { # The user's profile picture.
+              "url": "A String", # A URL that points to a profile picture of this user.
+            },
+            "kind": "drive#user", # This is always drive#user.
+            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+            "displayName": "A String", # A plain text displayable name for this user.
+            "permissionId": "A String", # The user's ID as visible in the permissions collection.
+          },
+        ],
+        "id": "A String", # The ID of the file.
+        "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+          "picture": { # The user's profile picture.
+            "url": "A String", # A URL that points to a profile picture of this user.
+          },
+          "kind": "drive#user", # This is always drive#user.
+          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+          "displayName": "A String", # A plain text displayable name for this user.
+          "permissionId": "A String", # The user's ID as visible in the permissions collection.
+        },
+        "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.
+        "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.
+            "selfLink": "A String", # A link back to this reference.
+            "kind": "drive#parentReference", # This is always drive#parentReference.
+            "id": "A String", # The ID of the parent.
+            "isRoot": True or False, # Whether or not the parent is the root folder.
+            "parentLink": "A String", # A link to the parent.
+          },
+        ],
+        "exportLinks": { # Links for exporting Google Docs to specific formats.
+          "a_key": "A String", # A mapping from export format to URL
+        },
+        "shared": True or False, # Whether the file has been shared.
+        "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+          "mimeType": "A String", # The MIME type of the thumbnail.
+          "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+        },
+        "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.
+          "cameraMake": "A String", # The make of the camera used to create the photo.
+          "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+          "isoSpeed": 42, # The ISO speed used to create the photo.
+          "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+          "exposureMode": "A String", # The exposure mode used to create the photo.
+          "colorSpace": "A String", # The color space of the photo.
+          "location": { # Geographic location information stored in the image.
+            "latitude": 3.14, # The latitude stored in the image.
+            "altitude": 3.14, # The altitude stored in the image.
+            "longitude": 3.14, # The longitude stored in the image.
+          },
+          "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+          "height": 42, # The height of the image in pixels.
+          "lens": "A String", # The lens used to create the photo.
+          "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+          "width": 42, # The width of the image in pixels.
+          "meteringMode": "A String", # The metering mode used to create the photo.
+          "flashUsed": True or False, # Whether a flash was used to create the photo.
+          "aperture": 3.14, # The aperture used to create the photo (f-number).
+          "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+          "sensor": "A String", # The type of sensor used to create the photo.
+          "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.
+          "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.
+          "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+          "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+          "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
+          "type": "A String", # The account type. Allowed values are:
+              # - user
+              # - group
+              # - domain
+              # - anyone
+          "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+            "A String",
+          ],
+          "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.
+      },
+    ],
+    "nextLink": "A String", # A link to the next page of files.
+    "etag": "A String", # The ETag of the list.
+    "selfLink": "A String", # A link back to this list.
+  }</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(fileId, body, newRevision=None, pinned=None, ocrLanguage=None, ocr=None, updateViewedDate=None, timedTextTrackName=None, convert=None, useContentAsIndexableText=None, setModifiedDate=None, timedTextLanguage=None)</code>
+  <pre>Updates file metadata and/or content. This method supports patch semantics.
+
+Args:
+  fileId: string, The ID of the file to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+    "hidden": True or False, # Deprecated.
+    "viewed": True or False, # Whether this file has been viewed by this user.
+    "starred": True or False, # Whether this file is starred by the user.
+    "trashed": True or False, # Whether this file has been trashed.
+  },
+  "indexableText": { # Indexable text attributes for the file (can only be written)
+    "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.
+  "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.
+    { # The JSON template for a user.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+  ],
+  "id": "A String", # The ID of the file.
+  "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+    "picture": { # The user's profile picture.
+      "url": "A String", # A URL that points to a profile picture of this user.
+    },
+    "kind": "drive#user", # This is always drive#user.
+    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+    "displayName": "A String", # A plain text displayable name for this user.
+    "permissionId": "A String", # The user's ID as visible in the permissions collection.
+  },
+  "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.
+  "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.
+      "selfLink": "A String", # A link back to this reference.
+      "kind": "drive#parentReference", # This is always drive#parentReference.
+      "id": "A String", # The ID of the parent.
+      "isRoot": True or False, # Whether or not the parent is the root folder.
+      "parentLink": "A String", # A link to the parent.
+    },
+  ],
+  "exportLinks": { # Links for exporting Google Docs to specific formats.
+    "a_key": "A String", # A mapping from export format to URL
+  },
+  "shared": True or False, # Whether the file has been shared.
+  "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+    "mimeType": "A String", # The MIME type of the thumbnail.
+    "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+  },
+  "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.
+    "cameraMake": "A String", # The make of the camera used to create the photo.
+    "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+    "isoSpeed": 42, # The ISO speed used to create the photo.
+    "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+    "exposureMode": "A String", # The exposure mode used to create the photo.
+    "colorSpace": "A String", # The color space of the photo.
+    "location": { # Geographic location information stored in the image.
+      "latitude": 3.14, # The latitude stored in the image.
+      "altitude": 3.14, # The altitude stored in the image.
+      "longitude": 3.14, # The longitude stored in the image.
+    },
+    "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+    "height": 42, # The height of the image in pixels.
+    "lens": "A String", # The lens used to create the photo.
+    "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+    "width": 42, # The width of the image in pixels.
+    "meteringMode": "A String", # The metering mode used to create the photo.
+    "flashUsed": True or False, # Whether a flash was used to create the photo.
+    "aperture": 3.14, # The aperture used to create the photo (f-number).
+    "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+    "sensor": "A String", # The type of sensor used to create the photo.
+    "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.
+    "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.
+    "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "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
+    "type": "A String", # The account type. Allowed values are:
+        # - user
+        # - group
+        # - domain
+        # - anyone
+    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+      "A String",
+    ],
+    "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.
+}
+
+  newRevision: boolean, Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If not set or true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota).
+  pinned: boolean, Whether to pin the new revision.
+  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.
+  updateViewedDate: boolean, Whether to update the view date after successfully updating the file.
+  timedTextTrackName: string, The timed text track name.
+  convert: boolean, Whether to convert this file to the corresponding Google Docs format.
+  useContentAsIndexableText: boolean, Whether to use the content as indexable text.
+  setModifiedDate: boolean, Whether to set the modified date with the supplied modified date.
+  timedTextLanguage: string, The language of the timed text.
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "hidden": True or False, # Deprecated.
+      "viewed": True or False, # Whether this file has been viewed by this user.
+      "starred": True or False, # Whether this file is starred by the user.
+      "trashed": True or False, # Whether this file has been trashed.
+    },
+    "indexableText": { # Indexable text attributes for the file (can only be written)
+      "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.
+    "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.
+      { # The JSON template for a user.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+    ],
+    "id": "A String", # The ID of the file.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "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.
+    "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.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "shared": True or False, # Whether the file has been shared.
+    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+      "mimeType": "A String", # The MIME type of the thumbnail.
+      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+    },
+    "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.
+      "cameraMake": "A String", # The make of the camera used to create the photo.
+      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+      "isoSpeed": 42, # The ISO speed used to create the photo.
+      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+      "exposureMode": "A String", # The exposure mode used to create the photo.
+      "colorSpace": "A String", # The color space of the photo.
+      "location": { # Geographic location information stored in the image.
+        "latitude": 3.14, # The latitude stored in the image.
+        "altitude": 3.14, # The altitude stored in the image.
+        "longitude": 3.14, # The longitude stored in the image.
+      },
+      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+      "height": 42, # The height of the image in pixels.
+      "lens": "A String", # The lens used to create the photo.
+      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+      "width": 42, # The width of the image in pixels.
+      "meteringMode": "A String", # The metering mode used to create the photo.
+      "flashUsed": True or False, # Whether a flash was used to create the photo.
+      "aperture": 3.14, # The aperture used to create the photo (f-number).
+      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+      "sensor": "A String", # The type of sensor used to create the photo.
+      "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.
+      "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.
+      "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "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
+      "type": "A String", # The account type. Allowed values are:
+          # - user
+          # - group
+          # - domain
+          # - anyone
+      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+        "A String",
+      ],
+      "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="touch">touch(fileId)</code>
+  <pre>Set the file's updated time to the current server time.
+
+Args:
+  fileId: string, The ID of the file to update. (required)
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "hidden": True or False, # Deprecated.
+      "viewed": True or False, # Whether this file has been viewed by this user.
+      "starred": True or False, # Whether this file is starred by the user.
+      "trashed": True or False, # Whether this file has been trashed.
+    },
+    "indexableText": { # Indexable text attributes for the file (can only be written)
+      "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.
+    "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.
+      { # The JSON template for a user.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+    ],
+    "id": "A String", # The ID of the file.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "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.
+    "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.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "shared": True or False, # Whether the file has been shared.
+    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+      "mimeType": "A String", # The MIME type of the thumbnail.
+      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+    },
+    "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.
+      "cameraMake": "A String", # The make of the camera used to create the photo.
+      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+      "isoSpeed": 42, # The ISO speed used to create the photo.
+      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+      "exposureMode": "A String", # The exposure mode used to create the photo.
+      "colorSpace": "A String", # The color space of the photo.
+      "location": { # Geographic location information stored in the image.
+        "latitude": 3.14, # The latitude stored in the image.
+        "altitude": 3.14, # The altitude stored in the image.
+        "longitude": 3.14, # The longitude stored in the image.
+      },
+      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+      "height": 42, # The height of the image in pixels.
+      "lens": "A String", # The lens used to create the photo.
+      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+      "width": 42, # The width of the image in pixels.
+      "meteringMode": "A String", # The metering mode used to create the photo.
+      "flashUsed": True or False, # Whether a flash was used to create the photo.
+      "aperture": 3.14, # The aperture used to create the photo (f-number).
+      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+      "sensor": "A String", # The type of sensor used to create the photo.
+      "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.
+      "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.
+      "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "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
+      "type": "A String", # The account type. Allowed values are:
+          # - user
+          # - group
+          # - domain
+          # - anyone
+      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+        "A String",
+      ],
+      "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="trash">trash(fileId)</code>
+  <pre>Moves a file to the trash.
+
+Args:
+  fileId: string, The ID of the file to trash. (required)
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "hidden": True or False, # Deprecated.
+      "viewed": True or False, # Whether this file has been viewed by this user.
+      "starred": True or False, # Whether this file is starred by the user.
+      "trashed": True or False, # Whether this file has been trashed.
+    },
+    "indexableText": { # Indexable text attributes for the file (can only be written)
+      "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.
+    "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.
+      { # The JSON template for a user.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+    ],
+    "id": "A String", # The ID of the file.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "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.
+    "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.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "shared": True or False, # Whether the file has been shared.
+    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+      "mimeType": "A String", # The MIME type of the thumbnail.
+      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+    },
+    "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.
+      "cameraMake": "A String", # The make of the camera used to create the photo.
+      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+      "isoSpeed": 42, # The ISO speed used to create the photo.
+      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+      "exposureMode": "A String", # The exposure mode used to create the photo.
+      "colorSpace": "A String", # The color space of the photo.
+      "location": { # Geographic location information stored in the image.
+        "latitude": 3.14, # The latitude stored in the image.
+        "altitude": 3.14, # The altitude stored in the image.
+        "longitude": 3.14, # The longitude stored in the image.
+      },
+      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+      "height": 42, # The height of the image in pixels.
+      "lens": "A String", # The lens used to create the photo.
+      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+      "width": 42, # The width of the image in pixels.
+      "meteringMode": "A String", # The metering mode used to create the photo.
+      "flashUsed": True or False, # Whether a flash was used to create the photo.
+      "aperture": 3.14, # The aperture used to create the photo (f-number).
+      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+      "sensor": "A String", # The type of sensor used to create the photo.
+      "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.
+      "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.
+      "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "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
+      "type": "A String", # The account type. Allowed values are:
+          # - user
+          # - group
+          # - domain
+          # - anyone
+      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+        "A String",
+      ],
+      "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="untrash">untrash(fileId)</code>
+  <pre>Restores a file from the trash.
+
+Args:
+  fileId: string, The ID of the file to untrash. (required)
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "hidden": True or False, # Deprecated.
+      "viewed": True or False, # Whether this file has been viewed by this user.
+      "starred": True or False, # Whether this file is starred by the user.
+      "trashed": True or False, # Whether this file has been trashed.
+    },
+    "indexableText": { # Indexable text attributes for the file (can only be written)
+      "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.
+    "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.
+      { # The JSON template for a user.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+    ],
+    "id": "A String", # The ID of the file.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "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.
+    "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.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "shared": True or False, # Whether the file has been shared.
+    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+      "mimeType": "A String", # The MIME type of the thumbnail.
+      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+    },
+    "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.
+      "cameraMake": "A String", # The make of the camera used to create the photo.
+      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+      "isoSpeed": 42, # The ISO speed used to create the photo.
+      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+      "exposureMode": "A String", # The exposure mode used to create the photo.
+      "colorSpace": "A String", # The color space of the photo.
+      "location": { # Geographic location information stored in the image.
+        "latitude": 3.14, # The latitude stored in the image.
+        "altitude": 3.14, # The altitude stored in the image.
+        "longitude": 3.14, # The longitude stored in the image.
+      },
+      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+      "height": 42, # The height of the image in pixels.
+      "lens": "A String", # The lens used to create the photo.
+      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+      "width": 42, # The width of the image in pixels.
+      "meteringMode": "A String", # The metering mode used to create the photo.
+      "flashUsed": True or False, # Whether a flash was used to create the photo.
+      "aperture": 3.14, # The aperture used to create the photo (f-number).
+      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+      "sensor": "A String", # The type of sensor used to create the photo.
+      "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.
+      "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.
+      "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "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
+      "type": "A String", # The account type. Allowed values are:
+          # - user
+          # - group
+          # - domain
+          # - anyone
+      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+        "A String",
+      ],
+      "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="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)</code>
+  <pre>Updates file metadata and/or content.
+
+Args:
+  fileId: string, The ID of the file to update. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # 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.
+    "hidden": True or False, # Deprecated.
+    "viewed": True or False, # Whether this file has been viewed by this user.
+    "starred": True or False, # Whether this file is starred by the user.
+    "trashed": True or False, # Whether this file has been trashed.
+  },
+  "indexableText": { # Indexable text attributes for the file (can only be written)
+    "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.
+  "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.
+    { # The JSON template for a user.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+  ],
+  "id": "A String", # The ID of the file.
+  "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+    "picture": { # The user's profile picture.
+      "url": "A String", # A URL that points to a profile picture of this user.
+    },
+    "kind": "drive#user", # This is always drive#user.
+    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+    "displayName": "A String", # A plain text displayable name for this user.
+    "permissionId": "A String", # The user's ID as visible in the permissions collection.
+  },
+  "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.
+  "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.
+      "selfLink": "A String", # A link back to this reference.
+      "kind": "drive#parentReference", # This is always drive#parentReference.
+      "id": "A String", # The ID of the parent.
+      "isRoot": True or False, # Whether or not the parent is the root folder.
+      "parentLink": "A String", # A link to the parent.
+    },
+  ],
+  "exportLinks": { # Links for exporting Google Docs to specific formats.
+    "a_key": "A String", # A mapping from export format to URL
+  },
+  "shared": True or False, # Whether the file has been shared.
+  "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+    "mimeType": "A String", # The MIME type of the thumbnail.
+    "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+  },
+  "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.
+    "cameraMake": "A String", # The make of the camera used to create the photo.
+    "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+    "isoSpeed": 42, # The ISO speed used to create the photo.
+    "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+    "exposureMode": "A String", # The exposure mode used to create the photo.
+    "colorSpace": "A String", # The color space of the photo.
+    "location": { # Geographic location information stored in the image.
+      "latitude": 3.14, # The latitude stored in the image.
+      "altitude": 3.14, # The altitude stored in the image.
+      "longitude": 3.14, # The longitude stored in the image.
+    },
+    "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+    "height": 42, # The height of the image in pixels.
+    "lens": "A String", # The lens used to create the photo.
+    "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+    "width": 42, # The width of the image in pixels.
+    "meteringMode": "A String", # The metering mode used to create the photo.
+    "flashUsed": True or False, # Whether a flash was used to create the photo.
+    "aperture": 3.14, # The aperture used to create the photo (f-number).
+    "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+    "sensor": "A String", # The type of sensor used to create the photo.
+    "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.
+    "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.
+    "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "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
+    "type": "A String", # The account type. Allowed values are:
+        # - user
+        # - group
+        # - domain
+        # - anyone
+    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+      "A String",
+    ],
+    "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.
+}
+
+  newRevision: boolean, Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If not set or true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota).
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  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.
+  pinned: boolean, Whether to pin the new revision.
+  updateViewedDate: boolean, Whether to update the view date after successfully updating the file.
+  timedTextTrackName: string, The timed text track name.
+  convert: boolean, Whether to convert this file to the corresponding Google Docs format.
+  useContentAsIndexableText: boolean, Whether to use the content as indexable text.
+  setModifiedDate: boolean, Whether to set the modified date with the supplied modified date.
+  timedTextLanguage: string, The language of the timed text.
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      "hidden": True or False, # Deprecated.
+      "viewed": True or False, # Whether this file has been viewed by this user.
+      "starred": True or False, # Whether this file is starred by the user.
+      "trashed": True or False, # Whether this file has been trashed.
+    },
+    "indexableText": { # Indexable text attributes for the file (can only be written)
+      "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.
+    "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.
+      { # The JSON template for a user.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+    ],
+    "id": "A String", # The ID of the file.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this file.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "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.
+    "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.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "shared": True or False, # Whether the file has been shared.
+    "thumbnail": { # Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.
+      "mimeType": "A String", # The MIME type of the thumbnail.
+      "image": "A String", # The URL-safe Base64 encoded bytes of the thumbnail image.
+    },
+    "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.
+      "cameraMake": "A String", # The make of the camera used to create the photo.
+      "maxApertureValue": 3.14, # The smallest f-number of the lens at the focal length used to create the photo (APEX value).
+      "isoSpeed": 42, # The ISO speed used to create the photo.
+      "focalLength": 3.14, # The focal length used to create the photo, in millimeters.
+      "exposureMode": "A String", # The exposure mode used to create the photo.
+      "colorSpace": "A String", # The color space of the photo.
+      "location": { # Geographic location information stored in the image.
+        "latitude": 3.14, # The latitude stored in the image.
+        "altitude": 3.14, # The altitude stored in the image.
+        "longitude": 3.14, # The longitude stored in the image.
+      },
+      "subjectDistance": 42, # The distance to the subject of the photo, in meters.
+      "height": 42, # The height of the image in pixels.
+      "lens": "A String", # The lens used to create the photo.
+      "date": "A String", # The date and time the photo was taken (EXIF format timestamp).
+      "width": 42, # The width of the image in pixels.
+      "meteringMode": "A String", # The metering mode used to create the photo.
+      "flashUsed": True or False, # Whether a flash was used to create the photo.
+      "aperture": 3.14, # The aperture used to create the photo (f-number).
+      "rotation": 42, # The rotation in clockwise degrees from the image's original orientation.
+      "sensor": "A String", # The type of sensor used to create the photo.
+      "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.
+      "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.
+      "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+      "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
+      "type": "A String", # The account type. Allowed values are:
+          # - user
+          # - group
+          # - domain
+          # - anyone
+      "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+        "A String",
+      ],
+      "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:
+
+{ # An notification channel used to watch for resource changes.
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this 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:
+
+    { # An notification channel used to watch for resource changes.
+      "resourceUri": "A String", # A version-specific identifier for the watched resource.
+      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+      "params": { # Additional parameters controlling delivery channel behavior. Optional.
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+      "address": "A String", # The address where notifications are delivered for this channel.
+      "type": "A String", # The type of delivery mechanism used for this channel.
+      "id": "A String", # A UUID or similar unique string that identifies this 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
new file mode 100644
index 0000000..471c46c
--- /dev/null
+++ b/docs/dyn/drive_v2.html
@@ -0,0 +1,142 @@
+<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></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="drive_v2.about.html">about()</a></code>
+</p>
+<p class="firstline">Returns the about Resource.</p>
+
+<p class="toc_element">
+  <code><a href="drive_v2.apps.html">apps()</a></code>
+</p>
+<p class="firstline">Returns the apps Resource.</p>
+
+<p class="toc_element">
+  <code><a href="drive_v2.changes.html">changes()</a></code>
+</p>
+<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>
+
+<p class="toc_element">
+  <code><a href="drive_v2.comments.html">comments()</a></code>
+</p>
+<p class="firstline">Returns the comments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="drive_v2.files.html">files()</a></code>
+</p>
+<p class="firstline">Returns the files Resource.</p>
+
+<p class="toc_element">
+  <code><a href="drive_v2.parents.html">parents()</a></code>
+</p>
+<p class="firstline">Returns the parents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="drive_v2.permissions.html">permissions()</a></code>
+</p>
+<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>
+
+<p class="toc_element">
+  <code><a href="drive_v2.revisions.html">revisions()</a></code>
+</p>
+<p class="firstline">Returns the revisions Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.parents.html b/docs/dyn/drive_v2.parents.html
new file mode 100644
index 0000000..4dc0671
--- /dev/null
+++ b/docs/dyn/drive_v2.parents.html
@@ -0,0 +1,176 @@
+<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.parents.html">parents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(fileId, parentId)</a></code></p>
+<p class="firstline">Removes a parent from a file.</p>
+<p class="toc_element">
+  <code><a href="#get">get(fileId, parentId)</a></code></p>
+<p class="firstline">Gets a specific parent reference.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(fileId, body)</a></code></p>
+<p class="firstline">Adds a parent folder for a file.</p>
+<p class="toc_element">
+  <code><a href="#list">list(fileId)</a></code></p>
+<p class="firstline">Lists a file's parents.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(fileId, parentId)</code>
+  <pre>Removes a parent from a file.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  parentId: string, The ID of the parent. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(fileId, parentId)</code>
+  <pre>Gets a specific parent reference.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  parentId: string, The ID of the parent. (required)
+
+Returns:
+  An object of the form:
+
+    { # A reference to a file's parent.
+    "selfLink": "A String", # A link back to this reference.
+    "kind": "drive#parentReference", # This is always drive#parentReference.
+    "id": "A String", # The ID of the parent.
+    "isRoot": True or False, # Whether or not the parent is the root folder.
+    "parentLink": "A String", # A link to the parent.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(fileId, body)</code>
+  <pre>Adds a parent folder for a file.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A reference to a file's parent.
+  "selfLink": "A String", # A link back to this reference.
+  "kind": "drive#parentReference", # This is always drive#parentReference.
+  "id": "A String", # The ID of the parent.
+  "isRoot": True or False, # Whether or not the parent is the root folder.
+  "parentLink": "A String", # A link to the parent.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A reference to a file's parent.
+    "selfLink": "A String", # A link back to this reference.
+    "kind": "drive#parentReference", # This is always drive#parentReference.
+    "id": "A String", # The ID of the parent.
+    "isRoot": True or False, # Whether or not the parent is the root folder.
+    "parentLink": "A String", # A link to the parent.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(fileId)</code>
+  <pre>Lists a file's parents.
+
+Args:
+  fileId: string, The ID of the file. (required)
+
+Returns:
+  An object of the form:
+
+    { # A list of a file's parents.
+    "items": [ # The actual list of parents.
+      { # A reference to a file's parent.
+        "selfLink": "A String", # A link back to this reference.
+        "kind": "drive#parentReference", # This is always drive#parentReference.
+        "id": "A String", # The ID of the parent.
+        "isRoot": True or False, # Whether or not the parent is the root folder.
+        "parentLink": "A String", # A link to the parent.
+      },
+    ],
+    "kind": "drive#parentList", # This is always drive#parentList.
+    "etag": "A String", # The ETag of the list.
+    "selfLink": "A String", # A link back to this list.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.permissions.html b/docs/dyn/drive_v2.permissions.html
new file mode 100644
index 0000000..9a1743b
--- /dev/null
+++ b/docs/dyn/drive_v2.permissions.html
@@ -0,0 +1,411 @@
+<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.permissions.html">permissions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(fileId, permissionId)</a></code></p>
+<p class="firstline">Deletes a permission from a file.</p>
+<p class="toc_element">
+  <code><a href="#get">get(fileId, permissionId)</a></code></p>
+<p class="firstline">Gets a permission by ID.</p>
+<p class="toc_element">
+  <code><a href="#getIdForEmail">getIdForEmail(email)</a></code></p>
+<p class="firstline">Returns the permission ID for an email address.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(fileId, body, sendNotificationEmails=None, emailMessage=None)</a></code></p>
+<p class="firstline">Inserts a permission for a file.</p>
+<p class="toc_element">
+  <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, 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, transferOwnership=None)</a></code></p>
+<p class="firstline">Updates a permission.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(fileId, permissionId)</code>
+  <pre>Deletes a permission from a file.
+
+Args:
+  fileId: string, The ID for the file. (required)
+  permissionId: string, The ID for the permission. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(fileId, permissionId)</code>
+  <pre>Gets a permission by ID.
+
+Args:
+  fileId: string, The ID for the file. (required)
+  permissionId: string, The ID for the permission. (required)
+
+Returns:
+  An object of the form:
+
+    { # A permission for a file.
+    "withLink": True or False, # Whether the link is required for this 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.
+    "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "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
+    "type": "A String", # The account type. Allowed values are:
+        # - user
+        # - group
+        # - domain
+        # - anyone
+    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+      "A String",
+    ],
+    "selfLink": "A String", # A link back to this permission.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getIdForEmail">getIdForEmail(email)</code>
+  <pre>Returns the permission ID for an email address.
+
+Args:
+  email: string, The email address for which to return a permission ID (required)
+
+Returns:
+  An object of the form:
+
+    { # An ID for a user or group as seen in Permission items.
+    "kind": "drive#permissionId", # This is always drive#permissionId.
+    "id": "A String", # The permission ID.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(fileId, body, sendNotificationEmails=None, emailMessage=None)</code>
+  <pre>Inserts a permission for a file.
+
+Args:
+  fileId: string, The ID for the file. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A permission for a file.
+  "withLink": True or False, # Whether the link is required for this 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.
+  "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+  "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+  "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
+  "type": "A String", # The account type. Allowed values are:
+      # - user
+      # - group
+      # - domain
+      # - anyone
+  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+    "A String",
+  ],
+  "selfLink": "A String", # A link back to this permission.
+}
+
+  sendNotificationEmails: boolean, Whether to send notification emails when sharing to users or groups.
+  emailMessage: string, A custom message to include in notification emails.
+
+Returns:
+  An object of the form:
+
+    { # A permission for a file.
+    "withLink": True or False, # Whether the link is required for this 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.
+    "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "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
+    "type": "A String", # The account type. Allowed values are:
+        # - user
+        # - group
+        # - domain
+        # - anyone
+    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+      "A String",
+    ],
+    "selfLink": "A String", # A link back to this permission.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(fileId)</code>
+  <pre>Lists a file's permissions.
+
+Args:
+  fileId: string, The ID for the file. (required)
+
+Returns:
+  An object of the form:
+
+    { # A list of permissions associated with a file.
+    "items": [ # The actual list of permissions.
+      { # A permission for a file.
+        "withLink": True or False, # Whether the link is required for this 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.
+        "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+        "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+        "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
+        "type": "A String", # The account type. Allowed values are:
+            # - user
+            # - group
+            # - domain
+            # - anyone
+        "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+          "A String",
+        ],
+        "selfLink": "A String", # A link back to this permission.
+      },
+    ],
+    "kind": "drive#permissionList", # This is always drive#permissionList.
+    "etag": "A String", # The ETag of the list.
+    "selfLink": "A String", # A link back to this list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(fileId, permissionId, body, transferOwnership=None)</code>
+  <pre>Updates a permission. This method supports patch semantics.
+
+Args:
+  fileId: string, The ID for the file. (required)
+  permissionId: string, The ID for the permission. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A permission for a file.
+  "withLink": True or False, # Whether the link is required for this 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.
+  "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+  "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+  "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
+  "type": "A String", # The account type. Allowed values are:
+      # - user
+      # - group
+      # - domain
+      # - anyone
+  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+    "A String",
+  ],
+  "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.
+    "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.
+    "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "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
+    "type": "A String", # The account type. Allowed values are:
+        # - user
+        # - group
+        # - domain
+        # - anyone
+    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+      "A String",
+    ],
+    "selfLink": "A String", # A link back to this permission.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(fileId, permissionId, body, transferOwnership=None)</code>
+  <pre>Updates a permission.
+
+Args:
+  fileId: string, The ID for the file. (required)
+  permissionId: string, The ID for the permission. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A permission for a file.
+  "withLink": True or False, # Whether the link is required for this 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.
+  "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+  "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+  "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
+  "type": "A String", # The account type. Allowed values are:
+      # - user
+      # - group
+      # - domain
+      # - anyone
+  "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+    "A String",
+  ],
+  "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.
+    "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.
+    "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. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "id": "A String", # The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions.insert request, exactly one of 'id' or 'value' fields must be specified.
+    "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
+    "type": "A String", # The account type. Allowed values are:
+        # - user
+        # - group
+        # - domain
+        # - anyone
+    "additionalRoles": [ # Additional roles for this user. Only commenter is currently allowed.
+      "A String",
+    ],
+    "selfLink": "A String", # A link back to this permission.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
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..2719319
--- /dev/null
+++ b/docs/dyn/drive_v2.realtime.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="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>
+<p class="toc_element">
+  <code><a href="#update">update(fileId, media_body=None, baseRevision=None)</a></code></p>
+<p class="firstline">Overwrites the Realtime API data model associated with this file with the provided JSON data model.</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>
+
+<div class="method">
+    <code class="details" id="update">update(fileId, media_body=None, baseRevision=None)</code>
+  <pre>Overwrites the Realtime API data model associated with this file with the provided JSON data model.
+
+Args:
+  fileId: string, The ID of the file that the Realtime API data model is associated with. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  baseRevision: string, The revision of the model to diff the uploaded model against. If set, the uploaded model is diffed against the provided revision and those differences are merged with any changes made to the model after the provided revision. If not set, the uploaded model replaces the current model on the server.
+</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
new file mode 100644
index 0000000..e393640
--- /dev/null
+++ b/docs/dyn/drive_v2.replies.html
@@ -0,0 +1,384 @@
+<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.replies.html">replies</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(fileId, commentId, replyId)</a></code></p>
+<p class="firstline">Deletes a reply.</p>
+<p class="toc_element">
+  <code><a href="#get">get(fileId, commentId, replyId, includeDeleted=None)</a></code></p>
+<p class="firstline">Gets a reply.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(fileId, commentId, body)</a></code></p>
+<p class="firstline">Creates a new reply to the given comment.</p>
+<p class="toc_element">
+  <code><a href="#list">list(fileId, commentId, includeDeleted=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists all of the replies to a comment.</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(fileId, commentId, replyId, body)</a></code></p>
+<p class="firstline">Updates an existing reply. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(fileId, commentId, replyId, body)</a></code></p>
+<p class="firstline">Updates an existing reply.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(fileId, commentId, replyId)</code>
+  <pre>Deletes a reply.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  replyId: string, The ID of the reply. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(fileId, commentId, replyId, includeDeleted=None)</code>
+  <pre>Gets a reply.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  replyId: string, The ID of the reply. (required)
+  includeDeleted: boolean, If set, this will succeed when retrieving a deleted reply.
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a reply to a comment on a file in Google Drive.
+    "kind": "drive#commentReply", # This is always drive#commentReply.
+    "author": { # The JSON template for a user. # The user who wrote this reply.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+    "htmlContent": "A String", # HTML formatted content for this reply.
+    "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+    "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+        # - "resolve" - To resolve a comment.
+        # - "reopen" - To reopen (un-resolve) a comment.
+    "replyId": "A String", # The ID of the reply.
+    "modifiedDate": "A String", # The date when this reply was last modified.
+    "createdDate": "A String", # The date when this reply was first created.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(fileId, commentId, body)</code>
+  <pre>Creates a new reply to the given comment.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A JSON representation of a reply to a comment on a file in Google Drive.
+  "kind": "drive#commentReply", # This is always drive#commentReply.
+  "author": { # The JSON template for a user. # The user who wrote this reply.
+    "picture": { # The user's profile picture.
+      "url": "A String", # A URL that points to a profile picture of this user.
+    },
+    "kind": "drive#user", # This is always drive#user.
+    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+    "displayName": "A String", # A plain text displayable name for this user.
+    "permissionId": "A String", # The user's ID as visible in the permissions collection.
+  },
+  "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+  "htmlContent": "A String", # HTML formatted content for this reply.
+  "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+  "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+      # - "resolve" - To resolve a comment.
+      # - "reopen" - To reopen (un-resolve) a comment.
+  "replyId": "A String", # The ID of the reply.
+  "modifiedDate": "A String", # The date when this reply was last modified.
+  "createdDate": "A String", # The date when this reply was first created.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a reply to a comment on a file in Google Drive.
+    "kind": "drive#commentReply", # This is always drive#commentReply.
+    "author": { # The JSON template for a user. # The user who wrote this reply.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+    "htmlContent": "A String", # HTML formatted content for this reply.
+    "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+    "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+        # - "resolve" - To resolve a comment.
+        # - "reopen" - To reopen (un-resolve) a comment.
+    "replyId": "A String", # The ID of the reply.
+    "modifiedDate": "A String", # The date when this reply was last modified.
+    "createdDate": "A String", # The date when this reply was first created.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(fileId, commentId, includeDeleted=None, pageToken=None, maxResults=None)</code>
+  <pre>Lists all of the replies to a comment.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  includeDeleted: boolean, If set, all replies, including deleted replies (with content stripped) will be returned.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of replies to include in the response, used for paging.
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a list of replies to a comment on a file in Google Drive.
+    "nextPageToken": "A String", # The token to use to request the next page of results.
+    "items": [ # List of reply.
+      { # A JSON representation of a reply to a comment on a file in Google Drive.
+        "kind": "drive#commentReply", # This is always drive#commentReply.
+        "author": { # The JSON template for a user. # The user who wrote this reply.
+          "picture": { # The user's profile picture.
+            "url": "A String", # A URL that points to a profile picture of this user.
+          },
+          "kind": "drive#user", # This is always drive#user.
+          "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+          "displayName": "A String", # A plain text displayable name for this user.
+          "permissionId": "A String", # The user's ID as visible in the permissions collection.
+        },
+        "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+        "htmlContent": "A String", # HTML formatted content for this reply.
+        "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+        "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+            # - "resolve" - To resolve a comment.
+            # - "reopen" - To reopen (un-resolve) a comment.
+        "replyId": "A String", # The ID of the reply.
+        "modifiedDate": "A String", # The date when this reply was last modified.
+        "createdDate": "A String", # The date when this reply was first created.
+      },
+    ],
+    "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>
+
+<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(fileId, commentId, replyId, body)</code>
+  <pre>Updates an existing reply. This method supports patch semantics.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  replyId: string, The ID of the reply. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A JSON representation of a reply to a comment on a file in Google Drive.
+  "kind": "drive#commentReply", # This is always drive#commentReply.
+  "author": { # The JSON template for a user. # The user who wrote this reply.
+    "picture": { # The user's profile picture.
+      "url": "A String", # A URL that points to a profile picture of this user.
+    },
+    "kind": "drive#user", # This is always drive#user.
+    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+    "displayName": "A String", # A plain text displayable name for this user.
+    "permissionId": "A String", # The user's ID as visible in the permissions collection.
+  },
+  "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+  "htmlContent": "A String", # HTML formatted content for this reply.
+  "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+  "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+      # - "resolve" - To resolve a comment.
+      # - "reopen" - To reopen (un-resolve) a comment.
+  "replyId": "A String", # The ID of the reply.
+  "modifiedDate": "A String", # The date when this reply was last modified.
+  "createdDate": "A String", # The date when this reply was first created.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a reply to a comment on a file in Google Drive.
+    "kind": "drive#commentReply", # This is always drive#commentReply.
+    "author": { # The JSON template for a user. # The user who wrote this reply.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+    "htmlContent": "A String", # HTML formatted content for this reply.
+    "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+    "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+        # - "resolve" - To resolve a comment.
+        # - "reopen" - To reopen (un-resolve) a comment.
+    "replyId": "A String", # The ID of the reply.
+    "modifiedDate": "A String", # The date when this reply was last modified.
+    "createdDate": "A String", # The date when this reply was first created.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(fileId, commentId, replyId, body)</code>
+  <pre>Updates an existing reply.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  commentId: string, The ID of the comment. (required)
+  replyId: string, The ID of the reply. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A JSON representation of a reply to a comment on a file in Google Drive.
+  "kind": "drive#commentReply", # This is always drive#commentReply.
+  "author": { # The JSON template for a user. # The user who wrote this reply.
+    "picture": { # The user's profile picture.
+      "url": "A String", # A URL that points to a profile picture of this user.
+    },
+    "kind": "drive#user", # This is always drive#user.
+    "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+    "displayName": "A String", # A plain text displayable name for this user.
+    "permissionId": "A String", # The user's ID as visible in the permissions collection.
+  },
+  "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+  "htmlContent": "A String", # HTML formatted content for this reply.
+  "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+  "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+      # - "resolve" - To resolve a comment.
+      # - "reopen" - To reopen (un-resolve) a comment.
+  "replyId": "A String", # The ID of the reply.
+  "modifiedDate": "A String", # The date when this reply was last modified.
+  "createdDate": "A String", # The date when this reply was first created.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A JSON representation of a reply to a comment on a file in Google Drive.
+    "kind": "drive#commentReply", # This is always drive#commentReply.
+    "author": { # The JSON template for a user. # The user who wrote this reply.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "deleted": True or False, # Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed.
+    "htmlContent": "A String", # HTML formatted content for this reply.
+    "content": "A String", # The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).
+    "verb": "A String", # The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are:
+        # - "resolve" - To resolve a comment.
+        # - "reopen" - To reopen (un-resolve) a comment.
+    "replyId": "A String", # The ID of the reply.
+    "modifiedDate": "A String", # The date when this reply was last modified.
+    "createdDate": "A String", # The date when this reply was first created.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/drive_v2.revisions.html b/docs/dyn/drive_v2.revisions.html
new file mode 100644
index 0000000..1d9645d
--- /dev/null
+++ b/docs/dyn/drive_v2.revisions.html
@@ -0,0 +1,349 @@
+<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.revisions.html">revisions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(fileId, revisionId)</a></code></p>
+<p class="firstline">Removes a revision.</p>
+<p class="toc_element">
+  <code><a href="#get">get(fileId, revisionId)</a></code></p>
+<p class="firstline">Gets a specific revision.</p>
+<p class="toc_element">
+  <code><a href="#list">list(fileId)</a></code></p>
+<p class="firstline">Lists a file's revisions.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(fileId, revisionId, body)</a></code></p>
+<p class="firstline">Updates a revision. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(fileId, revisionId, body)</a></code></p>
+<p class="firstline">Updates a revision.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(fileId, revisionId)</code>
+  <pre>Removes a revision.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  revisionId: string, The ID of the revision. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(fileId, revisionId)</code>
+  <pre>Gets a specific revision.
+
+Args:
+  fileId: string, The ID of the file. (required)
+  revisionId: string, The ID of the revision. (required)
+
+Returns:
+  An object of the form:
+
+    { # A revision of a file.
+      "mimeType": "A String", # The MIME type of the revision.
+      "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
+      "kind": "drive#revision", # This is always drive#revision.
+      "publishedLink": "A String", # A link to the published revision.
+      "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
+      "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+      "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
+      "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
+      "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
+      "selfLink": "A String", # A link back to this revision.
+      "etag": "A String", # The ETag of the revision.
+      "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
+      "exportLinks": { # Links for exporting Google Docs to specific formats.
+        "a_key": "A String", # A mapping from export format to URL
+      },
+      "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
+      "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
+      "id": "A String", # The ID of the revision.
+      "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
+      "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(fileId)</code>
+  <pre>Lists a file's revisions.
+
+Args:
+  fileId: string, The ID of the file. (required)
+
+Returns:
+  An object of the form:
+
+    { # A list of revisions of a file.
+    "items": [ # The actual list of revisions.
+      { # A revision of a file.
+          "mimeType": "A String", # The MIME type of the revision.
+          "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
+          "kind": "drive#revision", # This is always drive#revision.
+          "publishedLink": "A String", # A link to the published revision.
+          "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
+          "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
+            "picture": { # The user's profile picture.
+              "url": "A String", # A URL that points to a profile picture of this user.
+            },
+            "kind": "drive#user", # This is always drive#user.
+            "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+            "displayName": "A String", # A plain text displayable name for this user.
+            "permissionId": "A String", # The user's ID as visible in the permissions collection.
+          },
+          "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
+          "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
+          "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
+          "selfLink": "A String", # A link back to this revision.
+          "etag": "A String", # The ETag of the revision.
+          "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
+          "exportLinks": { # Links for exporting Google Docs to specific formats.
+            "a_key": "A String", # A mapping from export format to URL
+          },
+          "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
+          "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
+          "id": "A String", # The ID of the revision.
+          "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
+          "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
+        },
+    ],
+    "kind": "drive#revisionList", # This is always drive#revisionList.
+    "etag": "A String", # The ETag of the list.
+    "selfLink": "A String", # A link back to this list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(fileId, revisionId, body)</code>
+  <pre>Updates a revision. This method supports patch semantics.
+
+Args:
+  fileId: string, The ID for the file. (required)
+  revisionId: string, The ID for the revision. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A revision of a file.
+    "mimeType": "A String", # The MIME type of the revision.
+    "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
+    "kind": "drive#revision", # This is always drive#revision.
+    "publishedLink": "A String", # A link to the published revision.
+    "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
+    "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
+    "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
+    "selfLink": "A String", # A link back to this revision.
+    "etag": "A String", # The ETag of the revision.
+    "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
+    "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
+    "id": "A String", # The ID of the revision.
+    "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
+    "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A revision of a file.
+      "mimeType": "A String", # The MIME type of the revision.
+      "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
+      "kind": "drive#revision", # This is always drive#revision.
+      "publishedLink": "A String", # A link to the published revision.
+      "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
+      "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+      "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
+      "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
+      "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
+      "selfLink": "A String", # A link back to this revision.
+      "etag": "A String", # The ETag of the revision.
+      "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
+      "exportLinks": { # Links for exporting Google Docs to specific formats.
+        "a_key": "A String", # A mapping from export format to URL
+      },
+      "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
+      "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
+      "id": "A String", # The ID of the revision.
+      "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
+      "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(fileId, revisionId, body)</code>
+  <pre>Updates a revision.
+
+Args:
+  fileId: string, The ID for the file. (required)
+  revisionId: string, The ID for the revision. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A revision of a file.
+    "mimeType": "A String", # The MIME type of the revision.
+    "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
+    "kind": "drive#revision", # This is always drive#revision.
+    "publishedLink": "A String", # A link to the published revision.
+    "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
+    "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
+      "picture": { # The user's profile picture.
+        "url": "A String", # A URL that points to a profile picture of this user.
+      },
+      "kind": "drive#user", # This is always drive#user.
+      "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+      "displayName": "A String", # A plain text displayable name for this user.
+      "permissionId": "A String", # The user's ID as visible in the permissions collection.
+    },
+    "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
+    "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
+    "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
+    "selfLink": "A String", # A link back to this revision.
+    "etag": "A String", # The ETag of the revision.
+    "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
+    "exportLinks": { # Links for exporting Google Docs to specific formats.
+      "a_key": "A String", # A mapping from export format to URL
+    },
+    "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
+    "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
+    "id": "A String", # The ID of the revision.
+    "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
+    "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A revision of a file.
+      "mimeType": "A String", # The MIME type of the revision.
+      "pinned": True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter.
+      "kind": "drive#revision", # This is always drive#revision.
+      "publishedLink": "A String", # A link to the published revision.
+      "publishedOutsideDomain": True or False, # Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs.
+      "lastModifyingUser": { # The JSON template for a user. # The last user to modify this revision.
+        "picture": { # The user's profile picture.
+          "url": "A String", # A URL that points to a profile picture of this user.
+        },
+        "kind": "drive#user", # This is always drive#user.
+        "isAuthenticatedUser": True or False, # Whether this user is the same as the authenticated user for whom the request was made.
+        "displayName": "A String", # A plain text displayable name for this user.
+        "permissionId": "A String", # The user's ID as visible in the permissions collection.
+      },
+      "publishAuto": True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs.
+      "published": True or False, # Whether this revision is published. This is only populated and can only be modified for Google Docs.
+      "downloadUrl": "A String", # Short term download URL for the file. This will only be populated on files with content stored in Drive.
+      "selfLink": "A String", # A link back to this revision.
+      "etag": "A String", # The ETag of the revision.
+      "fileSize": "A String", # The size of the revision in bytes. This will only be populated on files with content stored in Drive.
+      "exportLinks": { # Links for exporting Google Docs to specific formats.
+        "a_key": "A String", # A mapping from export format to URL
+      },
+      "lastModifyingUserName": "A String", # Name of the last user to modify this revision.
+      "originalFilename": "A String", # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
+      "id": "A String", # The ID of the revision.
+      "md5Checksum": "A String", # An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive.
+      "modifiedDate": "A String", # Last time this revision was modified (formatted RFC 3339 timestamp).
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/freebase_v1.html b/docs/dyn/freebase_v1.html
new file mode 100644
index 0000000..23a63f5
--- /dev/null
+++ b/docs/dyn/freebase_v1.html
@@ -0,0 +1,246 @@
+<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="freebase_v1.html">Freebase Search</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#reconcile">reconcile(lang=None, confidence=None, name=None, prop=None, limit=None, kind=None)</a></code></p>
+<p class="firstline">Reconcile entities to Freebase open data.</p>
+<p class="toc_element">
+  <code><a href="#search">search(domain=None, help=None, query=None, scoring=None, filter=None, prefixed=None, with=None, mid=None, encode=None, limit=None, type=None, as_of_time=None, stemmed=None, format=None, spell=None, exact=None, lang=None, indent=None, cursor=None, callback=None, without=None, output=None, mql_output=None)</a></code></p>
+<p class="firstline">Search Freebase open data.</p>
+<p class="toc_element">
+  <code><a href="#search_media">search_media(domain=None, help=None, query=None, scoring=None, filter=None, prefixed=None, with=None, mid=None, encode=None, limit=None, type=None, as_of_time=None, stemmed=None, format=None, spell=None, exact=None, lang=None, indent=None, cursor=None, callback=None, without=None, output=None, mql_output=None)</a></code></p>
+<p class="firstline">Search Freebase open data.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="reconcile">reconcile(lang=None, confidence=None, name=None, prop=None, limit=None, kind=None)</code>
+  <pre>Reconcile entities to Freebase open data.
+
+Args:
+  lang: string, Languages for names and values. First language is used for display. Default is 'en'. (repeated)
+  confidence: number, Required confidence for a candidate to match. Must be between .5 and 1.0
+  name: string, Name of entity.
+  prop: string, Property values for entity formatted as
+: (repeated)
+  limit: integer, Maximum number of candidates to return.
+  kind: string, Classifications of entity e.g. type, category, title. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "costs": { # Server costs for reconciling.
+      "hits": 42, # Total number of hits found.
+      "ms": 42, # Total milliseconds spent.
+    },
+    "warning": [ # If filled, then there were recoverable problems that affected the request. For example, some of the properties were ignored because they either are not valid Freebase predicates or are not indexed for reconciliation. The candidates returned should be considered valid results, with the caveat that sections of the request were ignored as specified by the warning text.
+      {
+        "reason": "A String", # Code for identifying classes of warnings.
+        "message": "A String", # Warning message to display to the user.
+        "location": "A String", # Location of warning in the request e.g. invalid predicate.
+      },
+    ],
+    "match": { # If filled, this entity is guaranteed to match at requested confidence probability (default 99%).
+      "lang": "A String", # Language code that candidate and notable names are displayed in.
+      "confidence": 3.14, # Percentage likelihood that this candidate is the unique matching entity. Value will be between 0.0 and 1.0
+      "notable": { # Type or profession the candidate is notable for.
+        "id": "A String", # MID of notable category.
+        "name": "A String", # Name of notable category in specified language.
+      },
+      "mid": "A String", # Freebase MID of candidate entity.
+      "name": "A String", # Freebase name of matching entity in specified language.
+    },
+    "candidate": [ # If filled, then the listed candidates are potential matches, and such should be evaluated by a more discerning algorithm or human. The matches are ordered by confidence.
+      {
+        "lang": "A String", # Language code that candidate and notable names are displayed in.
+        "confidence": 3.14, # Percentage likelihood that this candidate is the unique matching entity. Value will be between 0.0 and 1.0
+        "notable": { # Type or profession the candidate is notable for.
+          "id": "A String", # MID of notable category.
+          "name": "A String", # Name of notable category in specified language.
+        },
+        "mid": "A String", # Freebase MID of candidate entity.
+        "name": "A String", # Freebase name of matching entity in specified language.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search">search(domain=None, help=None, query=None, scoring=None, filter=None, prefixed=None, with=None, mid=None, encode=None, limit=None, type=None, as_of_time=None, stemmed=None, format=None, spell=None, exact=None, lang=None, indent=None, cursor=None, callback=None, without=None, output=None, mql_output=None)</code>
+  <pre>Search Freebase open data.
+
+Args:
+  domain: string, Restrict to topics with this Freebase domain id. (repeated)
+  help: string, The keyword to request help on.
+    Allowed values
+      langs - The language codes served by the service.
+      mappings - The property/path mappings supported by the filter and output request parameters.
+      predicates - The predicates and path-terminating properties supported by the filter and output request parameters.
+  query: string, Query term to search for.
+  scoring: string, Relevance scoring algorithm to use.
+    Allowed values
+      entity - Use freebase and popularity entity ranking.
+      freebase - Use freebase entity ranking.
+      schema - Use schema ranking for properties and types.
+  filter: string, A filter to apply to the query. (repeated)
+  prefixed: boolean, Prefix match against names and aliases.
+  with: string, A rule to match against. (repeated)
+  mid: string, A mid to use instead of a query. (repeated)
+  encode: string, The encoding of the response. You can use this parameter to enable html encoding.
+    Allowed values
+      html - Encode certain characters in the response (such as tags and ambersands) using html encoding.
+      off - No encoding of the response. You should not print the results directly on an web page without html-escaping the content first.
+  limit: integer, Maximum number of results to return.
+  type: string, Restrict to topics with this Freebase type id. (repeated)
+  as_of_time: string, A mql as_of_time value to use with mql_output queries.
+  stemmed: boolean, Query on stemmed names and aliases. May not be used with prefixed.
+  format: string, Structural format of the json response.
+    Allowed values
+      ac - Compact format useful for autocomplete/suggest UIs.
+      classic - [DEPRECATED] Same format as was returned by api.freebase.com.
+      entity - Basic information about the entities.
+      guids - [DEPRECATED] Ordered list of a freebase guids.
+      ids - Ordered list of freebase ids.
+      mids - Ordered list of freebase mids.
+  spell: string, Request 'did you mean' suggestions
+    Allowed values
+      always - Request spelling suggestions for any query at least three characters long.
+      no_results - Request spelling suggestions if no results were found.
+      no_spelling - Don't request spelling suggestions.
+  exact: boolean, Query on exact name and keys only.
+  lang: string, The code of the language to run the query with. Default is 'en'. (repeated)
+  indent: boolean, Whether to indent the json results or not.
+  cursor: integer, The cursor value to use for the next page of results.
+  callback: string, JS method name for JSONP callbacks.
+  without: string, A rule to not match against. (repeated)
+  output: string, An output expression to request data from matches.
+  mql_output: string, The MQL query to run againist the results to extract more data.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search_media">search_media(domain=None, help=None, query=None, scoring=None, filter=None, prefixed=None, with=None, mid=None, encode=None, limit=None, type=None, as_of_time=None, stemmed=None, format=None, spell=None, exact=None, lang=None, indent=None, cursor=None, callback=None, without=None, output=None, mql_output=None)</code>
+  <pre>Search Freebase open data.
+
+Args:
+  domain: string, Restrict to topics with this Freebase domain id. (repeated)
+  help: string, The keyword to request help on.
+    Allowed values
+      langs - The language codes served by the service.
+      mappings - The property/path mappings supported by the filter and output request parameters.
+      predicates - The predicates and path-terminating properties supported by the filter and output request parameters.
+  query: string, Query term to search for.
+  scoring: string, Relevance scoring algorithm to use.
+    Allowed values
+      entity - Use freebase and popularity entity ranking.
+      freebase - Use freebase entity ranking.
+      schema - Use schema ranking for properties and types.
+  filter: string, A filter to apply to the query. (repeated)
+  prefixed: boolean, Prefix match against names and aliases.
+  with: string, A rule to match against. (repeated)
+  mid: string, A mid to use instead of a query. (repeated)
+  encode: string, The encoding of the response. You can use this parameter to enable html encoding.
+    Allowed values
+      html - Encode certain characters in the response (such as tags and ambersands) using html encoding.
+      off - No encoding of the response. You should not print the results directly on an web page without html-escaping the content first.
+  limit: integer, Maximum number of results to return.
+  type: string, Restrict to topics with this Freebase type id. (repeated)
+  as_of_time: string, A mql as_of_time value to use with mql_output queries.
+  stemmed: boolean, Query on stemmed names and aliases. May not be used with prefixed.
+  format: string, Structural format of the json response.
+    Allowed values
+      ac - Compact format useful for autocomplete/suggest UIs.
+      classic - [DEPRECATED] Same format as was returned by api.freebase.com.
+      entity - Basic information about the entities.
+      guids - [DEPRECATED] Ordered list of a freebase guids.
+      ids - Ordered list of freebase ids.
+      mids - Ordered list of freebase mids.
+  spell: string, Request 'did you mean' suggestions
+    Allowed values
+      always - Request spelling suggestions for any query at least three characters long.
+      no_results - Request spelling suggestions if no results were found.
+      no_spelling - Don't request spelling suggestions.
+  exact: boolean, Query on exact name and keys only.
+  lang: string, The code of the language to run the query with. Default is 'en'. (repeated)
+  indent: boolean, Whether to indent the json results or not.
+  cursor: integer, The cursor value to use for the next page of results.
+  callback: string, JS method name for JSONP callbacks.
+  without: string, A rule to not match against. (repeated)
+  output: string, An output expression to request data from matches.
+  mql_output: string, The MQL query to run againist the results to extract more data.
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.column.html b/docs/dyn/fusiontables_v1.column.html
new file mode 100644
index 0000000..c5ea4c5
--- /dev/null
+++ b/docs/dyn/fusiontables_v1.column.html
@@ -0,0 +1,287 @@
+<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="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.column.html">column</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId, columnId)</a></code></p>
+<p class="firstline">Deletes the column.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId, columnId)</a></code></p>
+<p class="firstline">Retrieves a specific column by its id.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(tableId, body)</a></code></p>
+<p class="firstline">Adds a new column to the table.</p>
+<p class="toc_element">
+  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of columns.</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(tableId, columnId, body)</a></code></p>
+<p class="firstline">Updates the name or type of an existing column. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tableId, columnId, body)</a></code></p>
+<p class="firstline">Updates the name or type of an existing column.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(tableId, columnId)</code>
+  <pre>Deletes the column.
+
+Args:
+  tableId: string, Table from which the column is being deleted. (required)
+  columnId: string, Name or identifier for the column being deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId, columnId)</code>
+  <pre>Retrieves a specific column by its id.
+
+Args:
+  tableId: string, Table to which the column belongs. (required)
+  columnId: string, Name or identifier for the column that is being requested. (required)
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(tableId, body)</code>
+  <pre>Adds a new column to the table.
+
+Args:
+  tableId: string, Table for which a new column is being added. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of columns.
+
+Args:
+  tableId: string, Table whose columns are being listed. (required)
+  pageToken: string, Continuation token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of columns to return. Optional. Default is 5.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of columns in a table.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
+    "items": [ # List of all requested columns.
+      { # 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.
+          },
+        },
+    ],
+    "kind": "fusiontables#columnList", # Type name: a list of all tables.
+    "totalItems": 42, # Total number of columns for the table.
+  }</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(tableId, columnId, body)</code>
+  <pre>Updates the name or type of an existing column. This method supports patch semantics.
+
+Args:
+  tableId: string, Table for which the column is being updated. (required)
+  columnId: string, Name or identifier for the column that is being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tableId, columnId, body)</code>
+  <pre>Updates the name or type of an existing column.
+
+Args:
+  tableId: string, Table for which the column is being updated. (required)
+  columnId: string, Name or identifier for the column that is being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # 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.
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.html b/docs/dyn/fusiontables_v1.html
new file mode 100644
index 0000000..b5c0ca6
--- /dev/null
+++ b/docs/dyn/fusiontables_v1.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="fusiontables_v1.html">Fusion Tables API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="fusiontables_v1.column.html">column()</a></code>
+</p>
+<p class="firstline">Returns the column Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v1.query.html">query()</a></code>
+</p>
+<p class="firstline">Returns the query Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v1.style.html">style()</a></code>
+</p>
+<p class="firstline">Returns the style Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v1.table.html">table()</a></code>
+</p>
+<p class="firstline">Returns the table Resource.</p>
+
+<p class="toc_element">
+  <code><a href="fusiontables_v1.template.html">template()</a></code>
+</p>
+<p class="firstline">Returns the template Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.query.html b/docs/dyn/fusiontables_v1.query.html
new file mode 100644
index 0000000..a4ac39a
--- /dev/null
+++ b/docs/dyn/fusiontables_v1.query.html
@@ -0,0 +1,134 @@
+<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="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.query.html">query</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#sql">sql(sql, hdrs=None, typed=None)</a></code></p>
+<p class="firstline">Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement.</p>
+<p class="toc_element">
+  <code><a href="#sqlGet">sqlGet(sql, hdrs=None, typed=None)</a></code></p>
+<p class="firstline">Executes an SQL SELECT/SHOW/DESCRIBE statement.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="sql">sql(sql, hdrs=None, typed=None)</code>
+  <pre>Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement.
+
+Args:
+  sql: string, An SQL SELECT/SHOW/DESCRIBE/INSERT/UPDATE/DELETE/CREATE statement. (required)
+  hdrs: boolean, Should column names be included (in the first row)?. Default is true.
+  typed: boolean, Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true.
+
+Returns:
+  An object of the form:
+
+    { # Represents a response to an sql statement.
+    "kind": "fusiontables#sqlresponse", # Type name: a template for an individual table.
+    "rows": [ # The rows in the table. For each cell we print out whatever cell value (e.g., numeric, string) exists. Thus it is important that each cell contains only one value.
+      [
+        "",
+      ],
+    ],
+    "columns": [ # Columns in the table.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sqlGet">sqlGet(sql, hdrs=None, typed=None)</code>
+  <pre>Executes an SQL SELECT/SHOW/DESCRIBE statement.
+
+Args:
+  sql: string, An SQL SELECT/SHOW/DESCRIBE statement. (required)
+  hdrs: boolean, Should column names be included (in the first row)?. Default is true.
+  typed: boolean, Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true.
+
+Returns:
+  An object of the form:
+
+    { # Represents a response to an sql statement.
+    "kind": "fusiontables#sqlresponse", # Type name: a template for an individual table.
+    "rows": [ # The rows in the table. For each cell we print out whatever cell value (e.g., numeric, string) exists. Thus it is important that each cell contains only one value.
+      [
+        "",
+      ],
+    ],
+    "columns": [ # Columns in the table.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.style.html b/docs/dyn/fusiontables_v1.style.html
new file mode 100644
index 0000000..f2d1e75
--- /dev/null
+++ b/docs/dyn/fusiontables_v1.style.html
@@ -0,0 +1,1527 @@
+<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="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.style.html">style</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId, styleId)</a></code></p>
+<p class="firstline">Deletes a style.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId, styleId)</a></code></p>
+<p class="firstline">Gets a specific style.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(tableId, body)</a></code></p>
+<p class="firstline">Adds a new style for the table.</p>
+<p class="toc_element">
+  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of styles.</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(tableId, styleId, body)</a></code></p>
+<p class="firstline">Updates an existing style. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tableId, styleId, body)</a></code></p>
+<p class="firstline">Updates an existing style.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(tableId, styleId)</code>
+  <pre>Deletes a style.
+
+Args:
+  tableId: string, Table from which the style is being deleted (required)
+  styleId: integer, Identifier (within a table) for the style being deleted (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId, styleId)</code>
+  <pre>Gets a specific style.
+
+Args:
+  tableId: string, Table to which the requested style belongs (required)
+  styleId: integer, Identifier (integer) for a specific style in a table (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+      },
+      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+      "name": "A String", # Optional name for the style setting.
+      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeWeight": 42, # Width of the polyon border in pixels.
+        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+      },
+      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+        "strokeWeight": 42, # Width of the line in pixels.
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeColor": "A String", # Color of the line in #RRGGBB format.
+        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+      },
+      "tableId": "A String", # Identifier for the table.
+      "styleId": 42, # Identifier for the style setting (unique only within tables).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(tableId, body)</code>
+  <pre>Adds a new style for the table.
+
+Args:
+  tableId: string, Table for which a new style is being added (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+    },
+    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+    "name": "A String", # Optional name for the style setting.
+    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeWeight": 42, # Width of the polyon border in pixels.
+      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+    },
+    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+      "strokeWeight": 42, # Width of the line in pixels.
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeColor": "A String", # Color of the line in #RRGGBB format.
+      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+    },
+    "tableId": "A String", # Identifier for the table.
+    "styleId": 42, # Identifier for the style setting (unique only within tables).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+      },
+      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+      "name": "A String", # Optional name for the style setting.
+      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeWeight": 42, # Width of the polyon border in pixels.
+        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+      },
+      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+        "strokeWeight": 42, # Width of the line in pixels.
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeColor": "A String", # Color of the line in #RRGGBB format.
+        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+      },
+      "tableId": "A String", # Identifier for the table.
+      "styleId": 42, # Identifier for the style setting (unique only within tables).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of styles.
+
+Args:
+  tableId: string, Table whose styles are being listed (required)
+  pageToken: string, Continuation token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of styles to return. Optional. Default is 5.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of styles for a given table.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more styles left.
+    "items": [ # All requested style settings.
+      { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+          "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+            "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+          },
+          "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+          "name": "A String", # Optional name for the style setting.
+          "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+            "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "strokeWeight": 42, # Width of the polyon border in pixels.
+            "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+            "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+            "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+            "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+          },
+          "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+            "strokeWeight": 42, # Width of the line in pixels.
+            "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+            "strokeColor": "A String", # Color of the line in #RRGGBB format.
+            "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+            "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+              "gradient": { # Gradient function that interpolates a range of colors based on column value.
+                "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+                "colors": [ # Array with two or more colors.
+                  {
+                    "color": "A String", # Color in #RRGGBB format.
+                    "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  },
+                ],
+                "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+              },
+              "columnName": "A String", # Name of the column whose value is used in the style.
+              "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+                { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+                  "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+                  "weight": 42, # Width of a line (in pixels).
+                  "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+                  "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+                  "icon": "A String", # Icon name used for a point.
+                },
+              ],
+              "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+            },
+          },
+          "tableId": "A String", # Identifier for the table.
+          "styleId": 42, # Identifier for the style setting (unique only within tables).
+        },
+    ],
+    "kind": "fusiontables#styleSettingList", # Type name: in this case, a list of style settings.
+    "totalItems": 42, # Total number of styles for the table.
+  }</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(tableId, styleId, body)</code>
+  <pre>Updates an existing style. This method supports patch semantics.
+
+Args:
+  tableId: string, Table whose style is being updated. (required)
+  styleId: integer, Identifier (within a table) for the style being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+    },
+    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+    "name": "A String", # Optional name for the style setting.
+    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeWeight": 42, # Width of the polyon border in pixels.
+      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+    },
+    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+      "strokeWeight": 42, # Width of the line in pixels.
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeColor": "A String", # Color of the line in #RRGGBB format.
+      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+    },
+    "tableId": "A String", # Identifier for the table.
+    "styleId": 42, # Identifier for the style setting (unique only within tables).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+      },
+      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+      "name": "A String", # Optional name for the style setting.
+      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeWeight": 42, # Width of the polyon border in pixels.
+        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+      },
+      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+        "strokeWeight": 42, # Width of the line in pixels.
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeColor": "A String", # Color of the line in #RRGGBB format.
+        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+      },
+      "tableId": "A String", # Identifier for the table.
+      "styleId": 42, # Identifier for the style setting (unique only within tables).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tableId, styleId, body)</code>
+  <pre>Updates an existing style.
+
+Args:
+  tableId: string, Table whose style is being updated. (required)
+  styleId: integer, Identifier (within a table) for the style being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+    "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+      "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+    },
+    "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+    "name": "A String", # Optional name for the style setting.
+    "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeWeight": 42, # Width of the polyon border in pixels.
+      "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+      "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+      "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+    },
+    "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+      "strokeWeight": 42, # Width of the line in pixels.
+      "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+      "strokeColor": "A String", # Color of the line in #RRGGBB format.
+      "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+      "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+        "gradient": { # Gradient function that interpolates a range of colors based on column value.
+          "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+          "colors": [ # Array with two or more colors.
+            {
+              "color": "A String", # Color in #RRGGBB format.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            },
+          ],
+          "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+        },
+        "columnName": "A String", # Name of the column whose value is used in the style.
+        "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+          { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+            "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+            "weight": 42, # Width of a line (in pixels).
+            "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+            "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+            "icon": "A String", # Icon name used for a point.
+          },
+        ],
+        "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+      },
+    },
+    "tableId": "A String", # Identifier for the table.
+    "styleId": 42, # Identifier for the style setting (unique only within tables).
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a complete StyleSettings object. The primary key is a combination of the tableId and a styleId.
+      "markerOptions": { # Represents a PointStyle within a StyleSetting # Style definition for points in the table.
+        "iconStyler": { # Represents a StyleFunction within a StyleSetting # Column or a bucket value from which the icon name is to be determined.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "iconName": "A String", # Name of the icon. Use values defined in http://www.google.com/fusiontables/DataSource?dsrcid=308519
+      },
+      "kind": "fusiontables#styleSetting", # Type name: an individual style setting. A StyleSetting contains the style defintions for points, lines, and polygons in a table. Since a table can have any one or all of them, a style definition can have point, line and polygon style definitions.
+      "name": "A String", # Optional name for the style setting.
+      "polygonOptions": { # Represents a PolygonStyle within a StyleSetting # Style definition for polygons in the table.
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the border color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeWeight": 42, # Width of the polyon border in pixels.
+        "strokeOpacity": 3.14, # Opacity of the polygon border: 0.0 (transparent) to 1.0 (opaque).
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the polygon border.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient, or bucket styler that is used to determine the interior color and opacity of the polygon.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "fillColor": "A String", # Color of the interior of the polygon in #RRGGBB format.
+        "strokeColor": "A String", # Color of the polygon border in #RRGGBB format.
+        "fillOpacity": 3.14, # Opacity of the interior of the polygon: 0.0 (transparent) to 1.0 (opaque).
+      },
+      "polylineOptions": { # Represents a LineStyle within a StyleSetting # Style definition for lines in the table.
+        "strokeWeight": 42, # Width of the line in pixels.
+        "strokeWeightStyler": { # Represents a StyleFunction within a StyleSetting # Column-value or bucket styler that is used to determine the width of the line.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+        "strokeColor": "A String", # Color of the line in #RRGGBB format.
+        "strokeOpacity": 3.14, # Opacity of the line : 0.0 (transparent) to 1.0 (opaque).
+        "strokeColorStyler": { # Represents a StyleFunction within a StyleSetting # Column-value, gradient or buckets styler that is used to determine the line color and opacity.
+          "gradient": { # Gradient function that interpolates a range of colors based on column value.
+            "max": 3.14, # Higher-end of the interpolation range: rows with this value will be assigned to colors[n-1].
+            "colors": [ # Array with two or more colors.
+              {
+                "color": "A String", # Color in #RRGGBB format.
+                "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              },
+            ],
+            "min": 3.14, # Lower-end of the interpolation range: rows with this value will be assigned to colors[0].
+          },
+          "columnName": "A String", # Name of the column whose value is used in the style.
+          "buckets": [ # Bucket function that assigns a style based on the range a column value falls into.
+            { # Specifies the minimum and maximum values, the color, opacity, icon and weight of a bucket within a StyleSetting.
+              "opacity": 3.14, # Opacity of the color: 0.0 (transparent) to 1.0 (opaque).
+              "weight": 42, # Width of a line (in pixels).
+              "min": 3.14, # Minimum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "color": "A String", # Color of line or the interior of a polygon in #RRGGBB format.
+              "max": 3.14, # Maximum value in the selected column for a row to be styled according to the bucket color, opacity, icon, or weight.
+              "icon": "A String", # Icon name used for a point.
+            },
+          ],
+          "kind": "A String", # Stylers can be one of three kinds: "fusiontables#fromColumn" if the column value is to be used as is, i.e., the column values can have colors in #RRGGBBAA format or integer line widths or icon names; "fusiontables#gradient" if the styling of the row is to be based on applying the gradient function on the column value; or "fusiontables#buckets" if the styling is to based on the bucket into which the the column value falls.
+        },
+      },
+      "tableId": "A String", # Identifier for the table.
+      "styleId": 42, # Identifier for the style setting (unique only within tables).
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.table.html b/docs/dyn/fusiontables_v1.table.html
new file mode 100644
index 0000000..0157063
--- /dev/null
+++ b/docs/dyn/fusiontables_v1.table.html
@@ -0,0 +1,511 @@
+<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="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.table.html">table</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#copy">copy(tableId, copyPresentation=None)</a></code></p>
+<p class="firstline">Copies a table.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId)</a></code></p>
+<p class="firstline">Deletes a table.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId)</a></code></p>
+<p class="firstline">Retrieves a specific table by its id.</p>
+<p class="toc_element">
+  <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">
+  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of tables a user owns.</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(tableId, body, replaceViewDefinition=None)</a></code></p>
+<p class="firstline">Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tableId, body, replaceViewDefinition=None)</a></code></p>
+<p class="firstline">Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="copy">copy(tableId, copyPresentation=None)</code>
+  <pre>Copies a table.
+
+Args:
+  tableId: string, ID of the table that is being copied. (required)
+  copyPresentation: boolean, Whether to also copy tabs, styles, and templates. Default is false.
+
+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="delete">delete(tableId)</code>
+  <pre>Deletes a table.
+
+Args:
+  tableId: string, ID of the table that is being deleted. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId)</code>
+  <pre>Retrieves a specific table by its id.
+
+Args:
+  tableId: string, Identifier(ID) for the table being requested. (required)
+
+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="importRows">importRows(tableId, media_body=None, startLine=None, isStrict=None, encoding=None, delimiter=None, endLine=None)</code>
+  <pre>Import more rows into a table.
+
+Args:
+  tableId: string, The table into which new rows are being imported. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  startLine: integer, The index of the first line from which to start importing, inclusive. Default is 0.
+  isStrict: boolean, Whether the CSV must have the same number of values for each row. If false, rows with fewer values will be padded with empty values. Default is true.
+  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 ','.
+  endLine: integer, The index of the last line from which to start importing, exclusive. Thus, the number of imported lines is endLine - startLine. If this parameter is not provided, the file will be imported until the last line of the file. If endLine is negative, then the imported content will exclude the last endLine lines. That is, if endline is negative, no line will be imported whose index is greater than N + endLine where N is the number of lines in the file, and the number of imported lines will be N + endLine - startLine.
+
+Returns:
+  An object of the form:
+
+    { # Represents an import request.
+    "numRowsReceived": "A String", # The number of rows received from the import request.
+    "kind": "fusiontables#import", # Type name: a template for an import request.
+  }</pre>
+</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.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+  }
+
+
+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="list">list(pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of tables a user owns.
+
+Args:
+  pageToken: string, Continuation token specifying which result page to return. Optional.
+  maxResults: integer, Maximum number of styles to return. Optional. Default is 5.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of tables.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
+    "items": [ # List of all requested tables.
+      { # 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.
+        },
+    ],
+    "kind": "fusiontables#tableList", # Type name: a list of all tables.
+  }</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(tableId, body, replaceViewDefinition=None)</code>
+  <pre>Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated. This method supports patch semantics.
+
+Args:
+  tableId: string, ID of the table that is being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+  }
+
+  replaceViewDefinition: boolean, Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition.
+
+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="update">update(tableId, body, replaceViewDefinition=None)</code>
+  <pre>Updates an existing table. Unless explicitly requested, only the name, description, and attribution will be updated.
+
+Args:
+  tableId: string, ID of the table that is being updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+  }
+
+  replaceViewDefinition: boolean, Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition.
+
+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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/fusiontables_v1.template.html b/docs/dyn/fusiontables_v1.template.html
new file mode 100644
index 0000000..f887c49
--- /dev/null
+++ b/docs/dyn/fusiontables_v1.template.html
@@ -0,0 +1,287 @@
+<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="fusiontables_v1.html">Fusion Tables API</a> . <a href="fusiontables_v1.template.html">template</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(tableId, templateId)</a></code></p>
+<p class="firstline">Deletes a template</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId, templateId)</a></code></p>
+<p class="firstline">Retrieves a specific template by its id</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(tableId, body)</a></code></p>
+<p class="firstline">Creates a new template for the table.</p>
+<p class="toc_element">
+  <code><a href="#list">list(tableId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of templates.</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(tableId, templateId, body)</a></code></p>
+<p class="firstline">Updates an existing template. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tableId, templateId, body)</a></code></p>
+<p class="firstline">Updates an existing template</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(tableId, templateId)</code>
+  <pre>Deletes a template
+
+Args:
+  tableId: string, Table from which the template is being deleted (required)
+  templateId: integer, Identifier for the template which is being deleted (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId, templateId)</code>
+  <pre>Retrieves a specific template by its id
+
+Args:
+  tableId: string, Table to which the template belongs (required)
+  templateId: integer, Identifier for the template that is being requested (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents the contents of InfoWindow templates.
+      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+      "name": "A String", # Optional name assigned to a template.
+      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+        "A String",
+      ],
+      "tableId": "A String", # Identifier for the table for which the template is defined.
+      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(tableId, body)</code>
+  <pre>Creates a new template for the table.
+
+Args:
+  tableId: string, Table for which a new template is being created (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents the contents of InfoWindow templates.
+    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+    "name": "A String", # Optional name assigned to a template.
+    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+      "A String",
+    ],
+    "tableId": "A String", # Identifier for the table for which the template is defined.
+    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents the contents of InfoWindow templates.
+      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+      "name": "A String", # Optional name assigned to a template.
+      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+        "A String",
+      ],
+      "tableId": "A String", # Identifier for the table for which the template is defined.
+      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(tableId, pageToken=None, maxResults=None)</code>
+  <pre>Retrieves a list of templates.
+
+Args:
+  tableId: string, Identifier for the table whose templates are being requested (required)
+  pageToken: string, Continuation token specifying which results page to return. Optional.
+  maxResults: integer, Maximum number of templates to return. Optional. Default is 5.
+
+Returns:
+  An object of the form:
+
+    { # Represents a list of templates for a given table.
+    "nextPageToken": "A String", # Token used to access the next page of this result. No token is displayed if there are no more tokens left.
+    "items": [ # List of all requested templates.
+      { # Represents the contents of InfoWindow templates.
+          "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+          "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+          "name": "A String", # Optional name assigned to a template.
+          "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+            "A String",
+          ],
+          "tableId": "A String", # Identifier for the table for which the template is defined.
+          "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+        },
+    ],
+    "kind": "fusiontables#templateList", # Type name: a list of all templates.
+    "totalItems": 42, # Total number of templates for the table.
+  }</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(tableId, templateId, body)</code>
+  <pre>Updates an existing template. This method supports patch semantics.
+
+Args:
+  tableId: string, Table to which the updated template belongs (required)
+  templateId: integer, Identifier for the template that is being updated (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents the contents of InfoWindow templates.
+    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+    "name": "A String", # Optional name assigned to a template.
+    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+      "A String",
+    ],
+    "tableId": "A String", # Identifier for the table for which the template is defined.
+    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents the contents of InfoWindow templates.
+      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+      "name": "A String", # Optional name assigned to a template.
+      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+        "A String",
+      ],
+      "tableId": "A String", # Identifier for the table for which the template is defined.
+      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tableId, templateId, body)</code>
+  <pre>Updates an existing template
+
+Args:
+  tableId: string, Table to which the updated template belongs (required)
+  templateId: integer, Identifier for the template that is being updated (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents the contents of InfoWindow templates.
+    "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+    "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+    "name": "A String", # Optional name assigned to a template.
+    "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+      "A String",
+    ],
+    "tableId": "A String", # Identifier for the table for which the template is defined.
+    "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents the contents of InfoWindow templates.
+      "body": "A String", # Body of the template. It contains HTML with {column_name} to insert values from a particular column. The body is sanitized to remove certain tags, e.g., script. Only one of body or automaticColumns can be specified.
+      "kind": "fusiontables#template", # Type name: a template for the info window contents. The template can either include an HTML body or a list of columns from which the template is computed automatically.
+      "name": "A String", # Optional name assigned to a template.
+      "automaticColumnNames": [ # List of columns from which the template is to be automatically constructed. Only one of body or automaticColumns can be specified.
+        "A String",
+      ],
+      "tableId": "A String", # Identifier for the table for which the template is defined.
+      "templateId": 42, # Identifier for the template, unique within the context of a particular table.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.achievements.html b/docs/dyn/gamesManagement_v1management.achievements.html
new file mode 100644
index 0000000..72bcb7b
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.achievements.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="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 for the currently authenticated player. 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>
+<p class="toc_element">
+  <code><a href="#resetForAllPlayers">resetForAllPlayers(achievementId)</a></code></p>
+<p class="firstline">Resets the achievement with the given ID for the all players. This method is only available to user accounts for your developer console. Only draft achievements can be reset.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="reset">reset(achievementId)</code>
+  <pre>Resets the achievement with the given ID for the currently authenticated player. 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>
+
+<div class="method">
+    <code class="details" id="resetForAllPlayers">resetForAllPlayers(achievementId)</code>
+  <pre>Resets the achievement with the given ID for the all players. This method is only available to user accounts for your developer console. Only draft achievements can be reset.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+</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..09cedc9
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.applications.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="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.
+          "kind": "gamesManagement#player", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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..a5a505a
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.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="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>
+
+<p class="toc_element">
+  <code><a href="gamesManagement_v1management.turnBasedMatches.html">turnBasedMatches()</a></code>
+</p>
+<p class="firstline">Returns the turnBasedMatches 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..9ad957f
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.scores.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="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 for the currently authenticated player. This method is only accessible to whitelisted tester accounts for your application.</p>
+<p class="toc_element">
+  <code><a href="#resetForAllPlayers">resetForAllPlayers(leaderboardId)</a></code></p>
+<p class="firstline">Reset scores for the specified leaderboard for all players. This method is only available to user accounts for your developer console. Only draft leaderboards can be reset.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="reset">reset(leaderboardId)</code>
+  <pre>Reset scores for the specified leaderboard for the currently authenticated player. 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>
+
+<div class="method">
+    <code class="details" id="resetForAllPlayers">resetForAllPlayers(leaderboardId)</code>
+  <pre>Reset scores for the specified leaderboard for all players. This method is only available to user accounts for your developer console. Only draft leaderboards can be reset.
+
+Args:
+  leaderboardId: string, The ID of the leaderboard. (required)
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gamesManagement_v1management.turnBasedMatches.html b/docs/dyn/gamesManagement_v1management.turnBasedMatches.html
new file mode 100644
index 0000000..e2d1ddb
--- /dev/null
+++ b/docs/dyn/gamesManagement_v1management.turnBasedMatches.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.turnBasedMatches.html">turnBasedMatches</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#reset">reset()</a></code></p>
+<p class="firstline">Reset all turn-based match data for a user. 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 turn-based match data for a user. 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/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..d42895a
--- /dev/null
+++ b/docs/dyn/games_v1.achievements.html
@@ -0,0 +1,280 @@
+<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="#setStepsAtLeast">setStepsAtLeast(achievementId, steps)</a></code></p>
+<p class="firstline">Sets the steps for the currently authenticated player towards unlocking an achievement. If the steps parameter is less than the current number of steps that the player already gained for the achievement, the achievement is not modified.</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>
+<p class="toc_element">
+  <code><a href="#updateMultiple">updateMultiple(body)</a></code></p>
+<p class="firstline">Updates multiple achievements 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 request is handled 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="setStepsAtLeast">setStepsAtLeast(achievementId, steps)</code>
+  <pre>Sets the steps for the currently authenticated player towards unlocking an achievement. If the steps parameter is less than the current number of steps that the player already gained for the achievement, the achievement is not modified.
+
+Args:
+  achievementId: string, The ID of the achievement used by this method. (required)
+  steps: integer, The minimum value to set the steps to. (required)
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement set steps at least 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#achievementSetStepsAtLeastResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementSetStepsAtLeastResponse.
+  }</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>
+
+<div class="method">
+    <code class="details" id="updateMultiple">updateMultiple(body)</code>
+  <pre>Updates multiple achievements for the currently authenticated player.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a list of achievement update requests.
+    "kind": "games#achievementUpdateMultipleRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateMultipleRequest.
+    "updates": [ # The individual achievement update requests.
+      { # This is a JSON template for a request to update an achievement.
+        "setStepsAtLeastPayload": { # This is a JSON template for the payload to request to increment an achievement. # The payload if an update of type SET_STEPS_AT_LEAST was requested for the achievement.
+          "kind": "games#GamesAchievementSetStepsAtLeast", # Uniquely identifies the type of this resource. Value is always the fixed string games#GamesAchievementSetStepsAtLeast.
+          "steps": 42, # The minimum number of steps for the achievement to be set to.
+        },
+        "updateType": "A String", # The type of update being applied.
+            # Possible values are:
+            # - "REVEAL" - Achievement is revealed.
+            # - "UNLOCK" - Achievement is unlocked.
+            # - "INCREMENT" - Achievement is incremented.
+            # - "SET_STEPS_AT_LEAST" - Achievement progress is set to at least the passed value.
+        "kind": "games#achievementUpdateRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateRequest.
+        "achievementId": "A String", # The achievement this update is being applied to.
+        "incrementPayload": { # This is a JSON template for the payload to request to increment an achievement. # The payload if an update of type INCREMENT was requested for the achievement.
+          "kind": "games#GamesAchievementIncrement", # Uniquely identifies the type of this resource. Value is always the fixed string games#GamesAchievementIncrement.
+          "steps": 42, # The number of steps to be incremented.
+          "requestId": "A String", # The requestId associated with an increment to an achievement.
+        },
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for an achievement unlock response.
+    "kind": "games#achievementUpdateMultipleResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateListResponse.
+    "updatedAchievements": [ # The updated state of the achievements.
+      { # This is a JSON template for an achievement update response.
+        "kind": "games#achievementUpdateResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementUpdateResponse.
+        "achievementId": "A String", # The achievement this update is was applied to.
+        "currentSteps": 42, # The current steps recorded for this achievement if it is incremental.
+        "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).
+        "updateOccurred": True or False, # Whether the requested updates actually affected the achievement.
+        "currentState": "A String", # The current 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/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..b167fc4
--- /dev/null
+++ b/docs/dyn/games_v1.html
@@ -0,0 +1,127 @@
+<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.pushtokens.html">pushtokens()</a></code>
+</p>
+<p class="firstline">Returns the pushtokens 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>
+
+<p class="toc_element">
+  <code><a href="games_v1.turnBasedMatches.html">turnBasedMatches()</a></code>
+</p>
+<p class="firstline">Returns the turnBasedMatches 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..c595455
--- /dev/null
+++ b/docs/dyn/games_v1.players.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="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, language=None)</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>
+<p class="toc_element">
+  <code><a href="#list">list(collection, pageToken=None, language=None, maxResults=None)</a></code></p>
+<p class="firstline">Get the collection of players for the currently 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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(playerId, language=None)</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)
+  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 Player resource.
+    "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+    "displayName": "A String", # The name to display for the player.
+    "name": { # An object representation of the individual components of the player's name.
+      "givenName": "A String", # The given name (first name) of this player.
+      "familyName": "A String", # The family name (last name) of this player.
+    },
+    "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+      "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+      "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+      "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+    },
+    "playerId": "A String", # The ID of the player.
+    "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(collection, pageToken=None, language=None, maxResults=None)</code>
+  <pre>Get the collection of players for the currently authenticated user.
+
+Args:
+  collection: string, Collection of players being retrieved (required)
+    Allowed values
+      playedWith - Retrieve a list of players you have played a multiplayer game (realtime or turn-based) with recently.
+  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 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 third party player list response.
+    "nextPageToken": "A String", # Token corresponding to the next page of results.
+    "items": [ # The players.
+      { # This is a JSON template for a Player resource.
+        "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+        "displayName": "A String", # The name to display for the player.
+        "name": { # An object representation of the individual components of the player's name.
+          "givenName": "A String", # The given name (first name) of this player.
+          "familyName": "A String", # The family name (last name) of this player.
+        },
+        "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+          "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+          "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+          "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+        },
+        "playerId": "A String", # The ID of the player.
+        "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+      },
+    ],
+    "kind": "games#playerListResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#playerListResponse.
+  }</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.pushtokens.html b/docs/dyn/games_v1.pushtokens.html
new file mode 100644
index 0000000..0a5d931
--- /dev/null
+++ b/docs/dyn/games_v1.pushtokens.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="games_v1.html">Google Play Game Services API</a> . <a href="games_v1.pushtokens.html">pushtokens</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#remove">remove(body)</a></code></p>
+<p class="firstline">Removes a push token for the current user and application. Removing a non-existent push token will report success.</p>
+<p class="toc_element">
+  <code><a href="#update">update(body)</a></code></p>
+<p class="firstline">Registers a push token for the current user and application.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="remove">remove(body)</code>
+  <pre>Removes a push token for the current user and application. Removing a non-existent push token will report success.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a push token ID resource.
+  "kind": "games#pushTokenId", # Uniquely identifies the type of this resource. Value is always the fixed string games#pushTokenId.
+  "ios": { # A push token ID for iOS devices.
+    "apns_device_token": "A String", # Device token supplied by an iOS system call to register for remote notifications. Encode this field as web-safe base64.
+    "apns_environment": "A String", # Use SANDBOX during development for the APNS test server at gateway.sandbox.push.apple.com or PRODUCTION for the production server at gateway.push.apple.com.
+  },
+}
+
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(body)</code>
+  <pre>Registers a push token for the current user and application.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a push token resource.
+    "kind": "games#pushToken", # Uniquely identifies the type of this resource. Value is always the fixed string games#pushToken.
+    "clientRevision": "A String", # The revision of the client SDK used by your application, in the same format that's used by revisions.check. Used to send backward compatible messages. Format: [PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are:
+        # - IOS - Push token is for iOS
+    "id": { # This is a JSON template for a push token ID resource. # Unique identifier for this push token.
+      "kind": "games#pushTokenId", # Uniquely identifies the type of this resource. Value is always the fixed string games#pushTokenId.
+      "ios": { # A push token ID for iOS devices.
+        "apns_device_token": "A String", # Device token supplied by an iOS system call to register for remote notifications. Encode this field as web-safe base64.
+        "apns_environment": "A String", # Use SANDBOX during development for the APNS test server at gateway.sandbox.push.apple.com or PRODUCTION for the production server at gateway.push.apple.com.
+      },
+    },
+    "language": "A String", # The preferred language for notifications that are sent using this token.
+  }
+
+</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..0810e20
--- /dev/null
+++ b/docs/dyn/games_v1.revisions.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="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=None)</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=None)</code>
+  <pre>Checks whether the games client is out of date.
+
+Args:
+  clientRevision: string, The revision of the client SDK used by your application. Format:
+[PLATFORM_TYPE]:[VERSION_NUMBER]. Possible values of PLATFORM_TYPE are:
+ 
+- "ANDROID" - Client is running the Android SDK. 
+- "IOS" - Client is running the iOS SDK. 
+- "WEB_APP" - Client is running as a Web App. (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.
+    "apiVersion": "A String", # The version of the API this client revision should use when calling API methods.
+  }</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..510bc9a
--- /dev/null
+++ b/docs/dyn/games_v1.rooms.html
@@ -0,0 +1,971 @@
+<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, language=None)</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, language=None)</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, language=None)</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, language=None)</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.
+      "iosNetworkType": 42, # iOS network type as defined in Reachability.h.
+      "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.
+    },
+    "requestId": "A String", # A randomly generated numeric ID. This number is used at the server to ensure that the request is handled correctly across retries.
+  }
+
+  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 auto-matching 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 (in seconds) that auto-matching 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.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "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 anonymously 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 anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+    "inviterId": "A String", # The ID of the participant that invited the user to the room. Not set if the user was not invited to the room.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="decline">decline(roomId, language=None)</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)
+  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 auto-matching 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 (in seconds) that auto-matching 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.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "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 anonymously 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 anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+    "inviterId": "A String", # The ID of the participant that invited the user to the room. Not set if the user was not invited to the room.
+  }</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, 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 auto-matching 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 (in seconds) that auto-matching 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.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "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 anonymously 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 anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+    "inviterId": "A String", # The ID of the participant that invited the user to the room. Not set if the user was not invited to the room.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="join">join(roomId, body, language=None)</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.
+      "iosNetworkType": 42, # iOS network type as defined in Reachability.h.
+      "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",
+    ],
+  }
+
+  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 auto-matching 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 (in seconds) that auto-matching 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.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "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 anonymously 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 anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+    "inviterId": "A String", # The ID of the participant that invited the user to the room. Not set if the user was not invited to the room.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="leave">leave(roomId, body, language=None)</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.
+      "socketsUsed": True or False, # Whether or not sockets were used.
+      "iosNetworkType": 42, # iOS network type as defined in Reachability.h.
+      "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()
+      "androidNetworkType": 42, # Android network type. http://developer.android.com/reference/android/net/NetworkInfo.html#getType()
+    },
+  }
+
+  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 auto-matching 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 (in seconds) that auto-matching 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.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "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 anonymously 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 anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+    "inviterId": "A String", # The ID of the participant that invited the user to the room. Not set if the user was not invited to the room.
+  }</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 auto-matching 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 (in seconds) that auto-matching 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.
+            "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+            "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 anonymously 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 anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+              "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+              "displayName": "A String", # The name to display for the player.
+              "name": { # An object representation of the individual components of the player's name.
+                "givenName": "A String", # The given name (first name) of this player.
+                "familyName": "A String", # The family name (last name) of this player.
+              },
+              "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+                "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+                "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+                "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+              },
+              "playerId": "A String", # The ID of the player.
+              "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+        "inviterId": "A String", # The ID of the participant that invited the user to the room. Not set if the user was not invited to the room.
+      },
+    ],
+    "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, language=None)</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.
+      },
+    ],
+  }
+
+  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 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 (in seconds) that auto-matching 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.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "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 anonymously 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 anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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..f2c9ae8
--- /dev/null
+++ b/docs/dyn/games_v1.scores.html
@@ -0,0 +1,501 @@
+<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, scoreTag=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.
+NOTE: You cannot ask for 'ALL' leaderboards and 'ALL' timeSpans in the same request; only one parameter may be set to 'ALL'.
+
+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. Can be set to 'ALL' to retrieve data for all leaderboards for this application. (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.
+        },
+        "scoreTag": "A String", # Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+        "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.
+    "player": { # This is a JSON template for a Player resource. # The Player resources for the owner of this score.
+      "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+      "displayName": "A String", # The name to display for the player.
+      "name": { # An object representation of the individual components of the player's name.
+        "givenName": "A String", # The given name (first name) of this player.
+        "familyName": "A String", # The family name (last name) of this player.
+      },
+      "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+        "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+        "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+        "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+      },
+      "playerId": "A String", # The ID of the player.
+      "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+    },
+  }</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.
+        "scoreTag": "A String", # Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+        "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.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+      "scoreTag": "A String", # Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+      "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.
+        "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+        "displayName": "A String", # The name to display for the player.
+        "name": { # An object representation of the individual components of the player's name.
+          "givenName": "A String", # The given name (first name) of this player.
+          "familyName": "A String", # The family name (last name) of this player.
+        },
+        "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+          "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+          "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+          "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+        },
+        "playerId": "A String", # The ID of the player.
+        "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+        "scoreTag": "A String", # Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+        "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.
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents 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.
+      "scoreTag": "A String", # Additional information about the score. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+      "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.
+        "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+        "displayName": "A String", # The name to display for the player.
+        "name": { # An object representation of the individual components of the player's name.
+          "givenName": "A String", # The given name (first name) of this player.
+          "familyName": "A String", # The family name (last name) of this player.
+        },
+        "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+          "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+          "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+          "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+        },
+        "playerId": "A String", # The ID of the player.
+        "avatarImageUrl": "A String", # The base URL for the image that represents 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, scoreTag=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.
+  scoreTag: string, Additional information about the score you're submitting. Values must contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+
+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.
+    "scoreTag": "A String", # Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+    "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.
+        "scoreTag": "A String", # Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+        "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.
+        "scoreTag": "A String", # Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+      },
+    ],
+  }
+
+  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.
+        "scoreTag": "A String", # Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+        "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.
+            "scoreTag": "A String", # Additional information about this score. Values will contain no more than 64 URI-safe characters as defined by section 2.3 of RFC 3986.
+            "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/games_v1.turnBasedMatches.html b/docs/dyn/games_v1.turnBasedMatches.html
new file mode 100644
index 0000000..af5fc84
--- /dev/null
+++ b/docs/dyn/games_v1.turnBasedMatches.html
@@ -0,0 +1,1658 @@
+<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.turnBasedMatches.html">turnBasedMatches</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(matchId)</a></code></p>
+<p class="firstline">Cancel a turn-based match.</p>
+<p class="toc_element">
+  <code><a href="#create">create(body, language=None)</a></code></p>
+<p class="firstline">Create a turn-based match.</p>
+<p class="toc_element">
+  <code><a href="#decline">decline(matchId, language=None)</a></code></p>
+<p class="firstline">Decline an invitation to play a turn-based match.</p>
+<p class="toc_element">
+  <code><a href="#dismiss">dismiss(matchId)</a></code></p>
+<p class="firstline">Dismiss a turn-based match from the match list. The match will no longer show up in the list and will not generate notifications.</p>
+<p class="toc_element">
+  <code><a href="#finish">finish(matchId, body, language=None)</a></code></p>
+<p class="firstline">Finish a turn-based match. Each player should make this call once, after all results are in. Only the player whose turn it is may make the first call to Finish, and can pass in the final match state.</p>
+<p class="toc_element">
+  <code><a href="#get">get(matchId, language=None, includeMatchData=None)</a></code></p>
+<p class="firstline">Get the data for a turn-based match.</p>
+<p class="toc_element">
+  <code><a href="#join">join(matchId, language=None)</a></code></p>
+<p class="firstline">Join a turn-based match.</p>
+<p class="toc_element">
+  <code><a href="#leave">leave(matchId, language=None)</a></code></p>
+<p class="firstline">Leave a turn-based match when it is not the current player's turn, without canceling the match.</p>
+<p class="toc_element">
+  <code><a href="#leaveTurn">leaveTurn(matchId, matchVersion, language=None, pendingParticipantId=None)</a></code></p>
+<p class="firstline">Leave a turn-based match during the current player's turn, without canceling the match.</p>
+<p class="toc_element">
+  <code><a href="#list">list(maxCompletedMatches=None, language=None, pageToken=None, maxResults=None, includeMatchData=None)</a></code></p>
+<p class="firstline">Returns turn-based matches the player is or was involved in.</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="#rematch">rematch(matchId, language=None, requestId=None)</a></code></p>
+<p class="firstline">Create a rematch of a match that was previously completed, with the same participants. This can be called by only one player on a match still in their list; the player must have called Finish first. Returns the newly created match; it will be the caller's turn.</p>
+<p class="toc_element">
+  <code><a href="#sync">sync(maxCompletedMatches=None, language=None, pageToken=None, maxResults=None, includeMatchData=None)</a></code></p>
+<p class="firstline">Returns turn-based matches the player is or was involved in that changed since the last sync call, with the least recent changes coming first. Matches that should be removed from the local cache will have a status of MATCH_DELETED.</p>
+<p class="toc_element">
+  <code><a href="#sync_next">sync_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="#takeTurn">takeTurn(matchId, body, language=None)</a></code></p>
+<p class="firstline">Commit the results of a player turn.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(matchId)</code>
+  <pre>Cancel a turn-based match.
+
+Args:
+  matchId: string, The ID of the match. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(body, language=None)</code>
+  <pre>Create a turn-based match.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a turn-based match creation request.
+    "invitedPlayerIds": [ # The player ids to invite to the match.
+      "A String",
+    ],
+    "kind": "games#turnBasedMatchCreateRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchCreateRequest.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "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.
+    "requestId": "A String", # A randomly generated numeric ID. This number is used at the server to ensure that the request is handled correctly across retries.
+  }
+
+  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 turn-based match resource object.
+    "status": "A String", # The status of the match.
+        # Possible values are:
+        # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+        # - "MATCH_ACTIVE" - The match has started.
+        # - "MATCH_COMPLETE" - The match has finished.
+        # - "MATCH_CANCELED" - The match was canceled.
+        # - "MATCH_EXPIRED" - The match expired due to inactivity.
+        # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+    "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+    "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+    "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchId": "A String", # Globally unique ID for a turn-based match.
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a turn-based match.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "status": "A String", # The status of the participant with respect to the match.
+            # Possible values are:
+            # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+            # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+            # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+            # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+        "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+        },
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        },
+        "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+      },
+    ],
+    "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+    "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 turn-based match modification metadata. # Details about the last update to the match.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+    "results": [ # The results reported for this match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+    "applicationId": "A String", # The ID of the application being played.
+    "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+        # Possible values are:
+        # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+        # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+        # - "USER_TURN" - The user has an action to take in the match.
+        # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+    "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="decline">decline(matchId, language=None)</code>
+  <pre>Decline an invitation to play a turn-based match.
+
+Args:
+  matchId: string, The ID of the match. (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 turn-based match resource object.
+    "status": "A String", # The status of the match.
+        # Possible values are:
+        # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+        # - "MATCH_ACTIVE" - The match has started.
+        # - "MATCH_COMPLETE" - The match has finished.
+        # - "MATCH_CANCELED" - The match was canceled.
+        # - "MATCH_EXPIRED" - The match expired due to inactivity.
+        # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+    "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+    "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+    "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchId": "A String", # Globally unique ID for a turn-based match.
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a turn-based match.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "status": "A String", # The status of the participant with respect to the match.
+            # Possible values are:
+            # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+            # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+            # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+            # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+        "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+        },
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        },
+        "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+      },
+    ],
+    "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+    "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 turn-based match modification metadata. # Details about the last update to the match.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+    "results": [ # The results reported for this match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+    "applicationId": "A String", # The ID of the application being played.
+    "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+        # Possible values are:
+        # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+        # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+        # - "USER_TURN" - The user has an action to take in the match.
+        # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+    "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="dismiss">dismiss(matchId)</code>
+  <pre>Dismiss a turn-based match from the match list. The match will no longer show up in the list and will not generate notifications.
+
+Args:
+  matchId: string, The ID of the match. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="finish">finish(matchId, body, language=None)</code>
+  <pre>Finish a turn-based match. Each player should make this call once, after all results are in. Only the player whose turn it is may make the first call to Finish, and can pass in the final match state.
+
+Args:
+  matchId: string, The ID of the match. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for a turn-based match results object.
+    "kind": "games#turnBasedMatchResults", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchResults.
+    "data": { # This is a JSON template for sending a turn-based match data object. # The final match data.
+      "kind": "games#turnBasedMatchDataRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchDataRequest.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchVersion": 42, # The version of the match being updated.
+    "results": [ # The match results for the participants in the match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+  }
+
+  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 turn-based match resource object.
+    "status": "A String", # The status of the match.
+        # Possible values are:
+        # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+        # - "MATCH_ACTIVE" - The match has started.
+        # - "MATCH_COMPLETE" - The match has finished.
+        # - "MATCH_CANCELED" - The match was canceled.
+        # - "MATCH_EXPIRED" - The match expired due to inactivity.
+        # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+    "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+    "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+    "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchId": "A String", # Globally unique ID for a turn-based match.
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a turn-based match.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "status": "A String", # The status of the participant with respect to the match.
+            # Possible values are:
+            # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+            # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+            # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+            # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+        "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+        },
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        },
+        "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+      },
+    ],
+    "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+    "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 turn-based match modification metadata. # Details about the last update to the match.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+    "results": [ # The results reported for this match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+    "applicationId": "A String", # The ID of the application being played.
+    "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+        # Possible values are:
+        # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+        # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+        # - "USER_TURN" - The user has an action to take in the match.
+        # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+    "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(matchId, language=None, includeMatchData=None)</code>
+  <pre>Get the data for a turn-based match.
+
+Args:
+  matchId: string, The ID of the match. (required)
+  language: string, The preferred language to use for strings returned by this method.
+  includeMatchData: boolean, Get match data along with metadata.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a turn-based match resource object.
+    "status": "A String", # The status of the match.
+        # Possible values are:
+        # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+        # - "MATCH_ACTIVE" - The match has started.
+        # - "MATCH_COMPLETE" - The match has finished.
+        # - "MATCH_CANCELED" - The match was canceled.
+        # - "MATCH_EXPIRED" - The match expired due to inactivity.
+        # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+    "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+    "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+    "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchId": "A String", # Globally unique ID for a turn-based match.
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a turn-based match.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "status": "A String", # The status of the participant with respect to the match.
+            # Possible values are:
+            # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+            # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+            # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+            # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+        "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+        },
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        },
+        "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+      },
+    ],
+    "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+    "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 turn-based match modification metadata. # Details about the last update to the match.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+    "results": [ # The results reported for this match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+    "applicationId": "A String", # The ID of the application being played.
+    "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+        # Possible values are:
+        # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+        # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+        # - "USER_TURN" - The user has an action to take in the match.
+        # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+    "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="join">join(matchId, language=None)</code>
+  <pre>Join a turn-based match.
+
+Args:
+  matchId: string, The ID of the match. (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 turn-based match resource object.
+    "status": "A String", # The status of the match.
+        # Possible values are:
+        # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+        # - "MATCH_ACTIVE" - The match has started.
+        # - "MATCH_COMPLETE" - The match has finished.
+        # - "MATCH_CANCELED" - The match was canceled.
+        # - "MATCH_EXPIRED" - The match expired due to inactivity.
+        # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+    "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+    "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+    "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchId": "A String", # Globally unique ID for a turn-based match.
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a turn-based match.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "status": "A String", # The status of the participant with respect to the match.
+            # Possible values are:
+            # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+            # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+            # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+            # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+        "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+        },
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        },
+        "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+      },
+    ],
+    "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+    "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 turn-based match modification metadata. # Details about the last update to the match.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+    "results": [ # The results reported for this match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+    "applicationId": "A String", # The ID of the application being played.
+    "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+        # Possible values are:
+        # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+        # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+        # - "USER_TURN" - The user has an action to take in the match.
+        # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+    "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="leave">leave(matchId, language=None)</code>
+  <pre>Leave a turn-based match when it is not the current player's turn, without canceling the match.
+
+Args:
+  matchId: string, The ID of the match. (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 turn-based match resource object.
+    "status": "A String", # The status of the match.
+        # Possible values are:
+        # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+        # - "MATCH_ACTIVE" - The match has started.
+        # - "MATCH_COMPLETE" - The match has finished.
+        # - "MATCH_CANCELED" - The match was canceled.
+        # - "MATCH_EXPIRED" - The match expired due to inactivity.
+        # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+    "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+    "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+    "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchId": "A String", # Globally unique ID for a turn-based match.
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a turn-based match.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "status": "A String", # The status of the participant with respect to the match.
+            # Possible values are:
+            # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+            # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+            # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+            # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+        "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+        },
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        },
+        "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+      },
+    ],
+    "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+    "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 turn-based match modification metadata. # Details about the last update to the match.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+    "results": [ # The results reported for this match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+    "applicationId": "A String", # The ID of the application being played.
+    "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+        # Possible values are:
+        # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+        # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+        # - "USER_TURN" - The user has an action to take in the match.
+        # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+    "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="leaveTurn">leaveTurn(matchId, matchVersion, language=None, pendingParticipantId=None)</code>
+  <pre>Leave a turn-based match during the current player's turn, without canceling the match.
+
+Args:
+  matchId: string, The ID of the match. (required)
+  matchVersion: integer, The version of the match being updated. (required)
+  language: string, The preferred language to use for strings returned by this method.
+  pendingParticipantId: string, The ID of another participant who should take their turn next. If not set, the match will wait for other player(s) to join via automatching; this is only valid if automatch criteria is set on the match with remaining slots for automatched players.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a turn-based match resource object.
+    "status": "A String", # The status of the match.
+        # Possible values are:
+        # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+        # - "MATCH_ACTIVE" - The match has started.
+        # - "MATCH_COMPLETE" - The match has finished.
+        # - "MATCH_CANCELED" - The match was canceled.
+        # - "MATCH_EXPIRED" - The match expired due to inactivity.
+        # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+    "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+    "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+    "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchId": "A String", # Globally unique ID for a turn-based match.
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a turn-based match.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "status": "A String", # The status of the participant with respect to the match.
+            # Possible values are:
+            # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+            # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+            # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+            # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+        "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+        },
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        },
+        "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+      },
+    ],
+    "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+    "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 turn-based match modification metadata. # Details about the last update to the match.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+    "results": [ # The results reported for this match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+    "applicationId": "A String", # The ID of the application being played.
+    "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+        # Possible values are:
+        # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+        # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+        # - "USER_TURN" - The user has an action to take in the match.
+        # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+    "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(maxCompletedMatches=None, language=None, pageToken=None, maxResults=None, includeMatchData=None)</code>
+  <pre>Returns turn-based matches the player is or was involved in.
+
+Args:
+  maxCompletedMatches: integer, The maximum number of completed or canceled matches to return in the response. If not set, all matches returned could be completed or canceled.
+  language: string, The preferred language to use for strings returned by this method.
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of matches to return in the response, used for paging. For any response, the actual number of matches to return may be less than the specified maxResults.
+  includeMatchData: boolean, True if match data should be returned in the response. Note that not all data will necessarily be returned if include_match_data is true; the server may decide to only return data for some of the matches to limit download size for the client. The remainder of the data for these matches will be retrievable on request.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of turn-based matches.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "items": [ # The matches.
+      { # This is a JSON template for a turn-based match resource object.
+        "status": "A String", # The status of the match.
+            # Possible values are:
+            # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+            # - "MATCH_ACTIVE" - The match has started.
+            # - "MATCH_COMPLETE" - The match has finished.
+            # - "MATCH_CANCELED" - The match was canceled.
+            # - "MATCH_EXPIRED" - The match expired due to inactivity.
+            # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+        "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+        "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+        "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+          "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+          "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+        },
+        "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+          "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+          "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+          "participantId": "A String", # The ID of the participant that modified the match.
+        },
+        "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+        "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+          "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+          "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+          "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+        },
+        "matchId": "A String", # Globally unique ID for a turn-based match.
+        "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+        "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+          { # This is a JSON template for a participant in a turn-based match.
+            "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+            "status": "A String", # The status of the participant with respect to the match.
+                # Possible values are:
+                # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+                # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+                # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+                # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+                # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+                # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+                # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+            "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+            "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+            },
+            "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+              "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+              "displayName": "A String", # The name to display for the player.
+              "name": { # An object representation of the individual components of the player's name.
+                "givenName": "A String", # The given name (first name) of this player.
+                "familyName": "A String", # The family name (last name) of this player.
+              },
+              "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+                "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+                "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+                "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+              },
+              "playerId": "A String", # The ID of the player.
+              "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+            },
+            "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+          },
+        ],
+        "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+        "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 turn-based match modification metadata. # Details about the last update to the match.
+          "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+          "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+          "participantId": "A String", # The ID of the participant that modified the match.
+        },
+        "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+          "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+          "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+          "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+        },
+        "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+        "results": [ # The results reported for this match.
+          { # This is a JSON template for a result for a match participant.
+            "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+            "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+            "participantId": "A String", # The ID of the participant.
+            "result": "A String", # The result of the participant for this match.
+                # Possible values are:
+                # - "MATCH_RESULT_WIN" - The participant won the match.
+                # - "MATCH_RESULT_LOSS" - The participant lost the match.
+                # - "MATCH_RESULT_TIE" - The participant tied the match.
+                # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+                # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+                # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+          },
+        ],
+        "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+        "applicationId": "A String", # The ID of the application being played.
+        "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+            # Possible values are:
+            # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+            # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+            # - "USER_TURN" - The user has an action to take in the match.
+            # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+        "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+      },
+    ],
+    "kind": "games#turnBasedMatchList", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchList.
+  }</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="rematch">rematch(matchId, language=None, requestId=None)</code>
+  <pre>Create a rematch of a match that was previously completed, with the same participants. This can be called by only one player on a match still in their list; the player must have called Finish first. Returns the newly created match; it will be the caller's turn.
+
+Args:
+  matchId: string, The ID of the match. (required)
+  language: string, The preferred language to use for strings returned by this method.
+  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 request is handled correctly across retries.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a rematch response.
+    "rematch": { # This is a JSON template for a turn-based match resource object. # The newly created match; a rematch of the old match with the same participants.
+      "status": "A String", # The status of the match.
+          # Possible values are:
+          # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+          # - "MATCH_ACTIVE" - The match has started.
+          # - "MATCH_COMPLETE" - The match has finished.
+          # - "MATCH_CANCELED" - The match was canceled.
+          # - "MATCH_EXPIRED" - The match expired due to inactivity.
+          # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+      "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+      "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+      "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+        "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+        "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+      },
+      "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+        "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+        "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+        "participantId": "A String", # The ID of the participant that modified the match.
+      },
+      "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+      "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+        "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+        "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+        "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+      },
+      "matchId": "A String", # Globally unique ID for a turn-based match.
+      "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+      "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+        { # This is a JSON template for a participant in a turn-based match.
+          "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+          "status": "A String", # The status of the participant with respect to the match.
+              # Possible values are:
+              # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+              # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+              # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+              # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+              # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+              # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+              # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+          "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+          "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+          },
+          "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+            "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+            "displayName": "A String", # The name to display for the player.
+            "name": { # An object representation of the individual components of the player's name.
+              "givenName": "A String", # The given name (first name) of this player.
+              "familyName": "A String", # The family name (last name) of this player.
+            },
+            "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+              "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+              "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+              "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+            },
+            "playerId": "A String", # The ID of the player.
+            "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          },
+          "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+        },
+      ],
+      "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+      "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 turn-based match modification metadata. # Details about the last update to the match.
+        "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+        "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+        "participantId": "A String", # The ID of the participant that modified the match.
+      },
+      "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+        "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+        "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+        "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+      },
+      "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+      "results": [ # The results reported for this match.
+        { # This is a JSON template for a result for a match participant.
+          "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+          "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+          "participantId": "A String", # The ID of the participant.
+          "result": "A String", # The result of the participant for this match.
+              # Possible values are:
+              # - "MATCH_RESULT_WIN" - The participant won the match.
+              # - "MATCH_RESULT_LOSS" - The participant lost the match.
+              # - "MATCH_RESULT_TIE" - The participant tied the match.
+              # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+              # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+              # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+        },
+      ],
+      "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+      "applicationId": "A String", # The ID of the application being played.
+      "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+          # Possible values are:
+          # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+          # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+          # - "USER_TURN" - The user has an action to take in the match.
+          # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+      "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+    },
+    "kind": "games#turnBasedMatchRematch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchRematch.
+    "previousMatch": { # This is a JSON template for a turn-based match resource object. # The old match that the rematch was created from; will be updated such that the rematchId field will point at the new match.
+      "status": "A String", # The status of the match.
+          # Possible values are:
+          # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+          # - "MATCH_ACTIVE" - The match has started.
+          # - "MATCH_COMPLETE" - The match has finished.
+          # - "MATCH_CANCELED" - The match was canceled.
+          # - "MATCH_EXPIRED" - The match expired due to inactivity.
+          # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+      "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+      "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+      "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+        "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+        "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+      },
+      "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+        "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+        "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+        "participantId": "A String", # The ID of the participant that modified the match.
+      },
+      "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+      "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+        "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+        "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+        "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+      },
+      "matchId": "A String", # Globally unique ID for a turn-based match.
+      "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+      "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+        { # This is a JSON template for a participant in a turn-based match.
+          "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+          "status": "A String", # The status of the participant with respect to the match.
+              # Possible values are:
+              # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+              # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+              # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+              # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+              # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+              # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+              # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+          "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+          "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+          },
+          "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+            "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+            "displayName": "A String", # The name to display for the player.
+            "name": { # An object representation of the individual components of the player's name.
+              "givenName": "A String", # The given name (first name) of this player.
+              "familyName": "A String", # The family name (last name) of this player.
+            },
+            "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+              "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+              "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+              "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+            },
+            "playerId": "A String", # The ID of the player.
+            "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+          },
+          "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+        },
+      ],
+      "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+      "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 turn-based match modification metadata. # Details about the last update to the match.
+        "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+        "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+        "participantId": "A String", # The ID of the participant that modified the match.
+      },
+      "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+        "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+        "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+        "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+      },
+      "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+      "results": [ # The results reported for this match.
+        { # This is a JSON template for a result for a match participant.
+          "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+          "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+          "participantId": "A String", # The ID of the participant.
+          "result": "A String", # The result of the participant for this match.
+              # Possible values are:
+              # - "MATCH_RESULT_WIN" - The participant won the match.
+              # - "MATCH_RESULT_LOSS" - The participant lost the match.
+              # - "MATCH_RESULT_TIE" - The participant tied the match.
+              # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+              # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+              # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+        },
+      ],
+      "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+      "applicationId": "A String", # The ID of the application being played.
+      "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+          # Possible values are:
+          # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+          # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+          # - "USER_TURN" - The user has an action to take in the match.
+          # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+      "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sync">sync(maxCompletedMatches=None, language=None, pageToken=None, maxResults=None, includeMatchData=None)</code>
+  <pre>Returns turn-based matches the player is or was involved in that changed since the last sync call, with the least recent changes coming first. Matches that should be removed from the local cache will have a status of MATCH_DELETED.
+
+Args:
+  maxCompletedMatches: integer, The maximum number of completed or canceled matches to return in the response. If not set, all matches returned could be completed or canceled.
+  language: string, The preferred language to use for strings returned by this method.
+  pageToken: string, The token returned by the previous request.
+  maxResults: integer, The maximum number of matches to return in the response, used for paging. For any response, the actual number of matches to return may be less than the specified maxResults.
+  includeMatchData: boolean, True if match data should be returned in the response. Note that not all data will necessarily be returned if include_match_data is true; the server may decide to only return data for some of the matches to limit download size for the client. The remainder of the data for these matches will be retrievable on request.
+
+Returns:
+  An object of the form:
+
+    { # This is a JSON template for a list of turn-based matches returned from a sync.
+    "nextPageToken": "A String", # The pagination token for the next page of results.
+    "items": [ # The matches.
+      { # This is a JSON template for a turn-based match resource object.
+        "status": "A String", # The status of the match.
+            # Possible values are:
+            # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+            # - "MATCH_ACTIVE" - The match has started.
+            # - "MATCH_COMPLETE" - The match has finished.
+            # - "MATCH_CANCELED" - The match was canceled.
+            # - "MATCH_EXPIRED" - The match expired due to inactivity.
+            # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+        "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+        "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+        "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+          "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+          "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+        },
+        "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+          "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+          "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+          "participantId": "A String", # The ID of the participant that modified the match.
+        },
+        "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+        "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+          "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+          "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+          "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+        },
+        "matchId": "A String", # Globally unique ID for a turn-based match.
+        "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+        "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+          { # This is a JSON template for a participant in a turn-based match.
+            "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+            "status": "A String", # The status of the participant with respect to the match.
+                # Possible values are:
+                # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+                # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+                # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+                # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+                # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+                # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+                # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+            "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+            "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+            },
+            "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+              "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+              "displayName": "A String", # The name to display for the player.
+              "name": { # An object representation of the individual components of the player's name.
+                "givenName": "A String", # The given name (first name) of this player.
+                "familyName": "A String", # The family name (last name) of this player.
+              },
+              "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+                "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+                "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+                "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+              },
+              "playerId": "A String", # The ID of the player.
+              "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+            },
+            "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+          },
+        ],
+        "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+        "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 turn-based match modification metadata. # Details about the last update to the match.
+          "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+          "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+          "participantId": "A String", # The ID of the participant that modified the match.
+        },
+        "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+          "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+          "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+          "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+        },
+        "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+        "results": [ # The results reported for this match.
+          { # This is a JSON template for a result for a match participant.
+            "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+            "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+            "participantId": "A String", # The ID of the participant.
+            "result": "A String", # The result of the participant for this match.
+                # Possible values are:
+                # - "MATCH_RESULT_WIN" - The participant won the match.
+                # - "MATCH_RESULT_LOSS" - The participant lost the match.
+                # - "MATCH_RESULT_TIE" - The participant tied the match.
+                # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+                # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+                # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+          },
+        ],
+        "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+        "applicationId": "A String", # The ID of the application being played.
+        "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+            # Possible values are:
+            # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+            # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+            # - "USER_TURN" - The user has an action to take in the match.
+            # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+        "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+      },
+    ],
+    "kind": "games#turnBasedMatchSync", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchSync.
+    "moreAvailable": True or False, # True if there were more matches available to fetch at the time the response was generated (which were not returned due to page size limits.)
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="sync_next">sync_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="takeTurn">takeTurn(matchId, body, language=None)</code>
+  <pre>Commit the results of a player turn.
+
+Args:
+  matchId: string, The ID of the match. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # This is a JSON template for the object representing a turn.
+    "kind": "games#turnBasedMatchTurn", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchTurn.
+    "results": [ # The match results for the participants in the match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "data": { # This is a JSON template for sending a turn-based match data object. # The shared game state data after the turn is over.
+      "kind": "games#turnBasedMatchDataRequest", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchDataRequest.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "pendingParticipantId": "A String", # The ID of the participant who should take their turn next. May be set to the current player's participant ID to update match state without changing the turn. If not set, the match will wait for other player(s) to join via automatching; this is only valid if automatch criteria is set on the match with remaining slots for automatched players.
+  }
+
+  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 turn-based match resource object.
+    "status": "A String", # The status of the match.
+        # Possible values are:
+        # - "MATCH_AUTO_MATCHING" - One or more slots need to be filled by auto-matching; the match cannot be established until they are filled.
+        # - "MATCH_ACTIVE" - The match has started.
+        # - "MATCH_COMPLETE" - The match has finished.
+        # - "MATCH_CANCELED" - The match was canceled.
+        # - "MATCH_EXPIRED" - The match expired due to inactivity.
+        # - "MATCH_DELETED" - The match should no longer be shown on the client. Returned only for tombstones for matches when sync is called.
+    "withParticipantId": "A String", # The ID of another participant in the match that can be used when describing the participants the user is playing with.
+    "kind": "games#turnBasedMatch", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatch.
+    "autoMatchingCriteria": { # This is a JSON template for an turn-based auto-match criteria object. # Criteria for auto-matching players into this match.
+      "kind": "games#turnBasedAutoMatchingCriteria", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedAutoMatchingCriteria.
+      "minAutoMatchingPlayers": 42, # The minimum number of players that should be added to the match 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 match by auto-matching.
+    },
+    "creationDetails": { # This is a JSON template for turn-based match modification metadata. # Details about the match creation.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "inviterId": "A String", # The ID of the participant that invited the user to the match. Not set if the user was not invited to the match.
+    "data": { # This is a JSON template for a turn-based match data object. # The data / game state for this match.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "matchId": "A String", # Globally unique ID for a turn-based match.
+    "matchVersion": 42, # The version of this match: an increasing counter, used to avoid out-of-date updates to the match.
+    "participants": [ # The participants involved in the match, along with their statuses. Includes participants who have left or declined invitations.
+      { # This is a JSON template for a participant in a turn-based match.
+        "autoMatched": True or False, # True if this participant was auto-matched with the requesting player.
+        "status": "A String", # The status of the participant with respect to the match.
+            # Possible values are:
+            # - "PARTICIPANT_NOT_INVITED_YET" - The participant is slated to be invited to the match, but the invitation has not been sent; the invite will be sent when it becomes their turn.
+            # - "PARTICIPANT_INVITED" - The participant has been invited to join the match, but has not yet responded.
+            # - "PARTICIPANT_JOINED" - The participant has joined the match (either after creating it or accepting an invitation.)
+            # - "PARTICIPANT_DECLINED" - The participant declined an invitation to join the match.
+            # - "PARTICIPANT_LEFT" - The participant joined the match and then left it.
+            # - "PARTICIPANT_FINISHED" - The participant finished playing in the match.
+            # - "PARTICIPANT_UNRESPONSIVE" - The participant did not take their turn in the allotted time.
+        "kind": "games#turnBasedMatchParticipant", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchParticipant.
+        "autoMatchedPlayer": { # This is a JSON template for an anonymous player # Information about a player that has been anonymously 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.
+        },
+        "player": { # This is a JSON template for a Player resource. # Information about the player. Not populated if this player was anonymously auto-matched against the requesting player. (Either player or autoMatchedPlayer will be set.)
+          "kind": "games#player", # Uniquely identifies the type of this resource. Value is always the fixed string games#player.
+          "displayName": "A String", # The name to display for the player.
+          "name": { # An object representation of the individual components of the player's name.
+            "givenName": "A String", # The given name (first name) of this player.
+            "familyName": "A String", # The family name (last name) of this player.
+          },
+          "lastPlayedWith": { # This is a JSON template for 3P metadata about a player playing a game. # Details about the last time this player played a multiplayer game with the currently authenticated player. Populated for PLAYED_WITH player collection members.
+            "autoMatched": True or False, # True if the player was auto-matched with the currently authenticated user.
+            "kind": "games#played", # Uniquely identifies the type of this resource. Value is always the fixed string games#played.
+            "timeMillis": "A String", # The last time the player played the game in milliseconds since the epoch in UTC.
+          },
+          "playerId": "A String", # The ID of the player.
+          "avatarImageUrl": "A String", # The base URL for the image that represents the player.
+        },
+        "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts.
+      },
+    ],
+    "matchNumber": 42, # The number of the match in a chain of rematches. Will be set to 1 for the first match and incremented by 1 for each rematch.
+    "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 turn-based match modification metadata. # Details about the last update to the match.
+      "kind": "games#turnBasedMatchModification", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchModification.
+      "modifiedTimestampMillis": "A String", # The timestamp at which they modified the match, in milliseconds since the epoch in UTC.
+      "participantId": "A String", # The ID of the participant that modified the match.
+    },
+    "previousMatchData": { # This is a JSON template for a turn-based match data object. # The data / game state for the previous match; set for the first turn of rematches only.
+      "dataAvailable": True or False, # True if this match has data available but it wasn't returned in a list response; fetching the match individually will retrieve this data.
+      "kind": "games#turnBasedMatchData", # Uniquely identifies the type of this resource. Value is always the fixed string games#turnBasedMatchData.
+      "data": "A String", # The byte representation of the data (limited to 128 kB), as a Base64-encoded string with the URL_SAFE encoding option.
+    },
+    "rematchId": "A String", # The ID of a rematch of this match. Only set for completed matches that have been rematched.
+    "results": [ # The results reported for this match.
+      { # This is a JSON template for a result for a match participant.
+        "kind": "games#participantResult", # Uniquely identifies the type of this resource. Value is always the fixed string games#participantResult.
+        "placing": 42, # The placement or ranking of the participant in the match results; a number from one to the number of participants in the match. Multiple participants may have the same placing value in case of a type.
+        "participantId": "A String", # The ID of the participant.
+        "result": "A String", # The result of the participant for this match.
+            # Possible values are:
+            # - "MATCH_RESULT_WIN" - The participant won the match.
+            # - "MATCH_RESULT_LOSS" - The participant lost the match.
+            # - "MATCH_RESULT_TIE" - The participant tied the match.
+            # - "MATCH_RESULT_NONE" - There was no winner for the match (nobody wins or loses this kind of game.)
+            # - "MATCH_RESULT_DISCONNECT" - The participant disconnected / left during the match.
+            # - "MATCH_RESULT_DISAGREED" - Different clients reported different results for this participant.
+      },
+    ],
+    "pendingParticipantId": "A String", # The ID of the participant that is taking a turn.
+    "applicationId": "A String", # The ID of the application being played.
+    "userMatchStatus": "A String", # The status of the current user in the match. Derived from the match type, match status, the user's participant status, and the pending participant for the match.
+        # Possible values are:
+        # - "USER_INVITED" - The user has been invited to join the match and has not responded yet.
+        # - "USER_AWAITING_TURN" - The user is waiting for their turn.
+        # - "USER_TURN" - The user has an action to take in the match.
+        # - "USER_MATCH_COMPLETED" - The match has ended (it is completed, canceled, or expired.)
+    "description": "A String", # This short description is generated by our servers based on turn state and is localized and worded relative to the player requesting the match. It is intended to be displayed when the match is shown in a list.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.advertisers.html b/docs/dyn/gan_v1beta1.advertisers.html
new file mode 100644
index 0000000..0ff960c
--- /dev/null
+++ b/docs/dyn/gan_v1beta1.advertisers.html
@@ -0,0 +1,219 @@
+<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="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.advertisers.html">advertisers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(role, roleId, advertiserId=None)</a></code></p>
+<p class="firstline">Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only publishers can lookup advertisers. Advertisers can request information about themselves by omitting the advertiserId query parameter.</p>
+<p class="toc_element">
+  <code><a href="#list">list(role, roleId, relationshipStatus=None, pageToken=None, minNinetyDayEpc=None, advertiserCategory=None, maxResults=None, minSevenDayEpc=None, minPayoutRank=None)</a></code></p>
+<p class="firstline">Retrieves data about all advertisers that the requesting advertiser/publisher has access 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="get">get(role, roleId, advertiserId=None)</code>
+  <pre>Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only publishers can lookup advertisers. Advertisers can request information about themselves by omitting the advertiserId query parameter.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  advertiserId: string, The ID of the advertiser to look up. Optional.
+
+Returns:
+  An object of the form:
+
+    { # An AdvertiserResource.
+    "category": "A String", # Category that this advertiser belongs to. A valid list of categories can be found here: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107581
+    "contactEmail": "A String", # Email that this advertiser would like publishers to contact them with.
+    "kind": "gan#advertiser", # The kind for an advertiser.
+    "siteUrl": "A String", # URL of the website this advertiser advertises from.
+    "contactPhone": "A String", # Phone that this advertiser would like publishers to contact them with.
+    "description": "A String", # Description of the website the advertiser advertises from.
+    "merchantCenterIds": [ # List of merchant center ids for this advertiser
+      "A String",
+    ],
+    "defaultLinkId": "A String", # The default link id for this advertiser.
+    "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days. This value should be multiplied by 100 at the time of display.
+      "amount": 3.14, # The amount of money.
+      "currencyCode": "A String", # The 3-letter code of the currency in question.
+    },
+    "commissionDuration": 42, # The longest possible length of a commission (how long the cookies on the customer's browser last before they expire).
+    "status": "A String", # The status of the requesting publisher's relationship this advertiser.
+    "payoutRank": "A String", # A rank based on commissions paid to publishers over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
+    "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months. This value should be multiplied by 100 at the time of display.
+      "amount": 3.14, # The amount of money.
+      "currencyCode": "A String", # The 3-letter code of the currency in question.
+    },
+    "allowPublisherCreatedLinks": True or False, # True if the advertiser allows publisher created links, otherwise false.
+    "item": # Object with schema name: Advertiser # The requested advertiser.
+    "joinDate": "A String", # Date that this advertiser was approved as a Google Affiliate Network advertiser.
+    "logoUrl": "A String", # URL to the logo this advertiser uses on the Google Affiliate Network.
+    "redirectDomains": [ # List of redirect URLs for this advertiser
+      "A String",
+    ],
+    "id": "A String", # The ID of this advertiser.
+    "productFeedsEnabled": True or False, # Allows advertisers to submit product listings to Google Product Search.
+    "name": "A String", # The name of this advertiser.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(role, roleId, relationshipStatus=None, pageToken=None, minNinetyDayEpc=None, advertiserCategory=None, maxResults=None, minSevenDayEpc=None, minPayoutRank=None)</code>
+  <pre>Retrieves data about all advertisers that the requesting advertiser/publisher has access to.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  relationshipStatus: string, Filters out all advertisers for which do not have the given relationship status with the requesting publisher.
+    Allowed values
+      approved - An advertiser that has approved your application.
+      available - An advertiser program that's accepting new publishers.
+      deactivated - Deactivated means either the advertiser has removed you from their program, or it could also mean that you chose to remove yourself from the advertiser's program.
+      declined - An advertiser that did not approve your application.
+      pending - An advertiser program that you've already applied to, but they haven't yet decided to approve or decline your application.
+  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
+  minNinetyDayEpc: number, Filters out all advertisers that have a ninety day EPC average lower than the given value (inclusive). Min value: 0.0. Optional.
+  advertiserCategory: string, Caret(^) delimted list of advertiser categories. Valid categories are defined here: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107581. Filters out all advertisers not in one of the given advertiser categories. Optional.
+  maxResults: integer, Max number of items to return in this page. Optional. Defaults to 20.
+  minSevenDayEpc: number, Filters out all advertisers that have a seven day EPC average lower than the given value (inclusive). Min value: 0.0. Optional.
+  minPayoutRank: integer, A value between 1 and 4, where 1 represents the quartile of advertisers with the lowest ranks and 4 represents the quartile of advertisers with the highest ranks. Filters out all advertisers with a lower rank than the given quartile. For example if a 2 was given only advertisers with a payout rank of 25 or higher would be included. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The 'pageToken' to pass to the next request to get the next page, if there are more to retrieve.
+    "items": [ # The advertiser list.
+      { # An AdvertiserResource.
+        "category": "A String", # Category that this advertiser belongs to. A valid list of categories can be found here: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107581
+        "contactEmail": "A String", # Email that this advertiser would like publishers to contact them with.
+        "kind": "gan#advertiser", # The kind for an advertiser.
+        "siteUrl": "A String", # URL of the website this advertiser advertises from.
+        "contactPhone": "A String", # Phone that this advertiser would like publishers to contact them with.
+        "description": "A String", # Description of the website the advertiser advertises from.
+        "merchantCenterIds": [ # List of merchant center ids for this advertiser
+          "A String",
+        ],
+        "defaultLinkId": "A String", # The default link id for this advertiser.
+        "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days. This value should be multiplied by 100 at the time of display.
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "commissionDuration": 42, # The longest possible length of a commission (how long the cookies on the customer's browser last before they expire).
+        "status": "A String", # The status of the requesting publisher's relationship this advertiser.
+        "payoutRank": "A String", # A rank based on commissions paid to publishers over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
+        "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months. This value should be multiplied by 100 at the time of display.
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "allowPublisherCreatedLinks": True or False, # True if the advertiser allows publisher created links, otherwise false.
+        "item": # Object with schema name: Advertiser # The requested advertiser.
+        "joinDate": "A String", # Date that this advertiser was approved as a Google Affiliate Network advertiser.
+        "logoUrl": "A String", # URL to the logo this advertiser uses on the Google Affiliate Network.
+        "redirectDomains": [ # List of redirect URLs for this advertiser
+          "A String",
+        ],
+        "id": "A String", # The ID of this advertiser.
+        "productFeedsEnabled": True or False, # Allows advertisers to submit product listings to Google Product Search.
+        "name": "A String", # The name of this advertiser.
+      },
+    ],
+    "kind": "gan#advertisers", # The kind for a page of advertisers.
+  }</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/gan_v1beta1.ccOffers.html b/docs/dyn/gan_v1beta1.ccOffers.html
new file mode 100644
index 0000000..a40868b
--- /dev/null
+++ b/docs/dyn/gan_v1beta1.ccOffers.html
@@ -0,0 +1,197 @@
+<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="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.ccOffers.html">ccOffers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(publisher, advertiser=None, projection=None)</a></code></p>
+<p class="firstline">Retrieves credit card offers for the given publisher.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(publisher, advertiser=None, projection=None)</code>
+  <pre>Retrieves credit card offers for the given publisher.
+
+Args:
+  publisher: string, The ID of the publisher in question. (required)
+  advertiser: string, The advertiser ID of a card issuer whose offers to include. Optional, may be repeated. (repeated)
+  projection: string, The set of fields to return.
+    Allowed values
+      full - Include all offer fields. This is the default.
+      summary - Include only the basic fields needed to display an offer.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The credit card offers.
+      { # A credit card offer. There are many possible result fields. We provide two different views of the data, or "projections." The "full" projection includes every result field. And the "summary" projection, which is the default, includes a smaller subset of the fields. The fields included in the summary projection are marked as such in their descriptions.
+        "luggageInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
+        "creditLimitMin": 3.14, # The low end for credit limits the issuer imposes on recipients of this card.
+        "cardName": "A String", # The issuer's name for the card, including any trademark or service mark designators. A summary field.
+        "creditLimitMax": 3.14, # The high end for credit limits the issuer imposes on recipients of this card.
+        "gracePeriodDisplay": "A String", # Text describing the grace period before finance charges apply. A summary field.
+        "offerId": "A String", # This offer's ID. A summary field.
+        "rewardUnit": "A String", # For cards with rewards programs, the unit of reward. For example, miles, cash back, points.
+        "minPurchaseRate": 3.14, # The lowest interest rate the issuer charges on this card. Expressed as an absolute number, not as a percentage.
+        "cardBenefits": [ # A list of what the issuer thinks are the most important benefits of the card. Usually summarizes the rewards program, if there is one. A summary field.
+          "A String",
+        ],
+        "rewards": [ # For cards with rewards programs, detailed rules about how the program works.
+          {
+            "category": "A String", # The kind of purchases covered by this rule.
+            "minRewardTier": 3.14, # The minimum purchase amount in the given category before this rule applies.
+            "maxRewardTier": 3.14, # The maximum purchase amount in the given category for this rule to apply.
+            "expirationMonths": 3.14, # How long rewards granted by this rule last.
+            "amount": 3.14, # The number of units rewarded per purchase dollar.
+            "additionalDetails": "A String", # Other limits, for example, if this rule only applies during an introductory period.
+          },
+        ],
+        "offersImmediateCashReward": True or False, # Whether a cash reward program lets you get cash back sooner than end of year or other longish period.
+        "travelInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
+        "returnedPaymentFee": "A String", # Text describing the fee for a payment that doesn't clear. A summary field.
+        "kind": "gan#ccOffer", # The kind for one credit card offer. A summary field.
+        "issuer": "A String", # Name of card issuer. A summary field.
+        "maxPurchaseRate": 3.14, # The highest interest rate the issuer charges on this card. Expressed as an absolute number, not as a percentage.
+        "minimumFinanceCharge": "A String", # Text describing how much missing the grace period will cost.
+        "existingCustomerOnly": True or False, # Whether this card is only available to existing customers of the issuer.
+        "annualFeeDisplay": "A String", # Text describing the annual fee, including any difference for the first year. A summary field.
+        "initialSetupAndProcessingFee": "A String", # Fee for setting up the card.
+        "issuerId": "A String", # The Google Affiliate Network ID of the advertiser making this offer.
+        "purchaseRateAdditionalDetails": "A String", # Text describing any additional details for the purchase rate. A summary field.
+        "prohibitedCategories": [ # Categories in which the issuer does not wish the card to be displayed. A summary field.
+          "A String",
+        ],
+        "fraudLiability": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
+        "cashAdvanceTerms": "A String", # Text describing the terms for cash advances. A summary field.
+        "landingPageUrl": "A String", # The link to the issuer's page for this card. A summary field.
+        "introCashAdvanceTerms": "A String", # Text describing the terms for introductory period cash advances. A summary field.
+        "rewardsExpire": True or False, # Whether accumulated rewards ever expire.
+        "introPurchaseTerms": "A String", # Text describing the terms for introductory period purchases. A summary field.
+        "defaultFees": [ # Fees for defaulting on your payments.
+          {
+            "category": "A String", # The type of charge, for example Purchases.
+            "maxRate": 3.14, # The highest rate the issuer may charge for defaulting on debt in this category. Expressed as an absolute number, not as a percentage.
+            "minRate": 3.14, # The lowest rate the issuer may charge for defaulting on debt in this category. Expressed as an absolute number, not as a percentage.
+            "rateType": "A String", # Fixed or variable.
+          },
+        ],
+        "extendedWarranty": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
+        "emergencyInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
+        "firstYearAnnualFee": 3.14, # The annual fee for the first year, if different from the ongoing fee. Optional.
+        "trackingUrl": "A String", # The link to ping to register a click on this offer. A summary field.
+        "latePaymentFee": "A String", # Text describing how much a late payment will cost, eg "up to $35." A summary field.
+        "overLimitFee": "A String", # Fee for exceeding the card's charge limit.
+        "cardType": "A String", # What kind of credit card this is, for example secured or unsecured.
+        "approvedCategories": [ # Possible categories for this card, eg "Low Interest" or "Good." A summary field.
+          "A String",
+        ],
+        "rewardPartner": "A String", # The company that redeems the rewards, if different from the issuer.
+        "introBalanceTransferTerms": "A String", # Text describing the terms for introductory period balance transfers. A summary field.
+        "foreignCurrencyTransactionFee": "A String", # Fee for each transaction involving a foreign currency.
+        "annualFee": 3.14, # The ongoing annual fee, in dollars.
+        "issuerWebsite": "A String", # The generic link to the issuer's site.
+        "variableRatesUpdateFrequency": "A String", # How often variable rates are updated.
+        "carRentalInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
+        "additionalCardBenefits": [ # More marketing copy about the card's benefits. A summary field.
+          "A String",
+        ],
+        "ageMinimum": 3.14, # The youngest a recipient of this card may be.
+        "balanceComputationMethod": "A String", # Text describing how the balance is computed. A summary field.
+        "aprDisplay": "A String", # Text describing the purchase APR. A summary field.
+        "additionalCardHolderFee": "A String", # Any extra fees levied on card holders.
+        "variableRatesLastUpdated": "A String", # When variable rates were last updated.
+        "network": "A String", # Which network (eg Visa) the card belongs to. A summary field.
+        "purchaseRateType": "A String", # Fixed or variable.
+        "statementCopyFee": "A String", # Fee for requesting a copy of your statement.
+        "rewardsHaveBlackoutDates": True or False, # For airline miles rewards, tells whether blackout dates apply to the miles.
+        "creditRatingDisplay": "A String", # Text describing the credit ratings required for recipients of this card, for example "Excellent/Good." A summary field.
+        "flightAccidentInsurance": "A String", # If you get coverage when you use the card for the given activity, this field describes it.
+        "annualRewardMaximum": 3.14, # The largest number of units you may accumulate in a year.
+        "balanceTransferTerms": "A String", # Text describing the terms for balance transfers. A summary field.
+        "bonusRewards": [ # For cards with rewards programs, extra circumstances whereby additional rewards may be granted.
+          {
+            "amount": 3.14, # How many units of reward will be granted.
+            "details": "A String", # The circumstances under which this rule applies, for example, booking a flight via Orbitz.
+          },
+        ],
+        "imageUrl": "A String", # The link to the image of the card that is shown on Connect Commerce. A summary field.
+        "ageMinimumDetails": "A String", # Text describing the details of the age minimum restriction.
+        "disclaimer": "A String", # A notice that, if present, is referenced via an asterisk by many of the other summary fields. If this field is present, it will always start with an asterisk ("*"), and must be prominently displayed with the offer. A summary field.
+      },
+    ],
+    "kind": "gan#ccOffers", # The kind for a page of credit card offers.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/gan_v1beta1.events.html b/docs/dyn/gan_v1beta1.events.html
new file mode 100644
index 0000000..3831857
--- /dev/null
+++ b/docs/dyn/gan_v1beta1.events.html
@@ -0,0 +1,206 @@
+<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="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.events.html">events</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(role, roleId, orderId=None, chargeType=None, linkId=None, advertiserId=None, sku=None, pageToken=None, productCategory=None, modifyDateMin=None, type=None, status=None, modifyDateMax=None, eventDateMin=None, maxResults=None, eventDateMax=None, memberId=None, publisherId=None)</a></code></p>
+<p class="firstline">Retrieves event data for a given advertiser/publisher.</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(role, roleId, orderId=None, chargeType=None, linkId=None, advertiserId=None, sku=None, pageToken=None, productCategory=None, modifyDateMin=None, type=None, status=None, modifyDateMax=None, eventDateMin=None, maxResults=None, eventDateMax=None, memberId=None, publisherId=None)</code>
+  <pre>Retrieves event data for a given advertiser/publisher.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  orderId: string, Caret(^) delimited list of order IDs. Filters out all events that do not reference one of the given order IDs. Optional.
+  chargeType: string, Filters out all charge events that are not of the given charge type. Valid values: 'other', 'slotting_fee', 'monthly_minimum', 'tier_bonus', 'credit', 'debit'. Optional.
+    Allowed values
+      credit - A credit increases the publisher's payout amount and decreases the advertiser's invoice amount.
+      debit - A debit reduces the publisher's payout and increases the advertiser's invoice amount.
+      monthly_minimum - A payment made to Google by an advertiser as a minimum monthly network fee.
+      other - Catch all. Default if unset
+      slotting_fee - A one time payment made from an advertiser to a publisher.
+      tier_bonus - A payment from an advertiser to a publisher for the publisher maintaining a high tier level
+  linkId: string, Caret(^) delimited list of link IDs. Filters out all events that do not reference one of the given link IDs. Optional.
+  advertiserId: string, Caret(^) delimited list of advertiser IDs. Filters out all events that do not reference one of the given advertiser IDs. Only used when under publishers role. Optional.
+  sku: string, Caret(^) delimited list of SKUs. Filters out all events that do not reference one of the given SKU. Optional.
+  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
+  productCategory: string, Caret(^) delimited list of product categories. Filters out all events that do not reference a product in one of the given product categories. Optional.
+  modifyDateMin: string, Filters out all events modified earlier than given date. Optional. Defaults to 24 hours before the current modifyDateMax, if modifyDateMax is explicitly set.
+  type: string, Filters out all events that are not of the given type. Valid values: 'action', 'transaction', 'charge'. Optional.
+    Allowed values
+      action - The completion of an application, sign-up, or other process. For example, an action occurs if a user clicks an ad for a credit card and completes an application for that card.
+      charge - A charge event is typically a payment between an advertiser, publisher or Google.
+      transaction - A conversion event, typically an e-commerce transaction. Some advertisers use a transaction to record other types of events, such as magazine subscriptions.
+  status: string, Filters out all events that do not have the given status. Valid values: 'active', 'canceled'. Optional.
+    Allowed values
+      active - Event is currently active.
+      canceled - Event is currently canceled.
+  modifyDateMax: string, Filters out all events modified later than given date. Optional. Defaults to 24 hours after modifyDateMin, if modifyDateMin is explicitly set.
+  eventDateMin: string, Filters out all events earlier than given date. Optional. Defaults to 24 hours from current date/time.
+  maxResults: integer, Max number of offers to return in this page. Optional. Defaults to 20.
+  eventDateMax: string, Filters out all events later than given date. Optional. Defaults to 24 hours after eventMin.
+  memberId: string, Caret(^) delimited list of member IDs. Filters out all events that do not reference one of the given member IDs. Optional.
+  publisherId: string, Caret(^) delimited list of publisher IDs. Filters out all events that do not reference one of the given publishers IDs. Only used when under advertiser role. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The 'pageToken' to pass to the next request to get the next page, if there are more to retrieve.
+    "items": [ # The event list.
+      { # An EventResource.
+        "networkFee": { # An ApiMoneyProto. # Fee that the advertiser paid to the Google Affiliate Network.
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "advertiserName": "A String", # The name of the advertiser for this event.
+        "kind": "gan#event", # The kind for one event.
+        "modifyDate": "A String", # The date-time this event was last modified as a RFC 3339 date-time value.
+        "type": "A String", # Type of the event (action|transaction|charge).
+        "orderId": "A String", # The order ID for this event. Only returned for conversion events.
+        "publisherName": "A String", # The name of the publisher for this event.
+        "memberId": "A String", # The ID of the member attached to this event. Only returned for conversion events.
+        "advertiserId": "A String", # The ID of advertiser for this event.
+        "status": "A String", # Status of the event (active|canceled). Only returned for charge and conversion events.
+        "chargeId": "A String", # The charge ID for this event. Only returned for charge events.
+        "products": [ # Products associated with the event.
+          {
+            "networkFee": { # An ApiMoneyProto. # Fee that the advertiser paid to the Google Affiliate Network for this product.
+              "amount": 3.14, # The amount of money.
+              "currencyCode": "A String", # The 3-letter code of the currency in question.
+            },
+            "sku": "A String", # Sku of this product.
+            "categoryName": "A String", # Name of the category this product belongs to.
+            "skuName": "A String", # Sku name of this product.
+            "publisherFee": { # An ApiMoneyProto. # Fee that the advertiser paid to the publisehr for this product.
+              "amount": 3.14, # The amount of money.
+              "currencyCode": "A String", # The 3-letter code of the currency in question.
+            },
+            "earnings": { # An ApiMoneyProto. # Amount earned by the publisher on this product.
+              "amount": 3.14, # The amount of money.
+              "currencyCode": "A String", # The 3-letter code of the currency in question.
+            },
+            "unitPrice": { # An ApiMoneyProto. # Price per unit of this product.
+              "amount": 3.14, # The amount of money.
+              "currencyCode": "A String", # The 3-letter code of the currency in question.
+            },
+            "categoryId": "A String", # Id of the category this product belongs to.
+            "quantity": "A String", # Quantity of this product bought/exchanged.
+          },
+        ],
+        "earnings": { # An ApiMoneyProto. # Earnings by the publisher.
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "chargeType": "A String", # Charge type of the event (other|slotting_fee|monthly_minimum|tier_bonus|debit|credit). Only returned for charge events.
+        "publisherFee": { # An ApiMoneyProto. # Fee that the advertiser paid to the publisher.
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "commissionableSales": { # An ApiMoneyProto. # Amount of money exchanged during the transaction. Only returned for charge and conversion events.
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "publisherId": "A String", # The ID of the publisher for this event.
+        "eventDate": "A String", # The date-time this event was initiated as a RFC 3339 date-time value.
+      },
+    ],
+    "kind": "gan#events", # The kind for a page of events.
+  }</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/gan_v1beta1.html b/docs/dyn/gan_v1beta1.html
new file mode 100644
index 0000000..10402cc
--- /dev/null
+++ b/docs/dyn/gan_v1beta1.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="gan_v1beta1.html">Google Affiliate Network API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="gan_v1beta1.advertisers.html">advertisers()</a></code>
+</p>
+<p class="firstline">Returns the advertisers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gan_v1beta1.ccOffers.html">ccOffers()</a></code>
+</p>
+<p class="firstline">Returns the ccOffers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gan_v1beta1.events.html">events()</a></code>
+</p>
+<p class="firstline">Returns the events Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gan_v1beta1.links.html">links()</a></code>
+</p>
+<p class="firstline">Returns the links Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gan_v1beta1.publishers.html">publishers()</a></code>
+</p>
+<p class="firstline">Returns the publishers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="gan_v1beta1.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/gan_v1beta1.links.html b/docs/dyn/gan_v1beta1.links.html
new file mode 100644
index 0000000..db91bd8
--- /dev/null
+++ b/docs/dyn/gan_v1beta1.links.html
@@ -0,0 +1,399 @@
+<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="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.links.html">links</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(role, roleId, linkId)</a></code></p>
+<p class="firstline">Retrieves data about a single link if the requesting advertiser/publisher has access to it. Advertisers can look up their own links. Publishers can look up visible links or links belonging to advertisers they are in a relationship with.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(role, roleId, body)</a></code></p>
+<p class="firstline">Inserts a new link.</p>
+<p class="toc_element">
+  <code><a href="#list">list(role, roleId, linkType=None, promotionType=None, createDateMax=None, advertiserId=None, pageToken=None, relationshipStatus=None, maxResults=None, authorship=None, startDateMin=None, assetSize=None, searchText=None, startDateMax=None, createDateMin=None)</a></code></p>
+<p class="firstline">Retrieves all links that match the query 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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(role, roleId, linkId)</code>
+  <pre>Retrieves data about a single link if the requesting advertiser/publisher has access to it. Advertisers can look up their own links. Publishers can look up visible links or links belonging to advertisers they are in a relationship with.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  linkId: string, The ID of the link to look up. (required)
+
+Returns:
+  An object of the form:
+
+    { # A LinkResource.
+      "isActive": True or False, # Flag for if this link is active.
+      "linkType": "A String", # The link type.
+      "kind": "gan#link", # The kind for one entity.
+      "endDate": "A String", # Date that this link becomes inactive.
+      "description": "A String", # Description.
+      "name": "A String", # The logical name for this link.
+      "specialOffers": { # Special offers on the link.
+        "priceCut": { # An ApiMoneyProto. # Price cut on the purchase
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "priceCutMin": { # An ApiMoneyProto. # Minimum purchase amount for price cut promotion
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "freeShipping": True or False, # Whether there is free shipping
+        "promotionCodes": [ # List of promotion code associated with the link
+          "A String",
+        ],
+        "percentOff": 3.14, # Percent off on the purchase
+        "percentOffMin": { # An ApiMoneyProto. # Minimum purchase amount for percent off promotion
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "freeGift": True or False, # Whether there is a free gift
+        "freeShippingMin": { # An ApiMoneyProto. # Minimum purchase amount for free shipping promotion
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+      },
+      "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days on this link. This value should be multiplied by 100 at the time of display.
+        "amount": 3.14, # The amount of money.
+        "currencyCode": "A String", # The 3-letter code of the currency in question.
+      },
+      "createDate": "A String", # Date that this link was created.
+      "imageAltText": "A String", # image alt text.
+      "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months on this link. This value should be multiplied by 100 at the time of display.
+        "amount": 3.14, # The amount of money.
+        "currencyCode": "A String", # The 3-letter code of the currency in question.
+      },
+      "advertiserId": "A String", # The advertiser id for the advertiser who owns this link.
+      "id": "A String", # The ID of this link.
+      "impressionTrackingUrl": "A String", # Tracking url for impressions.
+      "promotionType": "A String", # Promotion Type
+      "duration": "A String", # Duration
+      "authorship": "A String", # Authorship
+      "startDate": "A String", # Date that this link becomes active.
+      "availability": "A String", # Availability.
+      "clickTrackingUrl": "A String", # Tracking url for clicks.
+      "destinationUrl": "A String", # The destination URL for the link.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(role, roleId, body)</code>
+  <pre>Inserts a new link.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A LinkResource.
+    "isActive": True or False, # Flag for if this link is active.
+    "linkType": "A String", # The link type.
+    "kind": "gan#link", # The kind for one entity.
+    "endDate": "A String", # Date that this link becomes inactive.
+    "description": "A String", # Description.
+    "name": "A String", # The logical name for this link.
+    "specialOffers": { # Special offers on the link.
+      "priceCut": { # An ApiMoneyProto. # Price cut on the purchase
+        "amount": 3.14, # The amount of money.
+        "currencyCode": "A String", # The 3-letter code of the currency in question.
+      },
+      "priceCutMin": { # An ApiMoneyProto. # Minimum purchase amount for price cut promotion
+        "amount": 3.14, # The amount of money.
+        "currencyCode": "A String", # The 3-letter code of the currency in question.
+      },
+      "freeShipping": True or False, # Whether there is free shipping
+      "promotionCodes": [ # List of promotion code associated with the link
+        "A String",
+      ],
+      "percentOff": 3.14, # Percent off on the purchase
+      "percentOffMin": { # An ApiMoneyProto. # Minimum purchase amount for percent off promotion
+        "amount": 3.14, # The amount of money.
+        "currencyCode": "A String", # The 3-letter code of the currency in question.
+      },
+      "freeGift": True or False, # Whether there is a free gift
+      "freeShippingMin": { # An ApiMoneyProto. # Minimum purchase amount for free shipping promotion
+        "amount": 3.14, # The amount of money.
+        "currencyCode": "A String", # The 3-letter code of the currency in question.
+      },
+    },
+    "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days on this link. This value should be multiplied by 100 at the time of display.
+      "amount": 3.14, # The amount of money.
+      "currencyCode": "A String", # The 3-letter code of the currency in question.
+    },
+    "createDate": "A String", # Date that this link was created.
+    "imageAltText": "A String", # image alt text.
+    "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months on this link. This value should be multiplied by 100 at the time of display.
+      "amount": 3.14, # The amount of money.
+      "currencyCode": "A String", # The 3-letter code of the currency in question.
+    },
+    "advertiserId": "A String", # The advertiser id for the advertiser who owns this link.
+    "id": "A String", # The ID of this link.
+    "impressionTrackingUrl": "A String", # Tracking url for impressions.
+    "promotionType": "A String", # Promotion Type
+    "duration": "A String", # Duration
+    "authorship": "A String", # Authorship
+    "startDate": "A String", # Date that this link becomes active.
+    "availability": "A String", # Availability.
+    "clickTrackingUrl": "A String", # Tracking url for clicks.
+    "destinationUrl": "A String", # The destination URL for the link.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A LinkResource.
+      "isActive": True or False, # Flag for if this link is active.
+      "linkType": "A String", # The link type.
+      "kind": "gan#link", # The kind for one entity.
+      "endDate": "A String", # Date that this link becomes inactive.
+      "description": "A String", # Description.
+      "name": "A String", # The logical name for this link.
+      "specialOffers": { # Special offers on the link.
+        "priceCut": { # An ApiMoneyProto. # Price cut on the purchase
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "priceCutMin": { # An ApiMoneyProto. # Minimum purchase amount for price cut promotion
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "freeShipping": True or False, # Whether there is free shipping
+        "promotionCodes": [ # List of promotion code associated with the link
+          "A String",
+        ],
+        "percentOff": 3.14, # Percent off on the purchase
+        "percentOffMin": { # An ApiMoneyProto. # Minimum purchase amount for percent off promotion
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "freeGift": True or False, # Whether there is a free gift
+        "freeShippingMin": { # An ApiMoneyProto. # Minimum purchase amount for free shipping promotion
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+      },
+      "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days on this link. This value should be multiplied by 100 at the time of display.
+        "amount": 3.14, # The amount of money.
+        "currencyCode": "A String", # The 3-letter code of the currency in question.
+      },
+      "createDate": "A String", # Date that this link was created.
+      "imageAltText": "A String", # image alt text.
+      "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months on this link. This value should be multiplied by 100 at the time of display.
+        "amount": 3.14, # The amount of money.
+        "currencyCode": "A String", # The 3-letter code of the currency in question.
+      },
+      "advertiserId": "A String", # The advertiser id for the advertiser who owns this link.
+      "id": "A String", # The ID of this link.
+      "impressionTrackingUrl": "A String", # Tracking url for impressions.
+      "promotionType": "A String", # Promotion Type
+      "duration": "A String", # Duration
+      "authorship": "A String", # Authorship
+      "startDate": "A String", # Date that this link becomes active.
+      "availability": "A String", # Availability.
+      "clickTrackingUrl": "A String", # Tracking url for clicks.
+      "destinationUrl": "A String", # The destination URL for the link.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(role, roleId, linkType=None, promotionType=None, createDateMax=None, advertiserId=None, pageToken=None, relationshipStatus=None, maxResults=None, authorship=None, startDateMin=None, assetSize=None, searchText=None, startDateMax=None, createDateMin=None)</code>
+  <pre>Retrieves all links that match the query parameters.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  linkType: string, The type of the link.
+    Allowed values
+      banner - 
+      text - 
+  promotionType: string, The promotion type. (repeated)
+    Allowed values
+      coupon - 
+      free_gift - 
+      free_shipping - 
+      percent_off - 
+      price_cut - 
+  createDateMax: string, The end of the create date range.
+  advertiserId: string, Limits the resulting links to the ones belonging to the listed advertisers. (repeated)
+  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
+  relationshipStatus: string, The status of the relationship.
+    Allowed values
+      approved - 
+      available - 
+  maxResults: integer, Max number of items to return in this page. Optional. Defaults to 20.
+  authorship: string, The role of the author of the link.
+    Allowed values
+      advertiser - 
+      publisher - 
+  startDateMin: string, The beginning of the start date range.
+  assetSize: string, The size of the given asset. (repeated)
+  searchText: string, Field for full text search across title and merchandising text, supports link id search.
+  startDateMax: string, The end of the start date range.
+  createDateMin: string, The beginning of the create date range.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The next page token.
+    "items": [ # The links.
+      { # A LinkResource.
+          "isActive": True or False, # Flag for if this link is active.
+          "linkType": "A String", # The link type.
+          "kind": "gan#link", # The kind for one entity.
+          "endDate": "A String", # Date that this link becomes inactive.
+          "description": "A String", # Description.
+          "name": "A String", # The logical name for this link.
+          "specialOffers": { # Special offers on the link.
+            "priceCut": { # An ApiMoneyProto. # Price cut on the purchase
+              "amount": 3.14, # The amount of money.
+              "currencyCode": "A String", # The 3-letter code of the currency in question.
+            },
+            "priceCutMin": { # An ApiMoneyProto. # Minimum purchase amount for price cut promotion
+              "amount": 3.14, # The amount of money.
+              "currencyCode": "A String", # The 3-letter code of the currency in question.
+            },
+            "freeShipping": True or False, # Whether there is free shipping
+            "promotionCodes": [ # List of promotion code associated with the link
+              "A String",
+            ],
+            "percentOff": 3.14, # Percent off on the purchase
+            "percentOffMin": { # An ApiMoneyProto. # Minimum purchase amount for percent off promotion
+              "amount": 3.14, # The amount of money.
+              "currencyCode": "A String", # The 3-letter code of the currency in question.
+            },
+            "freeGift": True or False, # Whether there is a free gift
+            "freeShippingMin": { # An ApiMoneyProto. # Minimum purchase amount for free shipping promotion
+              "amount": 3.14, # The amount of money.
+              "currencyCode": "A String", # The 3-letter code of the currency in question.
+            },
+          },
+          "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past seven days on this link. This value should be multiplied by 100 at the time of display.
+            "amount": 3.14, # The amount of money.
+            "currencyCode": "A String", # The 3-letter code of the currency in question.
+          },
+          "createDate": "A String", # Date that this link was created.
+          "imageAltText": "A String", # image alt text.
+          "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to publishers divided by the total number of clicks over the past three months on this link. This value should be multiplied by 100 at the time of display.
+            "amount": 3.14, # The amount of money.
+            "currencyCode": "A String", # The 3-letter code of the currency in question.
+          },
+          "advertiserId": "A String", # The advertiser id for the advertiser who owns this link.
+          "id": "A String", # The ID of this link.
+          "impressionTrackingUrl": "A String", # Tracking url for impressions.
+          "promotionType": "A String", # Promotion Type
+          "duration": "A String", # Duration
+          "authorship": "A String", # Authorship
+          "startDate": "A String", # Date that this link becomes active.
+          "availability": "A String", # Availability.
+          "clickTrackingUrl": "A String", # Tracking url for clicks.
+          "destinationUrl": "A String", # The destination URL for the link.
+        },
+    ],
+    "kind": "gan#links", # The kind for a page of links.
+  }</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/gan_v1beta1.publishers.html b/docs/dyn/gan_v1beta1.publishers.html
new file mode 100644
index 0000000..5d6a741
--- /dev/null
+++ b/docs/dyn/gan_v1beta1.publishers.html
@@ -0,0 +1,195 @@
+<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="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.publishers.html">publishers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(role, roleId, publisherId=None)</a></code></p>
+<p class="firstline">Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only advertisers can look up publishers. Publishers can request information about themselves by omitting the publisherId query parameter.</p>
+<p class="toc_element">
+  <code><a href="#list">list(role, roleId, publisherCategory=None, relationshipStatus=None, pageToken=None, minSevenDayEpc=None, minNinetyDayEpc=None, maxResults=None, minPayoutRank=None)</a></code></p>
+<p class="firstline">Retrieves data about all publishers that the requesting advertiser/publisher has access 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="get">get(role, roleId, publisherId=None)</code>
+  <pre>Retrieves data about a single advertiser if that the requesting advertiser/publisher has access to it. Only advertisers can look up publishers. Publishers can request information about themselves by omitting the publisherId query parameter.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  publisherId: string, The ID of the publisher to look up. Optional.
+
+Returns:
+  An object of the form:
+
+    { # A PublisherResource.
+    "status": "A String", # The status of the requesting advertiser's relationship with this publisher.
+    "kind": "gan#publisher", # The kind for a publisher.
+    "name": "A String", # The name of this publisher.
+    "classification": "A String", # Classification that this publisher belongs to. See this link for all publisher classifications: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107625&ctx=cb&src=cb&cbid=-k5fihzthfaik&cbrank=4
+    "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past seven days. Values are multiplied by 100 for display purposes.
+      "amount": 3.14, # The amount of money.
+      "currencyCode": "A String", # The 3-letter code of the currency in question.
+    },
+    "payoutRank": "A String", # A rank based on commissions paid to this publisher over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
+    "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past three months. Values are multiplied by 100 for display purposes.
+      "amount": 3.14, # The amount of money.
+      "currencyCode": "A String", # The 3-letter code of the currency in question.
+    },
+    "item": # Object with schema name: Publisher # The requested publisher.
+    "joinDate": "A String", # Date that this publisher was approved as a Google Affiliate Network publisher.
+    "sites": [ # Websites that this publisher uses to advertise.
+      "A String",
+    ],
+    "id": "A String", # The ID of this publisher.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(role, roleId, publisherCategory=None, relationshipStatus=None, pageToken=None, minSevenDayEpc=None, minNinetyDayEpc=None, maxResults=None, minPayoutRank=None)</code>
+  <pre>Retrieves data about all publishers that the requesting advertiser/publisher has access to.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  publisherCategory: string, Caret(^) delimted list of publisher categories. Valid categories: (unclassified|community_and_content|shopping_and_promotion|loyalty_and_rewards|network|search_specialist|comparison_shopping|email). Filters out all publishers not in one of the given advertiser categories. Optional.
+  relationshipStatus: string, Filters out all publishers for which do not have the given relationship status with the requesting publisher.
+    Allowed values
+      approved - Publishers you've approved to your program.
+      available - Publishers available for you to recruit.
+      deactivated - A publisher that you terminated from your program. Publishers also have the ability to remove themselves from your program.
+      declined - A publisher that you did not approve to your program.
+      pending - Publishers that have applied to your program. We recommend reviewing and deciding on pending publishers on a weekly basis.
+  pageToken: string, The value of 'nextPageToken' from the previous page. Optional.
+  minSevenDayEpc: number, Filters out all publishers that have a seven day EPC average lower than the given value (inclusive). Min value 0.0. Optional.
+  minNinetyDayEpc: number, Filters out all publishers that have a ninety day EPC average lower than the given value (inclusive). Min value: 0.0. Optional.
+  maxResults: integer, Max number of items to return in this page. Optional. Defaults to 20.
+  minPayoutRank: integer, A value between 1 and 4, where 1 represents the quartile of publishers with the lowest ranks and 4 represents the quartile of publishers with the highest ranks. Filters out all publishers with a lower rank than the given quartile. For example if a 2 was given only publishers with a payout rank of 25 or higher would be included. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The 'pageToken' to pass to the next request to get the next page, if there are more to retrieve.
+    "items": [ # The entity list.
+      { # A PublisherResource.
+        "status": "A String", # The status of the requesting advertiser's relationship with this publisher.
+        "kind": "gan#publisher", # The kind for a publisher.
+        "name": "A String", # The name of this publisher.
+        "classification": "A String", # Classification that this publisher belongs to. See this link for all publisher classifications: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en&answer=107625&ctx=cb&src=cb&cbid=-k5fihzthfaik&cbrank=4
+        "epcSevenDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past seven days. Values are multiplied by 100 for display purposes.
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "payoutRank": "A String", # A rank based on commissions paid to this publisher over the past 90 days. A number between 1 and 4 where 4 means the top quartile (most money paid) and 1 means the bottom quartile (least money paid).
+        "epcNinetyDayAverage": { # An ApiMoneyProto. # The sum of fees paid to this publisher divided by the total number of clicks over the past three months. Values are multiplied by 100 for display purposes.
+          "amount": 3.14, # The amount of money.
+          "currencyCode": "A String", # The 3-letter code of the currency in question.
+        },
+        "item": # Object with schema name: Publisher # The requested publisher.
+        "joinDate": "A String", # Date that this publisher was approved as a Google Affiliate Network publisher.
+        "sites": [ # Websites that this publisher uses to advertise.
+          "A String",
+        ],
+        "id": "A String", # The ID of this publisher.
+      },
+    ],
+    "kind": "gan#publishers", # The kind for a page of entities.
+  }</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/gan_v1beta1.reports.html b/docs/dyn/gan_v1beta1.reports.html
new file mode 100644
index 0000000..8c1d646
--- /dev/null
+++ b/docs/dyn/gan_v1beta1.reports.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="gan_v1beta1.html">Google Affiliate Network API</a> . <a href="gan_v1beta1.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(role, roleId, reportType, startDate=None, endDate=None, eventType=None, advertiserId=None, startIndex=None, calculateTotals=None, linkId=None, orderId=None, maxResults=None, status=None, publisherId=None)</a></code></p>
+<p class="firstline">Retrieves a report of the specified type.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(role, roleId, reportType, startDate=None, endDate=None, eventType=None, advertiserId=None, startIndex=None, calculateTotals=None, linkId=None, orderId=None, maxResults=None, status=None, publisherId=None)</code>
+  <pre>Retrieves a report of the specified type.
+
+Args:
+  role: string, The role of the requester. Valid values: 'advertisers' or 'publishers'. (required)
+    Allowed values
+      advertisers - The requester is requesting as an advertiser.
+      publishers - The requester is requesting as a publisher.
+  roleId: string, The ID of the requesting advertiser or publisher. (required)
+  reportType: string, The type of report being requested. Valid values: 'order_delta'. Required. (required)
+    Allowed values
+      order_delta - The order delta report type.
+  startDate: string, The start date (inclusive), in RFC 3339 format, for the report data to be returned. Defaults to one day before endDate, if that is given, or yesterday. Optional.
+  endDate: string, The end date (exclusive), in RFC 3339 format, for the report data to be returned. Defaults to one day after startDate, if that is given, or today. Optional.
+  eventType: string, Filters out all events that are not of the given type. Valid values: 'action', 'transaction', or 'charge'. Optional.
+    Allowed values
+      action - Event type is action.
+      charge - Event type is charge.
+      transaction - Event type is transaction.
+  advertiserId: string, The IDs of the advertisers to look up, if applicable. (repeated)
+  startIndex: integer, Offset on which to return results when paging. Optional.
+  calculateTotals: boolean, Whether or not to calculate totals rows. Optional.
+  linkId: string, Filters to capture one of given link IDs. Optional. (repeated)
+  orderId: string, Filters to capture one of the given order IDs. Optional. (repeated)
+  maxResults: integer, Max number of items to return in this page. Optional. Defaults to return all results.
+  status: string, Filters out all events that do not have the given status. Valid values: 'active', 'canceled', or 'invalid'. Optional.
+    Allowed values
+      active - Event is currently active.
+      canceled - Event is currently canceled.
+      invalid - Event is currently invalid.
+  publisherId: string, The IDs of the publishers to look up, if applicable. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # A ReportResource representing a report of a certain type either for an advertiser or publisher.
+    "totals_rows": [ # The totals rows for the report
+      [ # Loop over each column in the row.
+        "",
+      ],
+    ],
+    "kind": "gan#report", # The kind for a report.
+    "rows": [ # The rows of data for the report
+      [ # Loop over each column in the row.
+        "",
+      ],
+    ],
+    "end_date": "A String", # The end of the date range for this report, exclusive.
+    "matching_row_count": "A String", # The number of matching rows before paging is applied.
+    "column_names": [ # The column names for the report
+      "A String",
+    ],
+    "type": "A String", # The report type.
+    "start_date": "A String", # The start of the date range for this report, inclusive.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/groupsmigration_v1.archive.html b/docs/dyn/groupsmigration_v1.archive.html
new file mode 100644
index 0000000..8bf8875
--- /dev/null
+++ b/docs/dyn/groupsmigration_v1.archive.html
@@ -0,0 +1,98 @@
+<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="groupsmigration_v1.html">Groups Migration API</a> . <a href="groupsmigration_v1.archive.html">archive</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(groupId, media_body=None)</a></code></p>
+<p class="firstline">Inserts a new mail into the archive of the Google group.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(groupId, media_body=None)</code>
+  <pre>Inserts a new mail into the archive of the Google group.
+
+Args:
+  groupId: string, The group ID (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # JSON response template for groups migration API.
+    "kind": "groupsmigration#groups", # The kind of insert resource this is.
+    "responseCode": "A String", # The status of the insert request.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/groupsmigration_v1.html b/docs/dyn/groupsmigration_v1.html
new file mode 100644
index 0000000..4ff4e68
--- /dev/null
+++ b/docs/dyn/groupsmigration_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="groupsmigration_v1.html">Groups Migration API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="groupsmigration_v1.archive.html">archive()</a></code>
+</p>
+<p class="firstline">Returns the archive Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/groupssettings_v1.groups.html b/docs/dyn/groupssettings_v1.groups.html
new file mode 100644
index 0000000..3965ca2
--- /dev/null
+++ b/docs/dyn/groupssettings_v1.groups.html
@@ -0,0 +1,281 @@
+<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="groupssettings_v1.html">Groups Settings API</a> . <a href="groupssettings_v1.groups.html">groups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(groupUniqueId)</a></code></p>
+<p class="firstline">Gets one resource by id.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(groupUniqueId, body)</a></code></p>
+<p class="firstline">Updates an existing resource. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(groupUniqueId, body)</a></code></p>
+<p class="firstline">Updates an existing resource.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(groupUniqueId)</code>
+  <pre>Gets one resource by id.
+
+Args:
+  groupUniqueId: string, The resource ID (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Group resource
+      "allowExternalMembers": "A String", # Are external members allowed to join the group.
+      "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
+      "primaryLanguage": "A String", # Primary language for the group.
+      "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+      "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
+      "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
+      "archiveOnly": "A String", # If the group is archive only
+      "isArchived": "A String", # If the contents of the group are archived.
+      "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
+      "allowWebPosting": "A String", # If posting from web is allowed.
+      "email": "A String", # Email id of the group
+      "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
+      "description": "A String", # Description of the group
+      "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
+      "customReplyTo": "A String", # Default email to which reply to any message should go.
+      "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
+      "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT
+      "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
+      "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE
+      "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
+      "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
+      "kind": "groupsSettings#groups", # The type of the resource.
+      "name": "A String", # Name of the Group
+      "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
+      "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+      "showInGroupDirectory": "A String", # Is the group listed in groups directory
+      "maxMessageBytes": 42, # Maximum message size allowed.
+      "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(groupUniqueId, body)</code>
+  <pre>Updates an existing resource. This method supports patch semantics.
+
+Args:
+  groupUniqueId: string, The resource ID (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Group resource
+    "allowExternalMembers": "A String", # Are external members allowed to join the group.
+    "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
+    "primaryLanguage": "A String", # Primary language for the group.
+    "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+    "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
+    "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
+    "archiveOnly": "A String", # If the group is archive only
+    "isArchived": "A String", # If the contents of the group are archived.
+    "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
+    "allowWebPosting": "A String", # If posting from web is allowed.
+    "email": "A String", # Email id of the group
+    "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
+    "description": "A String", # Description of the group
+    "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
+    "customReplyTo": "A String", # Default email to which reply to any message should go.
+    "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
+    "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT
+    "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
+    "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE
+    "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
+    "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
+    "kind": "groupsSettings#groups", # The type of the resource.
+    "name": "A String", # Name of the Group
+    "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
+    "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+    "showInGroupDirectory": "A String", # Is the group listed in groups directory
+    "maxMessageBytes": 42, # Maximum message size allowed.
+    "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Group resource
+      "allowExternalMembers": "A String", # Are external members allowed to join the group.
+      "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
+      "primaryLanguage": "A String", # Primary language for the group.
+      "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+      "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
+      "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
+      "archiveOnly": "A String", # If the group is archive only
+      "isArchived": "A String", # If the contents of the group are archived.
+      "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
+      "allowWebPosting": "A String", # If posting from web is allowed.
+      "email": "A String", # Email id of the group
+      "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
+      "description": "A String", # Description of the group
+      "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
+      "customReplyTo": "A String", # Default email to which reply to any message should go.
+      "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
+      "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT
+      "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
+      "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE
+      "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
+      "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
+      "kind": "groupsSettings#groups", # The type of the resource.
+      "name": "A String", # Name of the Group
+      "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
+      "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+      "showInGroupDirectory": "A String", # Is the group listed in groups directory
+      "maxMessageBytes": 42, # Maximum message size allowed.
+      "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(groupUniqueId, body)</code>
+  <pre>Updates an existing resource.
+
+Args:
+  groupUniqueId: string, The resource ID (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for Group resource
+    "allowExternalMembers": "A String", # Are external members allowed to join the group.
+    "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
+    "primaryLanguage": "A String", # Primary language for the group.
+    "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+    "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
+    "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
+    "archiveOnly": "A String", # If the group is archive only
+    "isArchived": "A String", # If the contents of the group are archived.
+    "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
+    "allowWebPosting": "A String", # If posting from web is allowed.
+    "email": "A String", # Email id of the group
+    "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
+    "description": "A String", # Description of the group
+    "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
+    "customReplyTo": "A String", # Default email to which reply to any message should go.
+    "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
+    "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT
+    "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
+    "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE
+    "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
+    "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
+    "kind": "groupsSettings#groups", # The type of the resource.
+    "name": "A String", # Name of the Group
+    "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
+    "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+    "showInGroupDirectory": "A String", # Is the group listed in groups directory
+    "maxMessageBytes": 42, # Maximum message size allowed.
+    "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for Group resource
+      "allowExternalMembers": "A String", # Are external members allowed to join the group.
+      "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST
+      "primaryLanguage": "A String", # Primary language for the group.
+      "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+      "defaultMessageDenyNotificationText": "A String", # Default message deny notification message
+      "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not.
+      "archiveOnly": "A String", # If the group is archive only
+      "isArchived": "A String", # If the contents of the group are archived.
+      "membersCanPostAsTheGroup": "A String", # Can members post using the group email address.
+      "allowWebPosting": "A String", # If posting from web is allowed.
+      "email": "A String", # Email id of the group
+      "messageModerationLevel": "A String", # Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
+      "description": "A String", # Description of the group
+      "replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS
+      "customReplyTo": "A String", # Default email to which reply to any message should go.
+      "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner.
+      "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT
+      "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT
+      "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE
+      "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
+      "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE
+      "kind": "groupsSettings#groups", # The type of the resource.
+      "name": "A String", # Name of the Group
+      "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT
+      "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
+      "showInGroupDirectory": "A String", # Is the group listed in groups directory
+      "maxMessageBytes": 42, # Maximum message size allowed.
+      "allowGoogleCommunication": "A String", # Is google allowed to contact admins.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/groupssettings_v1.html b/docs/dyn/groupssettings_v1.html
new file mode 100644
index 0000000..4c44371
--- /dev/null
+++ b/docs/dyn/groupssettings_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="groupssettings_v1.html">Groups Settings API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="groupssettings_v1.groups.html">groups()</a></code>
+</p>
+<p class="firstline">Returns the groups Resource.</p>
+
+</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..24429ca
--- /dev/null
+++ b/docs/dyn/identitytoolkit_v3.relyingparty.html
@@ -0,0 +1,503 @@
+<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="#downloadAccount">downloadAccount(body)</a></code></p>
+<p class="firstline">Batch download user accounts.</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="#getPublicKeys">getPublicKeys()</a></code></p>
+<p class="firstline">Get token signing public key.</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.
+    "identifier": "A String", # The email or federated ID of the user.
+    "clientId": "A String", # The relying party OAuth client ID.
+    "otaApp": "A String", # The native app package for OTA installation.
+    "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.
+    "appId": "A String", # The app ID of the mobile app, base64(CERT_SHA1):PACKAGE_NAME for Android, BUNDLE_ID for iOS.
+    "continueUri": "A String", # The URI to which the IDP redirects the user after the federated login flow.
+    "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.
+  }
+
+
+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.
+    "providerId": "A String", # The provider ID of the auth URI.
+    "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="downloadAccount">downloadAccount(body)</code>
+  <pre>Batch download user accounts.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to download user account in batch.
+    "nextPageToken": "A String", # The token for the next page. This should be taken from the previous response.
+    "maxResults": 42, # The max number of results to return in the response.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Respone of downloading accounts in batch.
+    "nextPageToken": "A String", # The next page token. To be used in a subsequent request to return the next page of results.
+    "kind": "identitytoolkit#DownloadAccountResponse", # The fixed string "identitytoolkit#DownloadAccountResponse".
+    "users": [ # The user accounts data.
+      { # Template for an individual account info.
+        "displayName": "A String", # The name of the user.
+        "localId": "A String", # The local ID of the user.
+        "photoUrl": "A String", # The URL of the user profile photo.
+        "emailVerified": True or False, # Whether the email has been verified.
+        "passwordHash": "A String", # The user's hashed password.
+        "version": 42, # Version of the user's password.
+        "providerUserInfo": [ # The IDP of the user.
+          {
+            "federatedId": "A String", # User's identifier at IDP.
+            "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.
+          },
+        ],
+        "passwordUpdatedAt": 3.14, # The timestamp when the password was last updated.
+        "salt": "A String", # The user's password salt.
+        "email": "A String", # The email of the user.
+      },
+    ],
+  }</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.
+      { # Template for an individual account info.
+        "displayName": "A String", # The name of the user.
+        "localId": "A String", # The local ID of the user.
+        "photoUrl": "A String", # The URL of the user profile photo.
+        "emailVerified": True or False, # Whether the email has been verified.
+        "passwordHash": "A String", # The user's hashed password.
+        "version": 42, # Version of the user's password.
+        "providerUserInfo": [ # The IDP of the user.
+          {
+            "federatedId": "A String", # User's identifier at IDP.
+            "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.
+          },
+        ],
+        "passwordUpdatedAt": 3.14, # The timestamp when the password was last updated.
+        "salt": "A String", # The user's password salt.
+        "email": "A String", # The email of the user.
+      },
+    ],
+  }</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="getPublicKeys">getPublicKeys()</code>
+  <pre>Get token signing public key.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # Respone of getting public keys.
+    "a_key": "A String",
+  }</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.
+    "displayName": "A String", # The name of the user.
+    "localId": "A String", # The local ID of the user.
+    "upgradeToFederatedLogin": True or False, # Mark the user to upgrade to federated login.
+    "captchaResponse": "A String", # Response to the captcha.
+    "idToken": "A String", # The GITKit token of the authenticated user.
+    "provider": [ # The associated IDPs of the user.
+      "A String",
+    ],
+    "captchaChallenge": "A String", # The captcha challenge.
+    "emailVerified": True or False, # Mark the email as verified or not.
+    "oobCode": "A String", # The out-of-band code of the change email request.
+    "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.
+    "idToken": "A String", # The Gitkit id token to login the newly sign up user.
+    "kind": "identitytoolkit#SetAccountInfoResponse", # The fixed string "identitytoolkit#SetAccountInfoResponse".
+    "displayName": "A String", # The name of the user.
+    "email": "A String", # The email of the user.
+    "providerUserInfo": [ # The user's profiles at the associated IdPs.
+      {
+        "providerId": "A String", # The IdP ID. For whitelisted 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.
+      },
+    ],
+  }</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",
+    "users": [ # The account info to be stored.
+      { # Template for an individual account info.
+        "displayName": "A String", # The name of the user.
+        "localId": "A String", # The local ID of the user.
+        "photoUrl": "A String", # The URL of the user profile photo.
+        "emailVerified": True or False, # Whether the email has been verified.
+        "passwordHash": "A String", # The user's hashed password.
+        "version": 42, # Version of the user's password.
+        "providerUserInfo": [ # The IDP of the user.
+          {
+            "federatedId": "A String", # User's identifier at IDP.
+            "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.
+          },
+        ],
+        "passwordUpdatedAt": 3.14, # The timestamp when the password was last updated.
+        "salt": "A String", # The user's password salt.
+        "email": "A String", # The email of the user.
+      },
+    ],
+    "signerKey": "A String",
+    "memoryCost": 42,
+    "saltSeparator": "A String",
+    "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.
+    "appScheme": "A String", # The custom scheme used by mobile app.
+    "verifiedProvider": [ # When action is 'map', contains the idps which can be used for confirmation.
+      "A String",
+    ],
+    "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.
+    "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.
+    "language": "A String", # The language preference of the user.
+    "needConfirmation": True or False, # Whether the assertion is from a non-trusted IDP and need account linking confirmation.
+    "fullName": "A String", # The full name of the user.
+    "kind": "identitytoolkit#VerifyAssertionResponse", # The fixed string "identitytoolkit#VerifyAssertionResponse".
+    "idToken": "A String", # The ID token.
+    "displayName": "A String", # The display name of the user.
+    "appInstallationUrl": "A String", # URL for OTA app installation.
+    "firstName": "A String", # The first name 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.
+    "originalEmail": "A String", # The original email stored in the mapping storage. It's returned when the federated ID is associated to a different email.
+    "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.
+    "captchaResponse": "A String", # Response to the captcha.
+    "captchaChallenge": "A String", # The captcha challenge.
+    "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.
+    "photoUrl": "A String", # The URI of the user's photo at IdP
+    "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/licensing_v1.html b/docs/dyn/licensing_v1.html
new file mode 100644
index 0000000..ab4efbb
--- /dev/null
+++ b/docs/dyn/licensing_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="licensing_v1.html">Enterprise License Manager API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="licensing_v1.licenseAssignments.html">licenseAssignments()</a></code>
+</p>
+<p class="firstline">Returns the licenseAssignments Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/licensing_v1.licenseAssignments.html b/docs/dyn/licensing_v1.licenseAssignments.html
new file mode 100644
index 0000000..c0df2a5
--- /dev/null
+++ b/docs/dyn/licensing_v1.licenseAssignments.html
@@ -0,0 +1,323 @@
+<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="licensing_v1.html">Enterprise License Manager API</a> . <a href="licensing_v1.licenseAssignments.html">licenseAssignments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(productId, skuId, userId)</a></code></p>
+<p class="firstline">Revoke License.</p>
+<p class="toc_element">
+  <code><a href="#get">get(productId, skuId, userId)</a></code></p>
+<p class="firstline">Get license assignment of a particular product and sku for a user</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(productId, skuId, body)</a></code></p>
+<p class="firstline">Assign License.</p>
+<p class="toc_element">
+  <code><a href="#listForProduct">listForProduct(productId, customerId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List license assignments for given product of the customer.</p>
+<p class="toc_element">
+  <code><a href="#listForProductAndSku">listForProductAndSku(productId, skuId, customerId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List license assignments for given product and sku of the customer.</p>
+<p class="toc_element">
+  <code><a href="#listForProductAndSku_next">listForProductAndSku_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="#listForProduct_next">listForProduct_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(productId, skuId, userId, body)</a></code></p>
+<p class="firstline">Assign License. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(productId, skuId, userId, body)</a></code></p>
+<p class="firstline">Assign License.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(productId, skuId, userId)</code>
+  <pre>Revoke License.
+
+Args:
+  productId: string, Name for product (required)
+  skuId: string, Name for sku (required)
+  userId: string, email id or unique Id of the user (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(productId, skuId, userId)</code>
+  <pre>Get license assignment of a particular product and sku for a user
+
+Args:
+  productId: string, Name for product (required)
+  skuId: string, Name for sku (required)
+  userId: string, email id or unique Id of the user (required)
+
+Returns:
+  An object of the form:
+
+    { # Template for LiscenseAssignment Resource
+    "skuId": "A String", # Name of the sku of the product.
+    "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
+    "userId": "A String", # Email id of the user.
+    "etags": "A String", # ETag of the resource.
+    "selfLink": "A String", # Link to this page.
+    "productId": "A String", # Name of the product.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(productId, skuId, body)</code>
+  <pre>Assign License.
+
+Args:
+  productId: string, Name for product (required)
+  skuId: string, Name for sku (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Template for LicenseAssignment Insert request
+    "userId": "A String", # Email id of the user
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Template for LiscenseAssignment Resource
+    "skuId": "A String", # Name of the sku of the product.
+    "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
+    "userId": "A String", # Email id of the user.
+    "etags": "A String", # ETag of the resource.
+    "selfLink": "A String", # Link to this page.
+    "productId": "A String", # Name of the product.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listForProduct">listForProduct(productId, customerId, pageToken=None, maxResults=None)</code>
+  <pre>List license assignments for given product of the customer.
+
+Args:
+  productId: string, Name for product (required)
+  customerId: string, CustomerId represents the customer for whom licenseassignments are queried (required)
+  pageToken: string, Token to fetch the next page.Optional. By default server will return first page
+  maxResults: integer, Maximum number of campaigns to return at one time. Must be positive. Optional. Default value is 100.
+
+Returns:
+  An object of the form:
+
+    { # LicesnseAssignment List for a given product/sku for a customer.
+    "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 LicenseAssignments in this page of results.
+      { # Template for LiscenseAssignment Resource
+        "skuId": "A String", # Name of the sku of the product.
+        "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
+        "userId": "A String", # Email id of the user.
+        "etags": "A String", # ETag of the resource.
+        "selfLink": "A String", # Link to this page.
+        "productId": "A String", # Name of the product.
+      },
+    ],
+    "kind": "licensing#licenseAssignmentList", # Identifies the resource as a collection of LicenseAssignments.
+    "etag": "A String", # ETag of the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listForProductAndSku">listForProductAndSku(productId, skuId, customerId, pageToken=None, maxResults=None)</code>
+  <pre>List license assignments for given product and sku of the customer.
+
+Args:
+  productId: string, Name for product (required)
+  skuId: string, Name for sku (required)
+  customerId: string, CustomerId represents the customer for whom licenseassignments are queried (required)
+  pageToken: string, Token to fetch the next page.Optional. By default server will return first page
+  maxResults: integer, Maximum number of campaigns to return at one time. Must be positive. Optional. Default value is 100.
+
+Returns:
+  An object of the form:
+
+    { # LicesnseAssignment List for a given product/sku for a customer.
+    "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 LicenseAssignments in this page of results.
+      { # Template for LiscenseAssignment Resource
+        "skuId": "A String", # Name of the sku of the product.
+        "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
+        "userId": "A String", # Email id of the user.
+        "etags": "A String", # ETag of the resource.
+        "selfLink": "A String", # Link to this page.
+        "productId": "A String", # Name of the product.
+      },
+    ],
+    "kind": "licensing#licenseAssignmentList", # Identifies the resource as a collection of LicenseAssignments.
+    "etag": "A String", # ETag of the resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listForProductAndSku_next">listForProductAndSku_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="listForProduct_next">listForProduct_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(productId, skuId, userId, body)</code>
+  <pre>Assign License. This method supports patch semantics.
+
+Args:
+  productId: string, Name for product (required)
+  skuId: string, Name for sku for which license would be revoked (required)
+  userId: string, email id or unique Id of the user (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Template for LiscenseAssignment Resource
+  "skuId": "A String", # Name of the sku of the product.
+  "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
+  "userId": "A String", # Email id of the user.
+  "etags": "A String", # ETag of the resource.
+  "selfLink": "A String", # Link to this page.
+  "productId": "A String", # Name of the product.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # Template for LiscenseAssignment Resource
+    "skuId": "A String", # Name of the sku of the product.
+    "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
+    "userId": "A String", # Email id of the user.
+    "etags": "A String", # ETag of the resource.
+    "selfLink": "A String", # Link to this page.
+    "productId": "A String", # Name of the product.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(productId, skuId, userId, body)</code>
+  <pre>Assign License.
+
+Args:
+  productId: string, Name for product (required)
+  skuId: string, Name for sku for which license would be revoked (required)
+  userId: string, email id or unique Id of the user (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Template for LiscenseAssignment Resource
+  "skuId": "A String", # Name of the sku of the product.
+  "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
+  "userId": "A String", # Email id of the user.
+  "etags": "A String", # ETag of the resource.
+  "selfLink": "A String", # Link to this page.
+  "productId": "A String", # Name of the product.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # Template for LiscenseAssignment Resource
+    "skuId": "A String", # Name of the sku of the product.
+    "kind": "licensing#licenseAssignment", # Identifies the resource as a LicenseAssignment.
+    "userId": "A String", # Email id of the user.
+    "etags": "A String", # ETag of the resource.
+    "selfLink": "A String", # Link to this page.
+    "productId": "A String", # Name of the product.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mapsengine_v1.assets.html b/docs/dyn/mapsengine_v1.assets.html
new file mode 100644
index 0000000..79dbb26
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.assets.html
@@ -0,0 +1,185 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.assets.html">assets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mapsengine_v1.assets.parents.html">parents()</a></code>
+</p>
+<p class="firstline">Returns the parents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Return metadata for a particular asset.</p>
+<p class="toc_element">
+  <code><a href="#list">list(modifiedAfter=None, createdAfter=None, type=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</a></code></p>
+<p class="firstline">Return all assets readable by the current 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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Return metadata for a particular asset.
+
+Args:
+  id: string, The ID of the asset. (required)
+
+Returns:
+  An object of the form:
+
+    { # An asset is any Google Maps Engine resource that has a globally unique ID. Assets include maps, layers, vector tables, raster collections, and rasters. Projects and features are not considered assets.
+      #
+      # More detailed information about an asset can be obtained by querying the asset's particular endpoint.
+    "resource": "A String", # The URL to query to retrieve the asset's complete object. The assets endpoint only returns high-level information about a resource.
+    "name": "A String", # The asset's name.
+    "tags": [ # An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center.
+      "A String",
+    ],
+    "projectId": "A String", # The ID of the project to which the asset belongs.
+    "creationTime": "A String", # The creation time of this asset. The value is an RFC 3339-formatted date-time value (for example, 1970-01-01T00:00:00Z).
+    "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this asset. The numbers represent latitude and longitude in decimal degrees.
+      3.14,
+    ],
+    "lastModifiedTime": "A String", # The last modified time of this asset. The value is an RFC 3339-formatted date-time value (for example, 1970-01-01T00:00:00Z).
+    "type": "A String", # The type of asset. One of raster, rasterCollection, table, map, or layer.
+    "id": "A String", # The asset's globally unique ID.
+    "description": "A String", # The asset's description.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(modifiedAfter=None, createdAfter=None, type=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</code>
+  <pre>Return all assets readable by the current user.
+
+Args:
+  modifiedAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or after this time.
+  createdAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or after this time.
+  type: string, An asset type restriction. If set, only resources of this type will be returned.
+    Allowed values
+      layer - Return layers.
+      map - Return maps.
+      rasterCollection - Return raster collections.
+      table - Return tables.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  projectId: string, The ID of a Maps Engine project, used to filter the response. To list all available projects with their IDs, send a Projects: list request. You can also find your project ID as the value of the DashboardPlace:cid URL parameter when signed in to mapsengine.google.com.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 100.
+  createdBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or before this time.
+  bbox: string, A bounding box, expressed as "west,south,east,north". If set, only assets which intersect this bounding box will be returned.
+  creatorEmail: string, An email address representing a user. Returned assets that have been created by the user associated with the provided email address.
+  modifiedBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or before this time.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to resources.List.
+    "nextPageToken": "A String", # Next page token.
+    "assets": [ # Assets returned.
+      { # An asset is any Google Maps Engine resource that has a globally unique ID. Assets include maps, layers, vector tables, raster collections, and rasters. Projects and features are not considered assets.
+          #
+          # More detailed information about an asset can be obtained by querying the asset's particular endpoint.
+        "resource": "A String", # The URL to query to retrieve the asset's complete object. The assets endpoint only returns high-level information about a resource.
+        "name": "A String", # The asset's name.
+        "tags": [ # An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center.
+          "A String",
+        ],
+        "projectId": "A String", # The ID of the project to which the asset belongs.
+        "creationTime": "A String", # The creation time of this asset. The value is an RFC 3339-formatted date-time value (for example, 1970-01-01T00:00:00Z).
+        "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this asset. The numbers represent latitude and longitude in decimal degrees.
+          3.14,
+        ],
+        "lastModifiedTime": "A String", # The last modified time of this asset. The value is an RFC 3339-formatted date-time value (for example, 1970-01-01T00:00:00Z).
+        "type": "A String", # The type of asset. One of raster, rasterCollection, table, map, or layer.
+        "id": "A String", # The asset's globally unique ID.
+        "description": "A String", # The asset's description.
+      },
+    ],
+  }</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/mapsengine_v1.assets.parents.html b/docs/dyn/mapsengine_v1.assets.parents.html
new file mode 100644
index 0000000..2fbab5c
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.assets.parents.html
@@ -0,0 +1,120 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.assets.html">assets</a> . <a href="mapsengine_v1.assets.parents.html">parents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(id, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Return all parent ids of the specified asset.</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(id, pageToken=None, maxResults=None)</code>
+  <pre>Return all parent ids of the specified asset.
+
+Args:
+  id: string, The ID of the asset whose parents will be listed. (required)
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 50.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to parents.List.
+    "nextPageToken": "A String", # Next page token.
+    "parents": [ # Resources returned.
+      { # A list of the parents of an asset.
+        "id": "A String", # The ID of this parent.
+      },
+    ],
+  }</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/mapsengine_v1.html b/docs/dyn/mapsengine_v1.html
new file mode 100644
index 0000000..8e42f78
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.html
@@ -0,0 +1,112 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mapsengine_v1.assets.html">assets()</a></code>
+</p>
+<p class="firstline">Returns the assets Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.layers.html">layers()</a></code>
+</p>
+<p class="firstline">Returns the layers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.maps.html">maps()</a></code>
+</p>
+<p class="firstline">Returns the maps Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.rasterCollections.html">rasterCollections()</a></code>
+</p>
+<p class="firstline">Returns the rasterCollections Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.rasters.html">rasters()</a></code>
+</p>
+<p class="firstline">Returns the rasters Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.tables.html">tables()</a></code>
+</p>
+<p class="firstline">Returns the tables Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mapsengine_v1.layers.html b/docs/dyn/mapsengine_v1.layers.html
new file mode 100644
index 0000000..15f8b26
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.layers.html
@@ -0,0 +1,604 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.layers.html">layers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mapsengine_v1.layers.parents.html">parents()</a></code>
+</p>
+<p class="firstline">Returns the parents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(body, process=None)</a></code></p>
+<p class="firstline">Create a layer asset.</p>
+<p class="toc_element">
+  <code><a href="#get">get(id, version=None)</a></code></p>
+<p class="firstline">Return metadata for a particular layer.</p>
+<p class="toc_element">
+  <code><a href="#list">list(modifiedAfter=None, createdAfter=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</a></code></p>
+<p class="firstline">Return all layers readable by the current 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="#process">process(id)</a></code></p>
+<p class="firstline">Process a layer asset.</p>
+<p class="toc_element">
+  <code><a href="#publish">publish(id)</a></code></p>
+<p class="firstline">Publish a layer asset.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body, process=None)</code>
+  <pre>Create a layer asset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Layer combines multiple datasources, with styling information, for presentation on a map.
+    "style": { # A vector style contains styling information for vector layer. # The Styling information for a vector layer.
+      "featureInfo": { # A feature info contains information about individual feature. # Individual feature info, this is called Info Window in Maps Engine UI. If not provided, a default template with all attributes will be generated.
+        "content": "A String", # HTML template of the info window. If not provided, a default template with all attributes will be generated.
+      },
+      "type": "A String", # The type of the vector style. Currently, only displayRule is supported.
+      "displayRules": [ # Display rules of the vector style. The first matched rule will apply to the features. If no display rule is provided, a default display rule will be generated according to Geometry type.
+        { # A display rule of the vector style.
+          "pointOptions": { # Style for points. # Style applied to points. Required for Point Geometry.
+            "label": { # Text label style. # Label style for the point.
+              "opacity": 3.14, # Opacity of the text.
+              "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+              "outline": { # Basic color used in styling. # Outline color of the text.
+                "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+              },
+              "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+              "color": "A String", # Color of the text. If not provided, default to black.
+              "column": "A String", # The column value of the feature to be displayed.
+              "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+            },
+            "icon": { # Style for icon, this is part of point style. # Icon for the point; exactly one field in 'icon' must be set.
+              "id": "A String", # Custom icon id.
+              "name": "A String", # Stock icon name. To use a stock icon, prefix it with 'gx_'. See Stock icon names for valid icon names. For example, to specify small_red, set name to 'gx_small_red'.
+            },
+          },
+          "name": "A String", # Display rule name. Name is not unique and cannot be used for identification purpose.
+          "polygonOptions": { # Style for polygons. # Style applied to polygons. Required for Polygon Geometry.
+            "stroke": { # Border in line style. Both color and width are required. # Border of the polygon. 0 < border.width <= 10.
+              "color": "A String", # Color of the border.
+              "opacity": 3.14, # Opacity of the border.
+              "width": 3.14, # Width of the border, in pixels.
+            },
+            "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
+              "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+              "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+            },
+          },
+          "lineOptions": { # Style for lines. # Style applied to lines. Required for LineString Geometry.
+            "dash": [ # Dash defines the pattern of the line, the values are pixel lengths of alternating dash and gap. If dash is not provided, then it means a solid line. Dash can contain up to 10 values and must contain even number of values.
+              3.14,
+            ],
+            "stroke": { # Stroke of the line.
+              "color": "A String", # Color of the line.
+              "opacity": 3.14, # Opacity of the line.
+              "width": 3.14, # Width of the line, in pixels. 0 <= width <= 10. If width is set to 0, the line will be invisible.
+            },
+            "border": { # Border in line style. Both color and width are required. # Border of the line. 0 < border.width <= 5.
+              "color": "A String", # Color of the border.
+              "opacity": 3.14, # Opacity of the border.
+              "width": 3.14, # Width of the border, in pixels.
+            },
+            "label": { # Text label style. # Label style for the line.
+              "opacity": 3.14, # Opacity of the text.
+              "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+              "outline": { # Basic color used in styling. # Outline color of the text.
+                "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+              },
+              "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+              "color": "A String", # Color of the text. If not provided, default to black.
+              "column": "A String", # The column value of the feature to be displayed.
+              "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+            },
+          },
+          "zoomLevels": { # Zoom level range. Zoom levels are restricted between 0 and 24, inclusive. # The zoom levels that this display rule apply.
+            "max": 42, # Maximum zoom level.
+            "min": 42, # Minimum zoom level.
+          },
+          "filters": [ # This display rule will only be applied to features that match all of the filters here. If filters is empty, then the rule applies to all features.
+            { # Conditions for filtering features.
+              "column": "A String", # The column name to filter on.
+              "operator": "A String", # Operation used to evaluate the filter.
+              "value": "", # Value to be evaluated against attribute.
+            },
+          ],
+        },
+      ],
+    },
+    "description": "A String", # The description of this Layer, supplied by the author.
+    "processingStatus": "A String", # The processing status of this layer.
+    "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+    "datasourceType": "A String", # The type of the datasources used to build this Layer. One of either "table" or "image".
+    "tags": [ # Tags of this Layer.
+      "A String",
+    ],
+    "creationTime": "A String", # The creation time of this layer. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "name": "A String", # The name of this Layer, supplied by the author.
+    "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Layer. The numbers represent latitudes and longitudes in decimal degrees.
+      3.14,
+    ],
+    "projectId": "A String", # The ID of the project that this Layer is in.
+    "lastModifiedTime": "A String", # The last modified time of this layer. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+    "id": "A String", # A globally unique ID, used to refer to this Layer.
+    "datasources": [ # An array of datasources used to build this Layer. If datasourceType is "image", then each element in this array is a reference to an Image or RasterCollection. If datasourceType is "table" then each element in this array is a reference to a Vector Table.
+      {
+        "id": "A String", # The ID of a datasource.
+      },
+    ],
+  }
+
+  process: boolean, Whether to queue the created layer for processing.
+
+Returns:
+  An object of the form:
+
+    { # A Layer combines multiple datasources, with styling information, for presentation on a map.
+      "style": { # A vector style contains styling information for vector layer. # The Styling information for a vector layer.
+        "featureInfo": { # A feature info contains information about individual feature. # Individual feature info, this is called Info Window in Maps Engine UI. If not provided, a default template with all attributes will be generated.
+          "content": "A String", # HTML template of the info window. If not provided, a default template with all attributes will be generated.
+        },
+        "type": "A String", # The type of the vector style. Currently, only displayRule is supported.
+        "displayRules": [ # Display rules of the vector style. The first matched rule will apply to the features. If no display rule is provided, a default display rule will be generated according to Geometry type.
+          { # A display rule of the vector style.
+            "pointOptions": { # Style for points. # Style applied to points. Required for Point Geometry.
+              "label": { # Text label style. # Label style for the point.
+                "opacity": 3.14, # Opacity of the text.
+                "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+                "outline": { # Basic color used in styling. # Outline color of the text.
+                  "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                  "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+                },
+                "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+                "color": "A String", # Color of the text. If not provided, default to black.
+                "column": "A String", # The column value of the feature to be displayed.
+                "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+              },
+              "icon": { # Style for icon, this is part of point style. # Icon for the point; exactly one field in 'icon' must be set.
+                "id": "A String", # Custom icon id.
+                "name": "A String", # Stock icon name. To use a stock icon, prefix it with 'gx_'. See Stock icon names for valid icon names. For example, to specify small_red, set name to 'gx_small_red'.
+              },
+            },
+            "name": "A String", # Display rule name. Name is not unique and cannot be used for identification purpose.
+            "polygonOptions": { # Style for polygons. # Style applied to polygons. Required for Polygon Geometry.
+              "stroke": { # Border in line style. Both color and width are required. # Border of the polygon. 0 < border.width <= 10.
+                "color": "A String", # Color of the border.
+                "opacity": 3.14, # Opacity of the border.
+                "width": 3.14, # Width of the border, in pixels.
+              },
+              "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
+                "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+              },
+            },
+            "lineOptions": { # Style for lines. # Style applied to lines. Required for LineString Geometry.
+              "dash": [ # Dash defines the pattern of the line, the values are pixel lengths of alternating dash and gap. If dash is not provided, then it means a solid line. Dash can contain up to 10 values and must contain even number of values.
+                3.14,
+              ],
+              "stroke": { # Stroke of the line.
+                "color": "A String", # Color of the line.
+                "opacity": 3.14, # Opacity of the line.
+                "width": 3.14, # Width of the line, in pixels. 0 <= width <= 10. If width is set to 0, the line will be invisible.
+              },
+              "border": { # Border in line style. Both color and width are required. # Border of the line. 0 < border.width <= 5.
+                "color": "A String", # Color of the border.
+                "opacity": 3.14, # Opacity of the border.
+                "width": 3.14, # Width of the border, in pixels.
+              },
+              "label": { # Text label style. # Label style for the line.
+                "opacity": 3.14, # Opacity of the text.
+                "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+                "outline": { # Basic color used in styling. # Outline color of the text.
+                  "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                  "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+                },
+                "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+                "color": "A String", # Color of the text. If not provided, default to black.
+                "column": "A String", # The column value of the feature to be displayed.
+                "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+              },
+            },
+            "zoomLevels": { # Zoom level range. Zoom levels are restricted between 0 and 24, inclusive. # The zoom levels that this display rule apply.
+              "max": 42, # Maximum zoom level.
+              "min": 42, # Minimum zoom level.
+            },
+            "filters": [ # This display rule will only be applied to features that match all of the filters here. If filters is empty, then the rule applies to all features.
+              { # Conditions for filtering features.
+                "column": "A String", # The column name to filter on.
+                "operator": "A String", # Operation used to evaluate the filter.
+                "value": "", # Value to be evaluated against attribute.
+              },
+            ],
+          },
+        ],
+      },
+      "description": "A String", # The description of this Layer, supplied by the author.
+      "processingStatus": "A String", # The processing status of this layer.
+      "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+      "datasourceType": "A String", # The type of the datasources used to build this Layer. One of either "table" or "image".
+      "tags": [ # Tags of this Layer.
+        "A String",
+      ],
+      "creationTime": "A String", # The creation time of this layer. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "name": "A String", # The name of this Layer, supplied by the author.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Layer. The numbers represent latitudes and longitudes in decimal degrees.
+        3.14,
+      ],
+      "projectId": "A String", # The ID of the project that this Layer is in.
+      "lastModifiedTime": "A String", # The last modified time of this layer. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+      "id": "A String", # A globally unique ID, used to refer to this Layer.
+      "datasources": [ # An array of datasources used to build this Layer. If datasourceType is "image", then each element in this array is a reference to an Image or RasterCollection. If datasourceType is "table" then each element in this array is a reference to a Vector Table.
+        {
+          "id": "A String", # The ID of a datasource.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(id, version=None)</code>
+  <pre>Return metadata for a particular layer.
+
+Args:
+  id: string, The ID of the layer. (required)
+  version: string, A parameter
+    Allowed values
+      draft - The draft version.
+      published - The published version.
+
+Returns:
+  An object of the form:
+
+    { # A Layer combines multiple datasources, with styling information, for presentation on a map.
+      "style": { # A vector style contains styling information for vector layer. # The Styling information for a vector layer.
+        "featureInfo": { # A feature info contains information about individual feature. # Individual feature info, this is called Info Window in Maps Engine UI. If not provided, a default template with all attributes will be generated.
+          "content": "A String", # HTML template of the info window. If not provided, a default template with all attributes will be generated.
+        },
+        "type": "A String", # The type of the vector style. Currently, only displayRule is supported.
+        "displayRules": [ # Display rules of the vector style. The first matched rule will apply to the features. If no display rule is provided, a default display rule will be generated according to Geometry type.
+          { # A display rule of the vector style.
+            "pointOptions": { # Style for points. # Style applied to points. Required for Point Geometry.
+              "label": { # Text label style. # Label style for the point.
+                "opacity": 3.14, # Opacity of the text.
+                "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+                "outline": { # Basic color used in styling. # Outline color of the text.
+                  "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                  "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+                },
+                "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+                "color": "A String", # Color of the text. If not provided, default to black.
+                "column": "A String", # The column value of the feature to be displayed.
+                "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+              },
+              "icon": { # Style for icon, this is part of point style. # Icon for the point; exactly one field in 'icon' must be set.
+                "id": "A String", # Custom icon id.
+                "name": "A String", # Stock icon name. To use a stock icon, prefix it with 'gx_'. See Stock icon names for valid icon names. For example, to specify small_red, set name to 'gx_small_red'.
+              },
+            },
+            "name": "A String", # Display rule name. Name is not unique and cannot be used for identification purpose.
+            "polygonOptions": { # Style for polygons. # Style applied to polygons. Required for Polygon Geometry.
+              "stroke": { # Border in line style. Both color and width are required. # Border of the polygon. 0 < border.width <= 10.
+                "color": "A String", # Color of the border.
+                "opacity": 3.14, # Opacity of the border.
+                "width": 3.14, # Width of the border, in pixels.
+              },
+              "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
+                "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+              },
+            },
+            "lineOptions": { # Style for lines. # Style applied to lines. Required for LineString Geometry.
+              "dash": [ # Dash defines the pattern of the line, the values are pixel lengths of alternating dash and gap. If dash is not provided, then it means a solid line. Dash can contain up to 10 values and must contain even number of values.
+                3.14,
+              ],
+              "stroke": { # Stroke of the line.
+                "color": "A String", # Color of the line.
+                "opacity": 3.14, # Opacity of the line.
+                "width": 3.14, # Width of the line, in pixels. 0 <= width <= 10. If width is set to 0, the line will be invisible.
+              },
+              "border": { # Border in line style. Both color and width are required. # Border of the line. 0 < border.width <= 5.
+                "color": "A String", # Color of the border.
+                "opacity": 3.14, # Opacity of the border.
+                "width": 3.14, # Width of the border, in pixels.
+              },
+              "label": { # Text label style. # Label style for the line.
+                "opacity": 3.14, # Opacity of the text.
+                "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+                "outline": { # Basic color used in styling. # Outline color of the text.
+                  "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                  "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+                },
+                "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+                "color": "A String", # Color of the text. If not provided, default to black.
+                "column": "A String", # The column value of the feature to be displayed.
+                "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+              },
+            },
+            "zoomLevels": { # Zoom level range. Zoom levels are restricted between 0 and 24, inclusive. # The zoom levels that this display rule apply.
+              "max": 42, # Maximum zoom level.
+              "min": 42, # Minimum zoom level.
+            },
+            "filters": [ # This display rule will only be applied to features that match all of the filters here. If filters is empty, then the rule applies to all features.
+              { # Conditions for filtering features.
+                "column": "A String", # The column name to filter on.
+                "operator": "A String", # Operation used to evaluate the filter.
+                "value": "", # Value to be evaluated against attribute.
+              },
+            ],
+          },
+        ],
+      },
+      "description": "A String", # The description of this Layer, supplied by the author.
+      "processingStatus": "A String", # The processing status of this layer.
+      "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+      "datasourceType": "A String", # The type of the datasources used to build this Layer. One of either "table" or "image".
+      "tags": [ # Tags of this Layer.
+        "A String",
+      ],
+      "creationTime": "A String", # The creation time of this layer. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "name": "A String", # The name of this Layer, supplied by the author.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Layer. The numbers represent latitudes and longitudes in decimal degrees.
+        3.14,
+      ],
+      "projectId": "A String", # The ID of the project that this Layer is in.
+      "lastModifiedTime": "A String", # The last modified time of this layer. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+      "id": "A String", # A globally unique ID, used to refer to this Layer.
+      "datasources": [ # An array of datasources used to build this Layer. If datasourceType is "image", then each element in this array is a reference to an Image or RasterCollection. If datasourceType is "table" then each element in this array is a reference to a Vector Table.
+        {
+          "id": "A String", # The ID of a datasource.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(modifiedAfter=None, createdAfter=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</code>
+  <pre>Return all layers readable by the current user.
+
+Args:
+  modifiedAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or after this time.
+  createdAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or after this time.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  projectId: string, The ID of a Maps Engine project, used to filter the response. To list all available projects with their IDs, send a Projects: list request. You can also find your project ID as the value of the DashboardPlace:cid URL parameter when signed in to mapsengine.google.com.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 100.
+  createdBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or before this time.
+  bbox: string, A bounding box, expressed as "west,south,east,north". If set, only assets which intersect this bounding box will be returned.
+  creatorEmail: string, An email address representing a user. Returned assets that have been created by the user associated with the provided email address.
+  modifiedBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or before this time.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to layers.List.
+    "layers": [ # Resources returned.
+      { # A Layer combines multiple datasources, with styling information, for presentation on a map.
+          "style": { # A vector style contains styling information for vector layer. # The Styling information for a vector layer.
+            "featureInfo": { # A feature info contains information about individual feature. # Individual feature info, this is called Info Window in Maps Engine UI. If not provided, a default template with all attributes will be generated.
+              "content": "A String", # HTML template of the info window. If not provided, a default template with all attributes will be generated.
+            },
+            "type": "A String", # The type of the vector style. Currently, only displayRule is supported.
+            "displayRules": [ # Display rules of the vector style. The first matched rule will apply to the features. If no display rule is provided, a default display rule will be generated according to Geometry type.
+              { # A display rule of the vector style.
+                "pointOptions": { # Style for points. # Style applied to points. Required for Point Geometry.
+                  "label": { # Text label style. # Label style for the point.
+                    "opacity": 3.14, # Opacity of the text.
+                    "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+                    "outline": { # Basic color used in styling. # Outline color of the text.
+                      "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                      "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+                    },
+                    "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+                    "color": "A String", # Color of the text. If not provided, default to black.
+                    "column": "A String", # The column value of the feature to be displayed.
+                    "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+                  },
+                  "icon": { # Style for icon, this is part of point style. # Icon for the point; exactly one field in 'icon' must be set.
+                    "id": "A String", # Custom icon id.
+                    "name": "A String", # Stock icon name. To use a stock icon, prefix it with 'gx_'. See Stock icon names for valid icon names. For example, to specify small_red, set name to 'gx_small_red'.
+                  },
+                },
+                "name": "A String", # Display rule name. Name is not unique and cannot be used for identification purpose.
+                "polygonOptions": { # Style for polygons. # Style applied to polygons. Required for Polygon Geometry.
+                  "stroke": { # Border in line style. Both color and width are required. # Border of the polygon. 0 < border.width <= 10.
+                    "color": "A String", # Color of the border.
+                    "opacity": 3.14, # Opacity of the border.
+                    "width": 3.14, # Width of the border, in pixels.
+                  },
+                  "fill": { # Basic color used in styling. # Fill color of the polygon. If not provided, the polygon will be transparent and not visible if there is no border.
+                    "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                    "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+                  },
+                },
+                "lineOptions": { # Style for lines. # Style applied to lines. Required for LineString Geometry.
+                  "dash": [ # Dash defines the pattern of the line, the values are pixel lengths of alternating dash and gap. If dash is not provided, then it means a solid line. Dash can contain up to 10 values and must contain even number of values.
+                    3.14,
+                  ],
+                  "stroke": { # Stroke of the line.
+                    "color": "A String", # Color of the line.
+                    "opacity": 3.14, # Opacity of the line.
+                    "width": 3.14, # Width of the line, in pixels. 0 <= width <= 10. If width is set to 0, the line will be invisible.
+                  },
+                  "border": { # Border in line style. Both color and width are required. # Border of the line. 0 < border.width <= 5.
+                    "color": "A String", # Color of the border.
+                    "opacity": 3.14, # Opacity of the border.
+                    "width": 3.14, # Width of the border, in pixels.
+                  },
+                  "label": { # Text label style. # Label style for the line.
+                    "opacity": 3.14, # Opacity of the text.
+                    "fontStyle": "A String", # Font style of the label, defaults to 'normal'.
+                    "outline": { # Basic color used in styling. # Outline color of the text.
+                      "color": "A String", # The CSS style color, can be in format of "red" or "#7733EE".
+                      "opacity": 3.14, # Opacity ranges from 0 to 1, inclusive. If not provided, default to 1.
+                    },
+                    "fontWeight": "A String", # Font weight of the label, defaults to 'normal'.
+                    "color": "A String", # Color of the text. If not provided, default to black.
+                    "column": "A String", # The column value of the feature to be displayed.
+                    "size": 3.14, # Font size of the label, in pixels. 8 <= size <= 15. If not provided, a default size will be provided.
+                  },
+                },
+                "zoomLevels": { # Zoom level range. Zoom levels are restricted between 0 and 24, inclusive. # The zoom levels that this display rule apply.
+                  "max": 42, # Maximum zoom level.
+                  "min": 42, # Minimum zoom level.
+                },
+                "filters": [ # This display rule will only be applied to features that match all of the filters here. If filters is empty, then the rule applies to all features.
+                  { # Conditions for filtering features.
+                    "column": "A String", # The column name to filter on.
+                    "operator": "A String", # Operation used to evaluate the filter.
+                    "value": "", # Value to be evaluated against attribute.
+                  },
+                ],
+              },
+            ],
+          },
+          "description": "A String", # The description of this Layer, supplied by the author.
+          "processingStatus": "A String", # The processing status of this layer.
+          "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+          "datasourceType": "A String", # The type of the datasources used to build this Layer. One of either "table" or "image".
+          "tags": [ # Tags of this Layer.
+            "A String",
+          ],
+          "creationTime": "A String", # The creation time of this layer. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+          "name": "A String", # The name of this Layer, supplied by the author.
+          "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Layer. The numbers represent latitudes and longitudes in decimal degrees.
+            3.14,
+          ],
+          "projectId": "A String", # The ID of the project that this Layer is in.
+          "lastModifiedTime": "A String", # The last modified time of this layer. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+          "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+          "id": "A String", # A globally unique ID, used to refer to this Layer.
+          "datasources": [ # An array of datasources used to build this Layer. If datasourceType is "image", then each element in this array is a reference to an Image or RasterCollection. If datasourceType is "table" then each element in this array is a reference to a Vector Table.
+            {
+              "id": "A String", # The ID of a datasource.
+            },
+          ],
+        },
+    ],
+    "nextPageToken": "A String", # Next page token.
+  }</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="process">process(id)</code>
+  <pre>Process a layer asset.
+
+Args:
+  id: string, The ID of the layer. (required)
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to any asset's Process method.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="publish">publish(id)</code>
+  <pre>Publish a layer asset.
+
+Args:
+  id: string, The ID of the layer. (required)
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to any asset's Publish method.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mapsengine_v1.layers.parents.html b/docs/dyn/mapsengine_v1.layers.parents.html
new file mode 100644
index 0000000..e68e1f5
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.layers.parents.html
@@ -0,0 +1,120 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.layers.html">layers</a> . <a href="mapsengine_v1.layers.parents.html">parents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(id, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Return all parent ids of the specified layer.</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(id, pageToken=None, maxResults=None)</code>
+  <pre>Return all parent ids of the specified layer.
+
+Args:
+  id: string, The ID of the layer whose parents will be listed. (required)
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 50.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to parents.List.
+    "nextPageToken": "A String", # Next page token.
+    "parents": [ # Resources returned.
+      { # A list of the parents of an asset.
+        "id": "A String", # The ID of this parent.
+      },
+    ],
+  }</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/mapsengine_v1.maps.html b/docs/dyn/mapsengine_v1.maps.html
new file mode 100644
index 0000000..63f2347
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.maps.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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.maps.html">maps</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(id, version=None)</a></code></p>
+<p class="firstline">Return metadata for a particular map.</p>
+<p class="toc_element">
+  <code><a href="#list">list(modifiedAfter=None, createdAfter=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</a></code></p>
+<p class="firstline">Return all maps readable by the current 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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(id, version=None)</code>
+  <pre>Return metadata for a particular map.
+
+Args:
+  id: string, The ID of the map. (required)
+  version: string, A parameter
+    Allowed values
+      draft - The draft version.
+      published - The published version.
+
+Returns:
+  An object of the form:
+
+    { # A Map is a collection of Layers, optionally contained within folders.
+    "description": "A String", # The description of this Map, supplied by the author.
+    "defaultViewport": [ # An array of four numbers (west, south, east, north) which defines the rectangular bounding box of the default viewport. The numbers represent latitude and longitude in decimal degrees.
+      3.14,
+    ],
+    "tags": [ # Tags of this Map.
+      "A String",
+    ],
+    "projectId": "A String", # The ID of the project that this Map is in.
+    "versions": [ # An array containing the available versions of this Map. Currently may only contain "published".
+      "A String",
+    ],
+    "creationTime": "A String", # The creation time of this map. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Map. The numbers represent latitude and longitude in decimal degrees.
+      3.14,
+    ],
+    "lastModifiedTime": "A String", # The last modified time of this map. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "id": "A String", # A globally unique ID, used to refer to this Map.
+    "contents": [ # The contents of this Map.
+      { # A map item.
+      },
+    ],
+    "name": "A String", # The name of this Map, supplied by the author.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(modifiedAfter=None, createdAfter=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</code>
+  <pre>Return all maps readable by the current user.
+
+Args:
+  modifiedAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or after this time.
+  createdAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or after this time.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  projectId: string, The ID of a Maps Engine project, used to filter the response. To list all available projects with their IDs, send a Projects: list request. You can also find your project ID as the value of the DashboardPlace:cid URL parameter when signed in to mapsengine.google.com.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 100.
+  createdBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or before this time.
+  bbox: string, A bounding box, expressed as "west,south,east,north". If set, only assets which intersect this bounding box will be returned.
+  creatorEmail: string, An email address representing a user. Returned assets that have been created by the user associated with the provided email address.
+  modifiedBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or before this time.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to maps.List.
+    "nextPageToken": "A String", # Next page token.
+    "maps": [ # Resources returned.
+      { # A Map is a collection of Layers, optionally contained within folders.
+        "description": "A String", # The description of this Map, supplied by the author.
+        "defaultViewport": [ # An array of four numbers (west, south, east, north) which defines the rectangular bounding box of the default viewport. The numbers represent latitude and longitude in decimal degrees.
+          3.14,
+        ],
+        "tags": [ # Tags of this Map.
+          "A String",
+        ],
+        "projectId": "A String", # The ID of the project that this Map is in.
+        "versions": [ # An array containing the available versions of this Map. Currently may only contain "published".
+          "A String",
+        ],
+        "creationTime": "A String", # The creation time of this map. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+        "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Map. The numbers represent latitude and longitude in decimal degrees.
+          3.14,
+        ],
+        "lastModifiedTime": "A String", # The last modified time of this map. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+        "id": "A String", # A globally unique ID, used to refer to this Map.
+        "contents": [ # The contents of this Map.
+          { # A map item.
+          },
+        ],
+        "name": "A String", # The name of this Map, supplied by the author.
+      },
+    ],
+  }</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/mapsengine_v1.projects.html b/docs/dyn/mapsengine_v1.projects.html
new file mode 100644
index 0000000..70571a7
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.projects.html
@@ -0,0 +1,100 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Return all projects readable by the current user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Return all projects readable by the current user.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to projects.List.
+    "projects": [ # Projects returned.
+      { # A project groups a collection of resources.
+        "id": "A String", # An ID used to refer to this project.
+        "name": "A String", # A user provided name for this project.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mapsengine_v1.rasterCollections.html b/docs/dyn/mapsengine_v1.rasterCollections.html
new file mode 100644
index 0000000..a87d758
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.rasterCollections.html
@@ -0,0 +1,238 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.rasterCollections.html">rasterCollections</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mapsengine_v1.rasterCollections.parents.html">parents()</a></code>
+</p>
+<p class="firstline">Returns the parents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.rasterCollections.rasters.html">rasters()</a></code>
+</p>
+<p class="firstline">Returns the rasters Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Create a raster collection asset.</p>
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Return metadata for a particular raster collection.</p>
+<p class="toc_element">
+  <code><a href="#list">list(modifiedAfter=None, createdAfter=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</a></code></p>
+<p class="firstline">Return all raster collections readable by the current 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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Create a raster collection asset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A raster collection groups multiple Raster resources for inclusion in a Layer.
+    "attribution": "A String", # The name of the attribution to be used for this RasterCollection.
+    "description": "A String", # The description of this RasterCollection, supplied by the author.
+    "tags": [ # Tags of this RasterCollection.
+      "A String",
+    ],
+    "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+    "projectId": "A String", # The ID of the project that this RasterCollection is in.
+    "creationTime": "A String", # The creation time of this rasterCollection. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "rasterType": "A String", # The type of rasters contained within this RasterCollection.
+    "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this RasterCollection. The numbers represent latitudes and longitudes in decimal degrees.
+      3.14,
+    ],
+    "lastModifiedTime": "A String", # The last modified time of this rasterCollection. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "id": "A String", # A globally unique ID, used to refer to this RasterCollection.
+    "mosaic": True or False, # True if this RasterCollection is a mosaic.
+    "name": "A String", # The name of this RasterCollection, supplied by the author.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A raster collection groups multiple Raster resources for inclusion in a Layer.
+      "attribution": "A String", # The name of the attribution to be used for this RasterCollection.
+      "description": "A String", # The description of this RasterCollection, supplied by the author.
+      "tags": [ # Tags of this RasterCollection.
+        "A String",
+      ],
+      "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+      "projectId": "A String", # The ID of the project that this RasterCollection is in.
+      "creationTime": "A String", # The creation time of this rasterCollection. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "rasterType": "A String", # The type of rasters contained within this RasterCollection.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this RasterCollection. The numbers represent latitudes and longitudes in decimal degrees.
+        3.14,
+      ],
+      "lastModifiedTime": "A String", # The last modified time of this rasterCollection. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "id": "A String", # A globally unique ID, used to refer to this RasterCollection.
+      "mosaic": True or False, # True if this RasterCollection is a mosaic.
+      "name": "A String", # The name of this RasterCollection, supplied by the author.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Return metadata for a particular raster collection.
+
+Args:
+  id: string, The ID of the raster collection. (required)
+
+Returns:
+  An object of the form:
+
+    { # A raster collection groups multiple Raster resources for inclusion in a Layer.
+      "attribution": "A String", # The name of the attribution to be used for this RasterCollection.
+      "description": "A String", # The description of this RasterCollection, supplied by the author.
+      "tags": [ # Tags of this RasterCollection.
+        "A String",
+      ],
+      "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+      "projectId": "A String", # The ID of the project that this RasterCollection is in.
+      "creationTime": "A String", # The creation time of this rasterCollection. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "rasterType": "A String", # The type of rasters contained within this RasterCollection.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this RasterCollection. The numbers represent latitudes and longitudes in decimal degrees.
+        3.14,
+      ],
+      "lastModifiedTime": "A String", # The last modified time of this rasterCollection. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "id": "A String", # A globally unique ID, used to refer to this RasterCollection.
+      "mosaic": True or False, # True if this RasterCollection is a mosaic.
+      "name": "A String", # The name of this RasterCollection, supplied by the author.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(modifiedAfter=None, createdAfter=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</code>
+  <pre>Return all raster collections readable by the current user.
+
+Args:
+  modifiedAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or after this time.
+  createdAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or after this time.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  projectId: string, The ID of a Maps Engine project, used to filter the response. To list all available projects with their IDs, send a Projects: list request. You can also find your project ID as the value of the DashboardPlace:cid URL parameter when signed in to mapsengine.google.com.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 100.
+  createdBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or before this time.
+  bbox: string, A bounding box, expressed as "west,south,east,north". If set, only assets which intersect this bounding box will be returned.
+  creatorEmail: string, An email address representing a user. Returned assets that have been created by the user associated with the provided email address.
+  modifiedBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or before this time.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to raster_collections.List.
+    "nextPageToken": "A String", # Next page token.
+    "rasterCollections": [ # Resources returned.
+      { # A raster collection groups multiple Raster resources for inclusion in a Layer.
+          "attribution": "A String", # The name of the attribution to be used for this RasterCollection.
+          "description": "A String", # The description of this RasterCollection, supplied by the author.
+          "tags": [ # Tags of this RasterCollection.
+            "A String",
+          ],
+          "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+          "projectId": "A String", # The ID of the project that this RasterCollection is in.
+          "creationTime": "A String", # The creation time of this rasterCollection. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+          "rasterType": "A String", # The type of rasters contained within this RasterCollection.
+          "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this RasterCollection. The numbers represent latitudes and longitudes in decimal degrees.
+            3.14,
+          ],
+          "lastModifiedTime": "A String", # The last modified time of this rasterCollection. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+          "id": "A String", # A globally unique ID, used to refer to this RasterCollection.
+          "mosaic": True or False, # True if this RasterCollection is a mosaic.
+          "name": "A String", # The name of this RasterCollection, supplied by the author.
+        },
+    ],
+  }</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/mapsengine_v1.rasterCollections.parents.html b/docs/dyn/mapsengine_v1.rasterCollections.parents.html
new file mode 100644
index 0000000..4486a5e
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.rasterCollections.parents.html
@@ -0,0 +1,120 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.rasterCollections.html">rasterCollections</a> . <a href="mapsengine_v1.rasterCollections.parents.html">parents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(id, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Return all parent ids of the specified raster collection.</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(id, pageToken=None, maxResults=None)</code>
+  <pre>Return all parent ids of the specified raster collection.
+
+Args:
+  id: string, The ID of the raster collection whose parents will be listed. (required)
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 50.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to parents.List.
+    "nextPageToken": "A String", # Next page token.
+    "parents": [ # Resources returned.
+      { # A list of the parents of an asset.
+        "id": "A String", # The ID of this parent.
+      },
+    ],
+  }</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/mapsengine_v1.rasterCollections.rasters.html b/docs/dyn/mapsengine_v1.rasterCollections.rasters.html
new file mode 100644
index 0000000..a0131ea
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.rasterCollections.rasters.html
@@ -0,0 +1,138 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.rasterCollections.html">rasterCollections</a> . <a href="mapsengine_v1.rasterCollections.rasters.html">rasters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(id, modifiedAfter=None, createdAfter=None, pageToken=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</a></code></p>
+<p class="firstline">Return all rasters within a raster collection.</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(id, modifiedAfter=None, createdAfter=None, pageToken=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</code>
+  <pre>Return all rasters within a raster collection.
+
+Args:
+  id: string, The ID of the raster collection to which these rasters belong. (required)
+  modifiedAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or after this time.
+  createdAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or after this time.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 100.
+  createdBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or before this time.
+  bbox: string, A bounding box, expressed as "west,south,east,north". If set, only assets which intersect this bounding box will be returned.
+  creatorEmail: string, An email address representing a user. Returned assets that have been created by the user associated with the provided email address.
+  modifiedBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or before this time.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to rasterCollections.rasters.List.
+    "nextPageToken": "A String", # Next page token.
+    "rasters": [ # Resources returned.
+      { # A raster resource.
+        "name": "A String", # The name of this Raster, supplied by the author.
+        "tags": [ # Tags of this Raster.
+          "A String",
+        ],
+        "rasterType": "image", # The type of this Raster. Always "image" today.
+        "projectId": "A String", # The ID of the project that this Raster is in.
+        "creationTime": "A String", # The creation time of this raster. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+        "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Raster. The numbers represent latitudes and longitudes in decimal degrees.
+          3.14,
+        ],
+        "lastModifiedTime": "A String", # The last modified time of this raster. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+        "id": "A String", # A globally unique ID, used to refer to this Raster.
+        "description": "A String", # The description of this Raster, supplied by the author.
+      },
+    ],
+  }</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/mapsengine_v1.rasters.files.html b/docs/dyn/mapsengine_v1.rasters.files.html
new file mode 100644
index 0000000..626862e
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.rasters.files.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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.rasters.html">rasters</a> . <a href="mapsengine_v1.rasters.files.html">files</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(id, filename, media_body=None)</a></code></p>
+<p class="firstline">Upload a file to a raster asset.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(id, filename, media_body=None)</code>
+  <pre>Upload a file to a raster asset.
+
+Args:
+  id: string, The ID of the raster asset. (required)
+  filename: string, The file name of this uploaded file. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mapsengine_v1.rasters.html b/docs/dyn/mapsengine_v1.rasters.html
new file mode 100644
index 0000000..006eab7
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.rasters.html
@@ -0,0 +1,232 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.rasters.html">rasters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mapsengine_v1.rasters.files.html">files()</a></code>
+</p>
+<p class="firstline">Returns the files Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.rasters.parents.html">parents()</a></code>
+</p>
+<p class="firstline">Returns the parents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Return metadata for a single raster.</p>
+<p class="toc_element">
+  <code><a href="#upload">upload(body)</a></code></p>
+<p class="firstline">Create a skeleton raster asset for upload.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Return metadata for a single raster.
+
+Args:
+  id: string, The ID of the raster. (required)
+
+Returns:
+  An object of the form:
+
+    { # A geo-referenced raster.
+      "files": [ # The files associated with this Raster.
+        { # A single File, which is a component of an Asset.
+          "size": "A String", # The size of the file in bytes.
+          "uploadStatus": "A String", # The upload status of the file.
+          "filename": "A String", # The name of the file.
+        },
+      ],
+      "attribution": "A String", # The name of the attribution to be used for this Raster.
+      "description": "A String", # The description of this Raster, supplied by the author.
+      "processingStatus": "A String", # The processing status of this Raster. The raster processing status values can be:
+          #
+          # 'notReady': The raster is not ready to be processed - some files have not been uploaded.
+          # 'ready': The raster is queued for processing.
+          # 'processing': The raster is currently processing.
+          # 'complete': Processing has completed successfully.
+          # 'failed': Processing failed to complete.
+      "draftAccessList": "A String", # The Map Editors access list to share this Raster with.
+      "projectId": "A String", # The ID of the project that this Raster is in.
+      "tags": [ # Tags of this Raster.
+        "A String",
+      ],
+      "creationTime": "A String", # The creation time of this raster. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "name": "A String", # The name of this Raster, supplied by the author.
+      "acquisitionTime": { # Acquisition time represents acquired time of a raster. # The acquisition time of this Raster.
+        "start": "A String", # The acquisition time, or start time if acquisition time is a range. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
+        "end": "A String", # The end time if acquisition time is a range. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
+        "precision": "A String", # The precision of acquisition time. Valid values include: 'year', 'month', 'day', 'hour', 'minute' and 'second'.
+      },
+      "maskType": "autoMask", # The mask processing type of this Raster. Valid values include "autoMask", "alphaChannelMask", "noMask", "imageMask".
+      "lastModifiedTime": "A String", # The last modified time of this raster. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "id": "A String", # A globally unique ID, used to refer to this Raster.
+      "rasterType": "image", # The type of this Raster. Always "image" today.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Raster. The numbers represent latitudes and longitudes in decimal degrees.
+        3.14,
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="upload">upload(body)</code>
+  <pre>Create a skeleton raster asset for upload.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A geo-referenced raster.
+    "files": [ # The files associated with this Raster.
+      { # A single File, which is a component of an Asset.
+        "size": "A String", # The size of the file in bytes.
+        "uploadStatus": "A String", # The upload status of the file.
+        "filename": "A String", # The name of the file.
+      },
+    ],
+    "attribution": "A String", # The name of the attribution to be used for this Raster.
+    "description": "A String", # The description of this Raster, supplied by the author.
+    "processingStatus": "A String", # The processing status of this Raster. The raster processing status values can be:
+        # 
+        # 'notReady': The raster is not ready to be processed - some files have not been uploaded.
+        # 'ready': The raster is queued for processing.
+        # 'processing': The raster is currently processing.
+        # 'complete': Processing has completed successfully.
+        # 'failed': Processing failed to complete.
+    "draftAccessList": "A String", # The Map Editors access list to share this Raster with.
+    "projectId": "A String", # The ID of the project that this Raster is in.
+    "tags": [ # Tags of this Raster.
+      "A String",
+    ],
+    "creationTime": "A String", # The creation time of this raster. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "name": "A String", # The name of this Raster, supplied by the author.
+    "acquisitionTime": { # Acquisition time represents acquired time of a raster. # The acquisition time of this Raster.
+      "start": "A String", # The acquisition time, or start time if acquisition time is a range. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
+      "end": "A String", # The end time if acquisition time is a range. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
+      "precision": "A String", # The precision of acquisition time. Valid values include: 'year', 'month', 'day', 'hour', 'minute' and 'second'.
+    },
+    "maskType": "autoMask", # The mask processing type of this Raster. Valid values include "autoMask", "alphaChannelMask", "noMask", "imageMask".
+    "lastModifiedTime": "A String", # The last modified time of this raster. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "id": "A String", # A globally unique ID, used to refer to this Raster.
+    "rasterType": "image", # The type of this Raster. Always "image" today.
+    "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Raster. The numbers represent latitudes and longitudes in decimal degrees.
+      3.14,
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A geo-referenced raster.
+      "files": [ # The files associated with this Raster.
+        { # A single File, which is a component of an Asset.
+          "size": "A String", # The size of the file in bytes.
+          "uploadStatus": "A String", # The upload status of the file.
+          "filename": "A String", # The name of the file.
+        },
+      ],
+      "attribution": "A String", # The name of the attribution to be used for this Raster.
+      "description": "A String", # The description of this Raster, supplied by the author.
+      "processingStatus": "A String", # The processing status of this Raster. The raster processing status values can be:
+          #
+          # 'notReady': The raster is not ready to be processed - some files have not been uploaded.
+          # 'ready': The raster is queued for processing.
+          # 'processing': The raster is currently processing.
+          # 'complete': Processing has completed successfully.
+          # 'failed': Processing failed to complete.
+      "draftAccessList": "A String", # The Map Editors access list to share this Raster with.
+      "projectId": "A String", # The ID of the project that this Raster is in.
+      "tags": [ # Tags of this Raster.
+        "A String",
+      ],
+      "creationTime": "A String", # The creation time of this raster. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "name": "A String", # The name of this Raster, supplied by the author.
+      "acquisitionTime": { # Acquisition time represents acquired time of a raster. # The acquisition time of this Raster.
+        "start": "A String", # The acquisition time, or start time if acquisition time is a range. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
+        "end": "A String", # The end time if acquisition time is a range. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
+        "precision": "A String", # The precision of acquisition time. Valid values include: 'year', 'month', 'day', 'hour', 'minute' and 'second'.
+      },
+      "maskType": "autoMask", # The mask processing type of this Raster. Valid values include "autoMask", "alphaChannelMask", "noMask", "imageMask".
+      "lastModifiedTime": "A String", # The last modified time of this raster. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "id": "A String", # A globally unique ID, used to refer to this Raster.
+      "rasterType": "image", # The type of this Raster. Always "image" today.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this Raster. The numbers represent latitudes and longitudes in decimal degrees.
+        3.14,
+      ],
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mapsengine_v1.rasters.parents.html b/docs/dyn/mapsengine_v1.rasters.parents.html
new file mode 100644
index 0000000..dd88be5
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.rasters.parents.html
@@ -0,0 +1,120 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.rasters.html">rasters</a> . <a href="mapsengine_v1.rasters.parents.html">parents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(id, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Return all parent ids of the specified rasters.</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(id, pageToken=None, maxResults=None)</code>
+  <pre>Return all parent ids of the specified rasters.
+
+Args:
+  id: string, The ID of the rasters whose parents will be listed. (required)
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 50.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to parents.List.
+    "nextPageToken": "A String", # Next page token.
+    "parents": [ # Resources returned.
+      { # A list of the parents of an asset.
+        "id": "A String", # The ID of this parent.
+      },
+    ],
+  }</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/mapsengine_v1.tables.features.html b/docs/dyn/mapsengine_v1.tables.features.html
new file mode 100644
index 0000000..1a3871f
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.tables.features.html
@@ -0,0 +1,287 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.tables.html">tables</a> . <a href="mapsengine_v1.tables.features.html">features</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#batchDelete">batchDelete(id, body)</a></code></p>
+<p class="firstline">Delete all features matching the given IDs.</p>
+<p class="toc_element">
+  <code><a href="#batchInsert">batchInsert(id, body)</a></code></p>
+<p class="firstline">Append features to an existing table.</p>
+<p class="toc_element">
+  <code><a href="#batchPatch">batchPatch(id, body)</a></code></p>
+<p class="firstline">Update the supplied features.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tableId, id, version=None, select=None)</a></code></p>
+<p class="firstline">Return a single feature, given its ID.</p>
+<p class="toc_element">
+  <code><a href="#list">list(id, orderBy=None, intersects=None, pageToken=None, maxResults=None, version=None, limit=None, include=None, where=None, select=None)</a></code></p>
+<p class="firstline">Return all features readable by the current 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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="batchDelete">batchDelete(id, body)</code>
+  <pre>Delete all features matching the given IDs.
+
+Args:
+  id: string, The ID of the table that contains the features to be deleted. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request sent to features.BatchDelete.
+    "gx_ids": [
+      "A String",
+    ],
+    "primaryKeys": [
+      "A String",
+    ],
+  }
+
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="batchInsert">batchInsert(id, body)</code>
+  <pre>Append features to an existing table.
+
+A single batchInsert request can create:
+
+- Up to 50 features.
+- A combined total of 10 000 vertices.
+Feature limits are documented in the Supported data formats and limits article of the Google Maps Engine help center. Note that free and paid accounts have different limits.
+
+For more information about inserting features, read Creating features in the Google Maps Engine developer's guide.
+
+Args:
+  id: string, The ID of the table to append the features to. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request sent to features.Insert.
+    "features": [
+      { # A feature within a table.
+        "geometry": { # A geometry object # The geometry member of this Feature.
+        },
+        "type": "Feature", # Identifies this object as a feature.
+        "properties": { # The properties associated with a feature. # Key/value pairs of this Feature.
+          "a_key": "",
+        },
+      },
+    ],
+  }
+
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="batchPatch">batchPatch(id, body)</code>
+  <pre>Update the supplied features.
+
+A single batchPatch request can update:
+
+- Up to 50 features.
+- A combined total of 10 000 vertices.
+Feature limits are documented in the Supported data formats and limits article of the Google Maps Engine help center. Note that free and paid accounts have different limits.
+
+Feature updates use HTTP PATCH semantics:
+
+- A supplied value replaces an existing value (if any) in that field.
+- Omitted fields remain unchanged.
+- Complex values in geometries and properties must be replaced as atomic units. For example, providing just the coordinates of a geometry is not allowed; the complete geometry, including type, must be supplied.
+- Setting a property's value to null deletes that property.
+For more information about updating features, read Updating features in the Google Maps Engine developer's guide.
+
+Args:
+  id: string, The ID of the table containing the features to be patched. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request sent to features.BatchPatch.
+    "features": [
+      { # A feature within a table.
+        "geometry": { # A geometry object # The geometry member of this Feature.
+        },
+        "type": "Feature", # Identifies this object as a feature.
+        "properties": { # The properties associated with a feature. # Key/value pairs of this Feature.
+          "a_key": "",
+        },
+      },
+    ],
+  }
+
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tableId, id, version=None, select=None)</code>
+  <pre>Return a single feature, given its ID.
+
+Args:
+  tableId: string, The ID of the table. (required)
+  id: string, The ID of the feature to get. (required)
+  version: string, The table version to access. See Accessing Public Data for information.
+    Allowed values
+      draft - The draft version.
+      published - The published version.
+  select: string, A SQL-like projection clause used to specify returned properties. If this parameter is not included, all properties are returned.
+
+Returns:
+  An object of the form:
+
+    { # A feature within a table.
+    "geometry": { # A geometry object # The geometry member of this Feature.
+    },
+    "type": "Feature", # Identifies this object as a feature.
+    "properties": { # The properties associated with a feature. # Key/value pairs of this Feature.
+      "a_key": "",
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(id, orderBy=None, intersects=None, pageToken=None, maxResults=None, version=None, limit=None, include=None, where=None, select=None)</code>
+  <pre>Return all features readable by the current user.
+
+Args:
+  id: string, The ID of the table to which these features belong. (required)
+  orderBy: string, An SQL-like order by clause used to sort results. If this parameter is not included, the order of features is undefined.
+  intersects: string, A geometry literal that specifies the spatial restriction of the query.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  maxResults: integer, The maximum number of items to include in the response, used for paging.
+  version: string, The table version to access. See Accessing Public Data for information.
+    Allowed values
+      draft - The draft version.
+      published - The published version.
+  limit: integer, The total number of features to return from the query, irrespective of the number of pages.
+  include: string, A comma separated list of optional data to include. Optional data available: schema.
+  where: string, An SQL-like predicate used to filter results.
+  select: string, A SQL-like projection clause used to specify returned properties. If this parameter is not included, all properties are returned.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to features.List.
+    "nextPageToken": "A String", # Next page token.
+    "allowedQueriesPerSecond": 3.14, # An indicator of the maximum rate at which queries may be made, if all queries were as expensive as this query.
+    "type": "FeatureCollection",
+    "features": [ # Resources returned.
+      { # A feature within a table.
+        "geometry": { # A geometry object # The geometry member of this Feature.
+        },
+        "type": "Feature", # Identifies this object as a feature.
+        "properties": { # The properties associated with a feature. # Key/value pairs of this Feature.
+          "a_key": "",
+        },
+      },
+    ],
+    "schema": { # A schema indicating the properties which may be associated with features within a Table, and the types of those properties. # The feature schema.
+      "primaryGeometry": "A String", # The name of the column that contains a feature's geometry. This field can be omitted during table create; Google Maps Engine supports only a single geometry column, which must be named geometry and be the first object in the columns array.
+      "primaryKey": "A String", # The name of the column that contains the unique identifier of a Feature.
+      "columns": [ # An array of column objects. The first object in the array must be named geometry and be of type points, lineStrings, polygons, or mixedGeometry.
+        {
+          "type": "A String", # The type of data stored in this column. Accepted values are:
+              #
+              # - integer
+              # - double
+              # - boolean
+              # - string
+              # - mixedGeometry
+              # - points
+              # - lineStrings
+              # - polygons
+          "name": "A String", # The column name.
+        },
+      ],
+    },
+  }</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/mapsengine_v1.tables.files.html b/docs/dyn/mapsengine_v1.tables.files.html
new file mode 100644
index 0000000..aaebf5c
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.tables.files.html
@@ -0,0 +1,93 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.tables.html">tables</a> . <a href="mapsengine_v1.tables.files.html">files</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(id, filename, media_body=None)</a></code></p>
+<p class="firstline">Upload a file to a placeholder table asset. See Table Upload in the Developer's Guide for more information.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(id, filename, media_body=None)</code>
+  <pre>Upload a file to a placeholder table asset. See Table Upload in the Developer's Guide for more information.
+Supported file types are listed in the Supported data formats and limits article of the Google Maps Engine help center.
+
+Args:
+  id: string, The ID of the table asset. (required)
+  filename: string, The file name of this uploaded file. (required)
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mapsengine_v1.tables.html b/docs/dyn/mapsengine_v1.tables.html
new file mode 100644
index 0000000..17f75dc
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.tables.html
@@ -0,0 +1,495 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.tables.html">tables</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mapsengine_v1.tables.features.html">features()</a></code>
+</p>
+<p class="firstline">Returns the features Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.tables.files.html">files()</a></code>
+</p>
+<p class="firstline">Returns the files Resource.</p>
+
+<p class="toc_element">
+  <code><a href="mapsengine_v1.tables.parents.html">parents()</a></code>
+</p>
+<p class="firstline">Returns the parents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#create">create(body)</a></code></p>
+<p class="firstline">Create a table asset.</p>
+<p class="toc_element">
+  <code><a href="#get">get(id, version=None)</a></code></p>
+<p class="firstline">Return metadata for a particular table, including the schema.</p>
+<p class="toc_element">
+  <code><a href="#list">list(modifiedAfter=None, createdAfter=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</a></code></p>
+<p class="firstline">Return all tables readable by the current 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="#upload">upload(body)</a></code></p>
+<p class="firstline">Create a placeholder table asset to which table files can be uploaded.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="create">create(body)</code>
+  <pre>Create a table asset.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A collection of geographic features, and associated metadata.
+    "files": [ # The files associated with this table.
+      { # A single File, which is a component of an Asset.
+        "size": "A String", # The size of the file in bytes.
+        "uploadStatus": "A String", # The upload status of the file.
+        "filename": "A String", # The name of the file.
+      },
+    ],
+    "schema": { # A schema indicating the properties which may be associated with features within a Table, and the types of those properties. # The schema for this table.
+      "primaryGeometry": "A String", # The name of the column that contains a feature's geometry. This field can be omitted during table create; Google Maps Engine supports only a single geometry column, which must be named geometry and be the first object in the columns array.
+      "primaryKey": "A String", # The name of the column that contains the unique identifier of a Feature.
+      "columns": [ # An array of column objects. The first object in the array must be named geometry and be of type points, lineStrings, polygons, or mixedGeometry.
+        {
+          "type": "A String", # The type of data stored in this column. Accepted values are:
+              #
+              # - integer
+              # - double
+              # - boolean
+              # - string
+              # - mixedGeometry
+              # - points
+              # - lineStrings
+              # - polygons
+          "name": "A String", # The column name.
+        },
+      ],
+    },
+    "description": "A String", # The description of this table, supplied by the author.
+    "processingStatus": "A String", # The processing status of this table. The supported processing status values are:
+        # 
+        # - notReady: The table is not ready to be processed - some files have not been uploaded.
+        # - ready: The table is queued for processing.
+        # - processing: The table is currently processing.
+        # - complete: Processing has completed successfully.
+        # - failed: Processing failed to complete.
+    "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+    "projectId": "A String", # The ID of the project to which the table belongs.
+    "tags": [ # An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center.
+      "A String",
+    ],
+    "creationTime": "A String", # The creation time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "sourceEncoding": "UTF-8", # Encoding of the uploaded files. Valid values include UTF-8, CP1251, ISO 8859-1, and Shift_JIS.
+    "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this table.
+      3.14,
+    ],
+    "lastModifiedTime": "A String", # The last modified time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+    "id": "A String", # A globally unique ID, used to refer to this table.
+    "name": "A String", # The name of this table, supplied by the author.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A collection of geographic features, and associated metadata.
+      "files": [ # The files associated with this table.
+        { # A single File, which is a component of an Asset.
+          "size": "A String", # The size of the file in bytes.
+          "uploadStatus": "A String", # The upload status of the file.
+          "filename": "A String", # The name of the file.
+        },
+      ],
+      "schema": { # A schema indicating the properties which may be associated with features within a Table, and the types of those properties. # The schema for this table.
+        "primaryGeometry": "A String", # The name of the column that contains a feature's geometry. This field can be omitted during table create; Google Maps Engine supports only a single geometry column, which must be named geometry and be the first object in the columns array.
+        "primaryKey": "A String", # The name of the column that contains the unique identifier of a Feature.
+        "columns": [ # An array of column objects. The first object in the array must be named geometry and be of type points, lineStrings, polygons, or mixedGeometry.
+          {
+            "type": "A String", # The type of data stored in this column. Accepted values are:
+                #
+                # - integer
+                # - double
+                # - boolean
+                # - string
+                # - mixedGeometry
+                # - points
+                # - lineStrings
+                # - polygons
+            "name": "A String", # The column name.
+          },
+        ],
+      },
+      "description": "A String", # The description of this table, supplied by the author.
+      "processingStatus": "A String", # The processing status of this table. The supported processing status values are:
+          #
+          # - notReady: The table is not ready to be processed - some files have not been uploaded.
+          # - ready: The table is queued for processing.
+          # - processing: The table is currently processing.
+          # - complete: Processing has completed successfully.
+          # - failed: Processing failed to complete.
+      "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+      "projectId": "A String", # The ID of the project to which the table belongs.
+      "tags": [ # An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center.
+        "A String",
+      ],
+      "creationTime": "A String", # The creation time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "sourceEncoding": "UTF-8", # Encoding of the uploaded files. Valid values include UTF-8, CP1251, ISO 8859-1, and Shift_JIS.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this table.
+        3.14,
+      ],
+      "lastModifiedTime": "A String", # The last modified time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+      "id": "A String", # A globally unique ID, used to refer to this table.
+      "name": "A String", # The name of this table, supplied by the author.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(id, version=None)</code>
+  <pre>Return metadata for a particular table, including the schema.
+
+Args:
+  id: string, The ID of the table. (required)
+  version: string, A parameter
+    Allowed values
+      draft - The draft version.
+      published - The published version.
+
+Returns:
+  An object of the form:
+
+    { # A collection of geographic features, and associated metadata.
+      "files": [ # The files associated with this table.
+        { # A single File, which is a component of an Asset.
+          "size": "A String", # The size of the file in bytes.
+          "uploadStatus": "A String", # The upload status of the file.
+          "filename": "A String", # The name of the file.
+        },
+      ],
+      "schema": { # A schema indicating the properties which may be associated with features within a Table, and the types of those properties. # The schema for this table.
+        "primaryGeometry": "A String", # The name of the column that contains a feature's geometry. This field can be omitted during table create; Google Maps Engine supports only a single geometry column, which must be named geometry and be the first object in the columns array.
+        "primaryKey": "A String", # The name of the column that contains the unique identifier of a Feature.
+        "columns": [ # An array of column objects. The first object in the array must be named geometry and be of type points, lineStrings, polygons, or mixedGeometry.
+          {
+            "type": "A String", # The type of data stored in this column. Accepted values are:
+                #
+                # - integer
+                # - double
+                # - boolean
+                # - string
+                # - mixedGeometry
+                # - points
+                # - lineStrings
+                # - polygons
+            "name": "A String", # The column name.
+          },
+        ],
+      },
+      "description": "A String", # The description of this table, supplied by the author.
+      "processingStatus": "A String", # The processing status of this table. The supported processing status values are:
+          #
+          # - notReady: The table is not ready to be processed - some files have not been uploaded.
+          # - ready: The table is queued for processing.
+          # - processing: The table is currently processing.
+          # - complete: Processing has completed successfully.
+          # - failed: Processing failed to complete.
+      "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+      "projectId": "A String", # The ID of the project to which the table belongs.
+      "tags": [ # An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center.
+        "A String",
+      ],
+      "creationTime": "A String", # The creation time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "sourceEncoding": "UTF-8", # Encoding of the uploaded files. Valid values include UTF-8, CP1251, ISO 8859-1, and Shift_JIS.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this table.
+        3.14,
+      ],
+      "lastModifiedTime": "A String", # The last modified time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+      "id": "A String", # A globally unique ID, used to refer to this table.
+      "name": "A String", # The name of this table, supplied by the author.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(modifiedAfter=None, createdAfter=None, pageToken=None, projectId=None, maxResults=None, createdBefore=None, bbox=None, creatorEmail=None, modifiedBefore=None)</code>
+  <pre>Return all tables readable by the current user.
+
+Args:
+  modifiedAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or after this time.
+  createdAfter: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or after this time.
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  projectId: string, The ID of a Maps Engine project, used to filter the response. To list all available projects with their IDs, send a Projects: list request. You can also find your project ID as the value of the DashboardPlace:cid URL parameter when signed in to mapsengine.google.com.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 100.
+  createdBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been created at or before this time.
+  bbox: string, A bounding box, expressed as "west,south,east,north". If set, only assets which intersect this bounding box will be returned.
+  creatorEmail: string, An email address representing a user. Returned assets that have been created by the user associated with the provided email address.
+  modifiedBefore: string, An RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z). Returned assets will have been modified at or before this time.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to tables.List.
+    "nextPageToken": "A String", # Next page token.
+    "tables": [ # Resources returned.
+      { # A collection of geographic features, and associated metadata.
+          "files": [ # The files associated with this table.
+            { # A single File, which is a component of an Asset.
+              "size": "A String", # The size of the file in bytes.
+              "uploadStatus": "A String", # The upload status of the file.
+              "filename": "A String", # The name of the file.
+            },
+          ],
+          "schema": { # A schema indicating the properties which may be associated with features within a Table, and the types of those properties. # The schema for this table.
+            "primaryGeometry": "A String", # The name of the column that contains a feature's geometry. This field can be omitted during table create; Google Maps Engine supports only a single geometry column, which must be named geometry and be the first object in the columns array.
+            "primaryKey": "A String", # The name of the column that contains the unique identifier of a Feature.
+            "columns": [ # An array of column objects. The first object in the array must be named geometry and be of type points, lineStrings, polygons, or mixedGeometry.
+              {
+                "type": "A String", # The type of data stored in this column. Accepted values are:
+                    #
+                    # - integer
+                    # - double
+                    # - boolean
+                    # - string
+                    # - mixedGeometry
+                    # - points
+                    # - lineStrings
+                    # - polygons
+                "name": "A String", # The column name.
+              },
+            ],
+          },
+          "description": "A String", # The description of this table, supplied by the author.
+          "processingStatus": "A String", # The processing status of this table. The supported processing status values are:
+              #
+              # - notReady: The table is not ready to be processed - some files have not been uploaded.
+              # - ready: The table is queued for processing.
+              # - processing: The table is currently processing.
+              # - complete: Processing has completed successfully.
+              # - failed: Processing failed to complete.
+          "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+          "projectId": "A String", # The ID of the project to which the table belongs.
+          "tags": [ # An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center.
+            "A String",
+          ],
+          "creationTime": "A String", # The creation time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+          "sourceEncoding": "UTF-8", # Encoding of the uploaded files. Valid values include UTF-8, CP1251, ISO 8859-1, and Shift_JIS.
+          "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this table.
+            3.14,
+          ],
+          "lastModifiedTime": "A String", # The last modified time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+          "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+          "id": "A String", # A globally unique ID, used to refer to this table.
+          "name": "A String", # The name of this table, supplied by the author.
+        },
+    ],
+  }</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="upload">upload(body)</code>
+  <pre>Create a placeholder table asset to which table files can be uploaded.
+Once the placeholder has been created, files are uploaded to the https://www.googleapis.com/upload/mapsengine/v1/tables/table_id/files endpoint.
+See Table Upload in the Developer's Guide or Table.files: insert in the reference documentation for more information.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A collection of geographic features, and associated metadata.
+    "files": [ # The files associated with this table.
+      { # A single File, which is a component of an Asset.
+        "size": "A String", # The size of the file in bytes.
+        "uploadStatus": "A String", # The upload status of the file.
+        "filename": "A String", # The name of the file.
+      },
+    ],
+    "schema": { # A schema indicating the properties which may be associated with features within a Table, and the types of those properties. # The schema for this table.
+      "primaryGeometry": "A String", # The name of the column that contains a feature's geometry. This field can be omitted during table create; Google Maps Engine supports only a single geometry column, which must be named geometry and be the first object in the columns array.
+      "primaryKey": "A String", # The name of the column that contains the unique identifier of a Feature.
+      "columns": [ # An array of column objects. The first object in the array must be named geometry and be of type points, lineStrings, polygons, or mixedGeometry.
+        {
+          "type": "A String", # The type of data stored in this column. Accepted values are:
+              #
+              # - integer
+              # - double
+              # - boolean
+              # - string
+              # - mixedGeometry
+              # - points
+              # - lineStrings
+              # - polygons
+          "name": "A String", # The column name.
+        },
+      ],
+    },
+    "description": "A String", # The description of this table, supplied by the author.
+    "processingStatus": "A String", # The processing status of this table. The supported processing status values are:
+        # 
+        # - notReady: The table is not ready to be processed - some files have not been uploaded.
+        # - ready: The table is queued for processing.
+        # - processing: The table is currently processing.
+        # - complete: Processing has completed successfully.
+        # - failed: Processing failed to complete.
+    "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+    "projectId": "A String", # The ID of the project to which the table belongs.
+    "tags": [ # An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center.
+      "A String",
+    ],
+    "creationTime": "A String", # The creation time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "sourceEncoding": "UTF-8", # Encoding of the uploaded files. Valid values include UTF-8, CP1251, ISO 8859-1, and Shift_JIS.
+    "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this table.
+      3.14,
+    ],
+    "lastModifiedTime": "A String", # The last modified time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+    "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+    "id": "A String", # A globally unique ID, used to refer to this table.
+    "name": "A String", # The name of this table, supplied by the author.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A collection of geographic features, and associated metadata.
+      "files": [ # The files associated with this table.
+        { # A single File, which is a component of an Asset.
+          "size": "A String", # The size of the file in bytes.
+          "uploadStatus": "A String", # The upload status of the file.
+          "filename": "A String", # The name of the file.
+        },
+      ],
+      "schema": { # A schema indicating the properties which may be associated with features within a Table, and the types of those properties. # The schema for this table.
+        "primaryGeometry": "A String", # The name of the column that contains a feature's geometry. This field can be omitted during table create; Google Maps Engine supports only a single geometry column, which must be named geometry and be the first object in the columns array.
+        "primaryKey": "A String", # The name of the column that contains the unique identifier of a Feature.
+        "columns": [ # An array of column objects. The first object in the array must be named geometry and be of type points, lineStrings, polygons, or mixedGeometry.
+          {
+            "type": "A String", # The type of data stored in this column. Accepted values are:
+                #
+                # - integer
+                # - double
+                # - boolean
+                # - string
+                # - mixedGeometry
+                # - points
+                # - lineStrings
+                # - polygons
+            "name": "A String", # The column name.
+          },
+        ],
+      },
+      "description": "A String", # The description of this table, supplied by the author.
+      "processingStatus": "A String", # The processing status of this table. The supported processing status values are:
+          #
+          # - notReady: The table is not ready to be processed - some files have not been uploaded.
+          # - ready: The table is queued for processing.
+          # - processing: The table is currently processing.
+          # - complete: Processing has completed successfully.
+          # - failed: Processing failed to complete.
+      "draftAccessList": "A String", # The name of an access list of the Map Editor type. The user on whose behalf the request is being sent must be an editor on that access list. Read About access lists in the Google Maps Engine help center for more information.
+      "projectId": "A String", # The ID of the project to which the table belongs.
+      "tags": [ # An array of text strings, with each string representing a tag. More information about tags can be found in the Tagging data article of the Maps Engine help center.
+        "A String",
+      ],
+      "creationTime": "A String", # The creation time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "sourceEncoding": "UTF-8", # Encoding of the uploaded files. Valid values include UTF-8, CP1251, ISO 8859-1, and Shift_JIS.
+      "bbox": [ # An array of four numbers (west, south, east, north) which define the rectangular bounding box which contains all of the data in this table.
+        3.14,
+      ],
+      "lastModifiedTime": "A String", # The last modified time of this table. The value is an RFC 3339 formatted date-time value (e.g. 1970-01-01T00:00:00Z).
+      "publishedAccessList": "A String", # The access list to whom view permissions are granted. The value must be the name of a Maps Engine access list of the Map Viewer type, and the user must be a viewer on that list. Read About access lists in the Google Maps Engine help center for more information.
+      "id": "A String", # A globally unique ID, used to refer to this table.
+      "name": "A String", # The name of this table, supplied by the author.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/mapsengine_v1.tables.parents.html b/docs/dyn/mapsengine_v1.tables.parents.html
new file mode 100644
index 0000000..2e8c2b2
--- /dev/null
+++ b/docs/dyn/mapsengine_v1.tables.parents.html
@@ -0,0 +1,120 @@
+<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="mapsengine_v1.html">Google Maps Engine API</a> . <a href="mapsengine_v1.tables.html">tables</a> . <a href="mapsengine_v1.tables.parents.html">parents</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(id, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Return all parent ids of the specified table.</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(id, pageToken=None, maxResults=None)</code>
+  <pre>Return all parent ids of the specified table.
+
+Args:
+  id: string, The ID of the table whose parents will be listed. (required)
+  pageToken: string, The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response.
+  maxResults: integer, The maximum number of items to include in a single response page. The maximum supported value is 50.
+
+Returns:
+  An object of the form:
+
+    { # The response returned by a call to parents.List.
+    "nextPageToken": "A String", # Next page token.
+    "parents": [ # Resources returned.
+      { # A list of the parents of an asset.
+        "id": "A String", # The ID of this parent.
+      },
+    ],
+  }</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/mirror_v1.accounts.html b/docs/dyn/mirror_v1.accounts.html
new file mode 100644
index 0000000..137222f
--- /dev/null
+++ b/docs/dyn/mirror_v1.accounts.html
@@ -0,0 +1,135 @@
+<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.accounts.html">accounts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(userToken, accountType, accountName, body)</a></code></p>
+<p class="firstline">Inserts a new account for a user</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(userToken, accountType, accountName, body)</code>
+  <pre>Inserts a new account for a user
+
+Args:
+  userToken: string, The ID for the user. (required)
+  accountType: string, Account type to be passed to Android Account Manager. (required)
+  accountName: string, The name of the account to be passed to the Android Account Manager. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents an account passed into the Account Manager on Glass.
+    "userData": [
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "authTokens": [
+      {
+        "authToken": "A String",
+        "type": "A String",
+      },
+    ],
+    "password": "A String",
+    "features": [
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents an account passed into the Account Manager on Glass.
+      "userData": [
+        {
+          "value": "A String",
+          "key": "A String",
+        },
+      ],
+      "authTokens": [
+        {
+          "authToken": "A String",
+          "type": "A String",
+        },
+      ],
+      "password": "A String",
+      "features": [
+        "A String",
+      ],
+    }</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..040b04f
--- /dev/null
+++ b/docs/dyn/mirror_v1.contacts.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="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",
+      ],
+      "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",
+      ],
+      "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.
+      "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+          # - ADD_CAPTION
+        "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.
+      "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+        { # A single menu command that is part of a Contact.
+          "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+              # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+              # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+        },
+      ],
+      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+      "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+    }</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",
+    ],
+    "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",
+    ],
+    "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.
+    "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+        # - ADD_CAPTION
+      "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.
+    "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+      { # A single menu command that is part of a Contact.
+        "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+            # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+            # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+      },
+    ],
+    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+    "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+  }
+
+
+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",
+      ],
+      "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",
+      ],
+      "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.
+      "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+          # - ADD_CAPTION
+        "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.
+      "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+        { # A single menu command that is part of a Contact.
+          "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+              # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+              # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+        },
+      ],
+      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+      "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+    }</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",
+          ],
+          "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",
+          ],
+          "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.
+          "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+              # - ADD_CAPTION
+            "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.
+          "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+            { # A single menu command that is part of a Contact.
+              "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                  # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                  # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+            },
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+        },
+    ],
+    "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",
+    ],
+    "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",
+    ],
+    "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.
+    "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+        # - ADD_CAPTION
+      "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.
+    "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+      { # A single menu command that is part of a Contact.
+        "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+            # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+            # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+      },
+    ],
+    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+    "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+  }
+
+
+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",
+      ],
+      "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",
+      ],
+      "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.
+      "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+          # - ADD_CAPTION
+        "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.
+      "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+        { # A single menu command that is part of a Contact.
+          "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+              # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+              # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+        },
+      ],
+      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+      "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+    }</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",
+    ],
+    "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",
+    ],
+    "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.
+    "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+        # - ADD_CAPTION
+      "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.
+    "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+      { # A single menu command that is part of a Contact.
+        "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+            # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+            # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+      },
+    ],
+    "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+    "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+  }
+
+
+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",
+      ],
+      "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",
+      ],
+      "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.
+      "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+          # - ADD_CAPTION
+        "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.
+      "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+        { # A single menu command that is part of a Contact.
+          "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+              # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+              # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+        },
+      ],
+      "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+      "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+    }</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..4cef53e
--- /dev/null
+++ b/docs/dyn/mirror_v1.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="mirror_v1.html">Google Mirror API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="mirror_v1.accounts.html">accounts()</a></code>
+</p>
+<p class="firstline">Returns the accounts Resource.</p>
+
+<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..5fa9a79
--- /dev/null
+++ b/docs/dyn/mirror_v1.subscriptions.html
@@ -0,0 +1,351 @@
+<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.
+              # - LAUNCH - the user initiated a voice command.  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.
+                # - LAUNCH - the user initiated a voice command.  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.
+                    # - LAUNCH - the user initiated a voice command.  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.
+              # - LAUNCH - the user initiated a voice command.  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.
+                # - LAUNCH - the user initiated a voice command.  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..c78b36c
--- /dev/null
+++ b/docs/dyn/mirror_v1.timeline.html
@@ -0,0 +1,1599 @@
+<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",
+          ],
+          "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",
+          ],
+          "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.
+          "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+              # - ADD_CAPTION
+            "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.
+          "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+            { # A single menu command that is part of a Contact.
+              "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                  # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                  # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+            },
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+        },
+      "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.
+              # - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property.
+              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient.
+              # - NAVIGATE - Navigate to the timeline item's location.
+              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+              # - OPEN_URI - Open the payload of the menu item in the browser.
+              # - PLAY_VIDEO - Open the payload of the menu item in the Glass video player.
+              # - SEND_MESSAGE - Initiate sending a message to the timeline item's creator:
+              # - If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS.
+              # - Otherwise, if the creator.email is set, the message is an email.
+          "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. If you specify this property for a built-in menu item, the default contextual voice command for that menu item is not shown.
+            },
+          ],
+          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+          "payload": "A String", # A generic payload whose meaning changes depending on this MenuItem's action.
+              # - When the action is OPEN_URI, the payload is the URL of the website to view.
+              # - When the action is PLAY_VIDEO, the payload is the streaming URL of the video
+              # - When the action is GET_MEDIA_INPUT, the payload is the text transcription of a user's speech input
+        },
+      ],
+      "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",
+            ],
+            "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",
+            ],
+            "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.
+            "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+                # - ADD_CAPTION
+              "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.
+            "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+              { # A single menu command that is part of a Contact.
+                "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                    # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                    # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+              },
+            ],
+            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+            "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+          },
+      ],
+      "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.
+      "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",
+        ],
+        "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",
+        ],
+        "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.
+        "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+            # - ADD_CAPTION
+          "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.
+        "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+          { # A single menu command that is part of a Contact.
+            "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+          },
+        ],
+        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+      },
+    "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.
+            # - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property.
+            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient.
+            # - NAVIGATE - Navigate to the timeline item's location.
+            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+            # - OPEN_URI - Open the payload of the menu item in the browser.
+            # - PLAY_VIDEO - Open the payload of the menu item in the Glass video player.
+            # - SEND_MESSAGE - Initiate sending a message to the timeline item's creator:
+            # - If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS.
+            # - Otherwise, if the creator.email is set, the message is an email.
+        "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. If you specify this property for a built-in menu item, the default contextual voice command for that menu item is not shown.
+          },
+        ],
+        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+        "payload": "A String", # A generic payload whose meaning changes depending on this MenuItem's action.
+            # - When the action is OPEN_URI, the payload is the URL of the website to view.
+            # - When the action is PLAY_VIDEO, the payload is the streaming URL of the video
+            # - When the action is GET_MEDIA_INPUT, the payload is the text transcription of a user's speech input
+      },
+    ],
+    "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",
+          ],
+          "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",
+          ],
+          "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.
+          "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+              # - ADD_CAPTION
+            "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.
+          "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+            { # A single menu command that is part of a Contact.
+              "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                  # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                  # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+            },
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+        },
+    ],
+    "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.
+    "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",
+          ],
+          "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",
+          ],
+          "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.
+          "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+              # - ADD_CAPTION
+            "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.
+          "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+            { # A single menu command that is part of a Contact.
+              "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                  # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                  # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+            },
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+        },
+      "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.
+              # - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property.
+              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient.
+              # - NAVIGATE - Navigate to the timeline item's location.
+              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+              # - OPEN_URI - Open the payload of the menu item in the browser.
+              # - PLAY_VIDEO - Open the payload of the menu item in the Glass video player.
+              # - SEND_MESSAGE - Initiate sending a message to the timeline item's creator:
+              # - If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS.
+              # - Otherwise, if the creator.email is set, the message is an email.
+          "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. If you specify this property for a built-in menu item, the default contextual voice command for that menu item is not shown.
+            },
+          ],
+          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+          "payload": "A String", # A generic payload whose meaning changes depending on this MenuItem's action.
+              # - When the action is OPEN_URI, the payload is the URL of the website to view.
+              # - When the action is PLAY_VIDEO, the payload is the streaming URL of the video
+              # - When the action is GET_MEDIA_INPUT, the payload is the text transcription of a user's speech input
+        },
+      ],
+      "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",
+            ],
+            "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",
+            ],
+            "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.
+            "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+                # - ADD_CAPTION
+              "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.
+            "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+              { # A single menu command that is part of a Contact.
+                "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                    # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                    # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+              },
+            ],
+            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+            "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+          },
+      ],
+      "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.
+      "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",
+              ],
+              "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",
+              ],
+              "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.
+              "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+                  # - ADD_CAPTION
+                "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.
+              "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+                { # A single menu command that is part of a Contact.
+                  "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                      # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                      # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+                },
+              ],
+              "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+              "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+            },
+          "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.
+                  # - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property.
+                  # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient.
+                  # - NAVIGATE - Navigate to the timeline item's location.
+                  # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+                  # - OPEN_URI - Open the payload of the menu item in the browser.
+                  # - PLAY_VIDEO - Open the payload of the menu item in the Glass video player.
+                  # - SEND_MESSAGE - Initiate sending a message to the timeline item's creator:
+                  # - If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS.
+                  # - Otherwise, if the creator.email is set, the message is an email.
+              "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. If you specify this property for a built-in menu item, the default contextual voice command for that menu item is not shown.
+                },
+              ],
+              "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+              "payload": "A String", # A generic payload whose meaning changes depending on this MenuItem's action.
+                  # - When the action is OPEN_URI, the payload is the URL of the website to view.
+                  # - When the action is PLAY_VIDEO, the payload is the streaming URL of the video
+                  # - When the action is GET_MEDIA_INPUT, the payload is the text transcription of a user's speech input
+            },
+          ],
+          "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",
+                ],
+                "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",
+                ],
+                "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.
+                "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+                    # - ADD_CAPTION
+                  "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.
+                "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+                  { # A single menu command that is part of a Contact.
+                    "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                        # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                        # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+                  },
+                ],
+                "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+                "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+              },
+          ],
+          "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.
+          "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",
+        ],
+        "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",
+        ],
+        "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.
+        "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+            # - ADD_CAPTION
+          "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.
+        "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+          { # A single menu command that is part of a Contact.
+            "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+          },
+        ],
+        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+      },
+    "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.
+            # - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property.
+            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient.
+            # - NAVIGATE - Navigate to the timeline item's location.
+            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+            # - OPEN_URI - Open the payload of the menu item in the browser.
+            # - PLAY_VIDEO - Open the payload of the menu item in the Glass video player.
+            # - SEND_MESSAGE - Initiate sending a message to the timeline item's creator:
+            # - If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS.
+            # - Otherwise, if the creator.email is set, the message is an email.
+        "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. If you specify this property for a built-in menu item, the default contextual voice command for that menu item is not shown.
+          },
+        ],
+        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+        "payload": "A String", # A generic payload whose meaning changes depending on this MenuItem's action.
+            # - When the action is OPEN_URI, the payload is the URL of the website to view.
+            # - When the action is PLAY_VIDEO, the payload is the streaming URL of the video
+            # - When the action is GET_MEDIA_INPUT, the payload is the text transcription of a user's speech input
+      },
+    ],
+    "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",
+          ],
+          "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",
+          ],
+          "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.
+          "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+              # - ADD_CAPTION
+            "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.
+          "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+            { # A single menu command that is part of a Contact.
+              "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                  # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                  # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+            },
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+        },
+    ],
+    "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.
+    "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",
+          ],
+          "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",
+          ],
+          "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.
+          "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+              # - ADD_CAPTION
+            "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.
+          "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+            { # A single menu command that is part of a Contact.
+              "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                  # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                  # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+            },
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+        },
+      "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.
+              # - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property.
+              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient.
+              # - NAVIGATE - Navigate to the timeline item's location.
+              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+              # - OPEN_URI - Open the payload of the menu item in the browser.
+              # - PLAY_VIDEO - Open the payload of the menu item in the Glass video player.
+              # - SEND_MESSAGE - Initiate sending a message to the timeline item's creator:
+              # - If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS.
+              # - Otherwise, if the creator.email is set, the message is an email.
+          "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. If you specify this property for a built-in menu item, the default contextual voice command for that menu item is not shown.
+            },
+          ],
+          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+          "payload": "A String", # A generic payload whose meaning changes depending on this MenuItem's action.
+              # - When the action is OPEN_URI, the payload is the URL of the website to view.
+              # - When the action is PLAY_VIDEO, the payload is the streaming URL of the video
+              # - When the action is GET_MEDIA_INPUT, the payload is the text transcription of a user's speech input
+        },
+      ],
+      "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",
+            ],
+            "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",
+            ],
+            "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.
+            "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+                # - ADD_CAPTION
+              "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.
+            "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+              { # A single menu command that is part of a Contact.
+                "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                    # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                    # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+              },
+            ],
+            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+            "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+          },
+      ],
+      "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.
+      "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",
+        ],
+        "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",
+        ],
+        "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.
+        "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+            # - ADD_CAPTION
+          "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.
+        "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+          { # A single menu command that is part of a Contact.
+            "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+          },
+        ],
+        "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+        "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+      },
+    "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.
+            # - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property.
+            # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient.
+            # - NAVIGATE - Navigate to the timeline item's location.
+            # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+            # - OPEN_URI - Open the payload of the menu item in the browser.
+            # - PLAY_VIDEO - Open the payload of the menu item in the Glass video player.
+            # - SEND_MESSAGE - Initiate sending a message to the timeline item's creator:
+            # - If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS.
+            # - Otherwise, if the creator.email is set, the message is an email.
+        "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. If you specify this property for a built-in menu item, the default contextual voice command for that menu item is not shown.
+          },
+        ],
+        "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+        "payload": "A String", # A generic payload whose meaning changes depending on this MenuItem's action.
+            # - When the action is OPEN_URI, the payload is the URL of the website to view.
+            # - When the action is PLAY_VIDEO, the payload is the streaming URL of the video
+            # - When the action is GET_MEDIA_INPUT, the payload is the text transcription of a user's speech input
+      },
+    ],
+    "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",
+          ],
+          "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",
+          ],
+          "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.
+          "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+              # - ADD_CAPTION
+            "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.
+          "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+            { # A single menu command that is part of a Contact.
+              "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                  # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                  # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+            },
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+        },
+    ],
+    "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.
+    "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",
+          ],
+          "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",
+          ],
+          "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.
+          "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+              # - ADD_CAPTION
+            "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.
+          "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+            { # A single menu command that is part of a Contact.
+              "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                  # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                  # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+            },
+          ],
+          "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+          "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+        },
+      "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.
+              # - GET_MEDIA_INPUT - Allow users to provide media payloads to Glassware from a menu item (currently, only transcribed text from voice input is supported). Subscribe to notifications when users invoke this menu item to receive the timeline item ID. Retrieve the media from the timeline item in the payload property.
+              # - VOICE_CALL - Initiate a phone call using the timeline item's creator.phoneNumber attribute as recipient.
+              # - NAVIGATE - Navigate to the timeline item's location.
+              # - TOGGLE_PINNED - Toggle the isPinned state of the timeline item.
+              # - OPEN_URI - Open the payload of the menu item in the browser.
+              # - PLAY_VIDEO - Open the payload of the menu item in the Glass video player.
+              # - SEND_MESSAGE - Initiate sending a message to the timeline item's creator:
+              # - If the creator.phoneNumber is set and Glass is connected to an Android phone, the message is an SMS.
+              # - Otherwise, if the creator.email is set, the message is an email.
+          "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. If you specify this property for a built-in menu item, the default contextual voice command for that menu item is not shown.
+            },
+          ],
+          "id": "A String", # The ID for this menu item. This is generated by the application and is treated as an opaque token.
+          "payload": "A String", # A generic payload whose meaning changes depending on this MenuItem's action.
+              # - When the action is OPEN_URI, the payload is the URL of the website to view.
+              # - When the action is PLAY_VIDEO, the payload is the streaming URL of the video
+              # - When the action is GET_MEDIA_INPUT, the payload is the text transcription of a user's speech input
+        },
+      ],
+      "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",
+            ],
+            "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",
+            ],
+            "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.
+            "sharingFeatures": [ # A list of sharing features that a contact can handle. Allowed values are:
+                # - ADD_CAPTION
+              "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.
+            "acceptCommands": [ # A list of voice menu commands that a contact can handle. Glass shows up to three contacts for each voice menu command. If there are more than that, the three contacts with the highest priority are shown for that particular command.
+              { # A single menu command that is part of a Contact.
+                "type": "A String", # The type of operation this command corresponds to. Allowed values are:
+                    # - TAKE_A_NOTE - Shares a timeline item with the transcription of user speech from the "Take a note" voice menu command.
+                    # - POST_AN_UPDATE - Shares a timeline item with the transcription of user speech from the "Post an update" voice menu command.
+              },
+            ],
+            "id": "A String", # An ID for this contact. This is generated by the application and is treated as an opaque token.
+            "speakableName": "A String", # Name of this contact as it should be pronounced. If this contact's name must be spoken as part of a voice disambiguation menu, this name is used as the expected pronunciation. This is useful for contact names with unpronounceable characters or whose display spelling is otherwise not phonetic.
+          },
+      ],
+      "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.
+      "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/oauth2_v2.html b/docs/dyn/oauth2_v2.html
new file mode 100644
index 0000000..8c22fe5
--- /dev/null
+++ b/docs/dyn/oauth2_v2.html
@@ -0,0 +1,109 @@
+<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="oauth2_v2.html">Google OAuth2 API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="oauth2_v2.userinfo.html">userinfo()</a></code>
+</p>
+<p class="firstline">Returns the userinfo Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#tokeninfo">tokeninfo(access_token=None, id_token=None)</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="tokeninfo">tokeninfo(access_token=None, id_token=None)</code>
+  <pre>A description of how to use this function
+
+Args:
+  access_token: string, A parameter
+  id_token: string, A parameter
+
+Returns:
+  An object of the form:
+
+    {
+    "issued_to": "A String", # To whom was the token issued to. In general the same as audience.
+    "user_id": "A String", # The Gaia obfuscated user id.
+    "expires_in": 42, # The expiry time of the token, as number of seconds left until expiry.
+    "access_type": "A String", # The access type granted with this token. It can be offline or online.
+    "audience": "A String", # Who is the intended audience for this token. In general the same as issued_to.
+    "scope": "A String", # The space separated list of scopes granted to this token.
+    "email": "A String", # The email address of the user. Present only if the email scope is present in the request.
+    "verified_email": True or False, # Boolean flag which is true if the email address is verified. Present only if the email scope is present in the request.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/oauth2_v2.userinfo.html b/docs/dyn/oauth2_v2.userinfo.html
new file mode 100644
index 0000000..8bc97cc
--- /dev/null
+++ b/docs/dyn/oauth2_v2.userinfo.html
@@ -0,0 +1,110 @@
+<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="oauth2_v2.html">Google OAuth2 API</a> . <a href="oauth2_v2.userinfo.html">userinfo</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="oauth2_v2.userinfo.v2.html">v2()</a></code>
+</p>
+<p class="firstline">Returns the v2 Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#get">get()</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="get">get()</code>
+  <pre>A description of how to use this function
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "family_name": "A String", # The user's last name.
+    "name": "A String", # The user's full name.
+    "picture": "A String", # URL of the user's picture image.
+    "locale": "A String", # The user's preferred locale.
+    "gender": "A String", # The user's gender.
+    "email": "A String", # The user's email address.
+    "link": "A String", # URL of the profile page.
+    "given_name": "A String", # The user's first name.
+    "id": "A String", # The focus obfuscated gaia id of the user.
+    "hd": "A String", # The hosted domain e.g. example.com if the user is Google apps user.
+    "verified_email": true, # Boolean flag which is true if the email address is verified. Always verified because we only return the user's primary email address.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/oauth2_v2.userinfo.v2.html b/docs/dyn/oauth2_v2.userinfo.v2.html
new file mode 100644
index 0000000..230b0b3
--- /dev/null
+++ b/docs/dyn/oauth2_v2.userinfo.v2.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="oauth2_v2.html">Google OAuth2 API</a> . <a href="oauth2_v2.userinfo.html">userinfo</a> . <a href="oauth2_v2.userinfo.v2.html">v2</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="oauth2_v2.userinfo.v2.me.html">me()</a></code>
+</p>
+<p class="firstline">Returns the me Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/oauth2_v2.userinfo.v2.me.html b/docs/dyn/oauth2_v2.userinfo.v2.me.html
new file mode 100644
index 0000000..2a1418f
--- /dev/null
+++ b/docs/dyn/oauth2_v2.userinfo.v2.me.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="oauth2_v2.html">Google OAuth2 API</a> . <a href="oauth2_v2.userinfo.html">userinfo</a> . <a href="oauth2_v2.userinfo.v2.html">v2</a> . <a href="oauth2_v2.userinfo.v2.me.html">me</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get()</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="get">get()</code>
+  <pre>A description of how to use this function
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "family_name": "A String", # The user's last name.
+    "name": "A String", # The user's full name.
+    "picture": "A String", # URL of the user's picture image.
+    "locale": "A String", # The user's preferred locale.
+    "gender": "A String", # The user's gender.
+    "email": "A String", # The user's email address.
+    "link": "A String", # URL of the profile page.
+    "given_name": "A String", # The user's first name.
+    "id": "A String", # The focus obfuscated gaia id of the user.
+    "hd": "A String", # The hosted domain e.g. example.com if the user is Google apps user.
+    "verified_email": true, # Boolean flag which is true if the email address is verified. Always verified because we only return the user's primary email address.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.acl.html b/docs/dyn/orkut_v2.acl.html
new file mode 100644
index 0000000..26005b7
--- /dev/null
+++ b/docs/dyn/orkut_v2.acl.html
@@ -0,0 +1,91 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.acl.html">acl</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(activityId, userId)</a></code></p>
+<p class="firstline">Excludes an element from the ACL of the activity.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(activityId, userId)</code>
+  <pre>Excludes an element from the ACL of the activity.
+
+Args:
+  activityId: string, ID of the activity. (required)
+  userId: string, ID of the user to be removed from the activity. (required)
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.activities.html b/docs/dyn/orkut_v2.activities.html
new file mode 100644
index 0000000..b0ae2d0
--- /dev/null
+++ b/docs/dyn/orkut_v2.activities.html
@@ -0,0 +1,291 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.activities.html">activities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(activityId)</a></code></p>
+<p class="firstline">Deletes an existing activity, if the access controls allow it.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, collection, pageToken=None, hl=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of activities.</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(activityId)</code>
+  <pre>Deletes an existing activity, if the access controls allow it.
+
+Args:
+  activityId: string, ID of the activity to remove. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, collection, pageToken=None, hl=None, maxResults=None)</code>
+  <pre>Retrieves a list of activities.
+
+Args:
+  userId: string, The ID of the user whose activities will be listed. Can be me to refer to the viewer (i.e. the authenticated user). (required)
+  collection: string, The collection of activities to list. (required)
+    Allowed values
+      all - All activities created by the specified user that the authenticated user is authorized to view.
+      scraps - The specified user's scrapbook.
+      stream - The specified user's stream feed, intended for consumption. This includes activities posted by people that the user is following, and activities in which the user has been mentioned.
+  pageToken: string, A continuation token that allows pagination.
+  hl: string, Specifies the interface language (host language) of your user interface.
+  maxResults: integer, The maximum number of activities to include in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The value of pageToken query parameter in activities.list request to get the next page, if there are more to retrieve.
+    "items": [ # List of activities retrieved.
+      {
+        "kind": "orkut#activity", # The kind of activity. Always orkut#activity.
+        "links": [ # Links to resources related to this activity.
+          { # Links to resources related to the parent object.
+            "href": "A String", # URL of the link.
+            "type": "A String", # Media type of the link.
+            "rel": "A String", # Relation between the resource and the parent object.
+            "title": "A String", # Title of the link.
+          },
+        ],
+        "title": "A String", # Title of the activity.
+        "object": { # The activity's object.
+          "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
+          "items": [ # The list of additional items.
+            {
+              "displayName": "A String", # The title of the object.
+              "links": [ # Links to other resources related to this object.
+                { # Links to resources related to the parent object.
+                  "href": "A String", # URL of the link.
+                  "type": "A String", # Media type of the link.
+                  "rel": "A String", # Relation between the resource and the parent object.
+                  "title": "A String", # Title of the link.
+                },
+              ],
+              "community": { # The community which is related with this activity, e.g. a joined community.
+                "category": "A String", # The category of the community.
+                "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
+                "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
+                "description": "A String", # The description of the community.
+                "language": "A String", # The official language of the community.
+                "links": [ # List of resources for the community.
+                  { # Links to resources related to the parent object.
+                    "href": "A String", # URL of the link.
+                    "type": "A String", # Media type of the link.
+                    "rel": "A String", # Relation between the resource and the parent object.
+                    "title": "A String", # Title of the link.
+                  },
+                ],
+                "creation_date": "A String", # The time the community was created, in RFC 3339 format.
+                "owner": { # The person who owns the community.
+                  "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+                  "image": { # Image data about the author.
+                    "url": "A String", # A URL that points to a thumbnail photo of the author.
+                  },
+                  "displayName": "A String", # The name of the author, suitable for display.
+                  "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+                },
+                "moderators": [ # The list of moderators of the community.
+                  {
+                    "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+                    "image": { # Image data about the author.
+                      "url": "A String", # A URL that points to a thumbnail photo of the author.
+                    },
+                    "displayName": "A String", # The name of the author, suitable for display.
+                    "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+                  },
+                ],
+                "location": "A String", # The location of the community.
+                "co_owners": [ # The co-owners of the community.
+                  {
+                    "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+                    "image": { # Image data about the author.
+                      "url": "A String", # A URL that points to a thumbnail photo of the author.
+                    },
+                    "displayName": "A String", # The name of the author, suitable for display.
+                    "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+                  },
+                ],
+                "photo_url": "A String", # The photo of the community.
+                "id": 42, # The id of the community.
+                "name": "A String", # The name of the community.
+              },
+              "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
+              "person": { # The person who is related with this activity, e.g. an Added User.
+                "name": { # An object that encapsulates the individual components of a person's name.
+                  "givenName": "A String", # The given name (first name) of this person.
+                  "familyName": "A String", # The family name (last name) of this person.
+                },
+                "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+                "gender": "A String", # The person's gender. Values include "male", "female", and "other".
+                "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+                  "url": "A String", # The URL of the person's profile photo.
+                },
+                "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+                "id": "A String", # The person's opensocial ID.
+              },
+              "id": "A String", # The ID for the object.
+              "objectType": "A String", # The object type.
+            },
+          ],
+          "replies": { # Comments in reply to this activity.
+            "totalItems": "A String", # Total number of comments.
+            "items": [ # The list of comments.
+              {
+                "inReplyTo": { # Link to the original activity where this comment was posted.
+                  "type": "A String", # Type of the post on activity stream being commented. Always text/html.
+                  "href": "A String", # Link to the post on activity stream being commented.
+                  "ref": "A String", # Unique identifier of the post on activity stream being commented.
+                  "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
+                },
+                "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
+                "links": [ # List of resources for the comment.
+                  { # Links to resources related to the parent object.
+                    "href": "A String", # URL of the link.
+                    "type": "A String", # Media type of the link.
+                    "rel": "A String", # Relation between the resource and the parent object.
+                    "title": "A String", # Title of the link.
+                  },
+                ],
+                "actor": { # The person who posted the comment.
+                  "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+                  "image": { # Image data about the author.
+                    "url": "A String", # A URL that points to a thumbnail photo of the author.
+                  },
+                  "displayName": "A String", # The name of the author, suitable for display.
+                  "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+                },
+                "content": "A String", # The content of the comment in text/html
+                "published": "A String", # The time the comment was initially published, in RFC 3339 format.
+                "id": "A String", # The unique ID for the comment.
+              },
+            ],
+            "url": "A String", # URL for the collection of comments in reply to this activity.
+          },
+          "objectType": "A String", # The type of the object affected by the activity. Clients can use this information to style the rendered activity object differently depending on the content.
+        },
+        "updated": "A String", # The time at which the activity was last updated.
+        "actor": { # The person who performed the activity.
+          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+          "image": { # Image data about the author.
+            "url": "A String", # A URL that points to a thumbnail photo of the author.
+          },
+          "displayName": "A String", # The name of the author, suitable for display.
+          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+        },
+        "access": { # Identifies who has access to see this activity.
+          "items": [ # The list of ACL entries.
+            {
+              "type": "A String", # The type of entity to whom access is granted.
+              "id": "A String", # The ID of the entity. For entities of type "person" or "circle", this is the ID of the resource. For other types, this will be unset.
+            },
+          ],
+          "kind": "orkut#acl", # Identifies this resource as an access control list. Value: "orkut#acl"
+          "description": "A String", # Human readable description of the access granted.
+          "totalParticipants": 42, # The total count of participants of the parent resource.
+        },
+        "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
+            # - add - User added new content to profile or album, e.g. video, photo.
+            # - post - User publish content to the stream, e.g. status, scrap.
+            # - update - User commented on an activity.
+            # - make-friend - User added a new friend.
+            # - birthday - User has a birthday.
+        "published": "A String", # The time at which the activity was initially published.
+        "id": "A String", # The ID for the activity.
+      },
+    ],
+    "kind": "orkut#activityList", # Identifies this resource as a collection of activities. Value: "orkut#activityList"
+  }</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/orkut_v2.activityVisibility.html b/docs/dyn/orkut_v2.activityVisibility.html
new file mode 100644
index 0000000..c41949a
--- /dev/null
+++ b/docs/dyn/orkut_v2.activityVisibility.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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.activityVisibility.html">activityVisibility</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(activityId)</a></code></p>
+<p class="firstline">Gets the visibility of an existing activity.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(activityId, body)</a></code></p>
+<p class="firstline">Updates the visibility of an existing activity. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(activityId, body)</a></code></p>
+<p class="firstline">Updates the visibility of an existing activity.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(activityId)</code>
+  <pre>Gets the visibility of an existing activity.
+
+Args:
+  activityId: string, ID of the activity to get the visibility. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
+      "visibility": "A String", # The visibility of the resource. Possible values are:
+          # - default: not hidden by the user
+          # - hidden: hidden
+      "links": [ # List of resources for the visibility item.
+        { # Links to resources related to the parent object.
+          "href": "A String", # URL of the link.
+          "type": "A String", # Media type of the link.
+          "rel": "A String", # Relation between the resource and the parent object.
+          "title": "A String", # Title of the link.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(activityId, body)</code>
+  <pre>Updates the visibility of an existing activity. This method supports patch semantics.
+
+Args:
+  activityId: string, ID of the activity. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
+    "visibility": "A String", # The visibility of the resource. Possible values are:
+        # - default: not hidden by the user
+        # - hidden: hidden
+    "links": [ # List of resources for the visibility item.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
+      "visibility": "A String", # The visibility of the resource. Possible values are:
+          # - default: not hidden by the user
+          # - hidden: hidden
+      "links": [ # List of resources for the visibility item.
+        { # Links to resources related to the parent object.
+          "href": "A String", # URL of the link.
+          "type": "A String", # Media type of the link.
+          "rel": "A String", # Relation between the resource and the parent object.
+          "title": "A String", # Title of the link.
+        },
+      ],
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(activityId, body)</code>
+  <pre>Updates the visibility of an existing activity.
+
+Args:
+  activityId: string, ID of the activity. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
+    "visibility": "A String", # The visibility of the resource. Possible values are:
+        # - default: not hidden by the user
+        # - hidden: hidden
+    "links": [ # List of resources for the visibility item.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "orkut#visibility", # Identifies this resource as a visibility item. Value: "orkut#visibility"
+      "visibility": "A String", # The visibility of the resource. Possible values are:
+          # - default: not hidden by the user
+          # - hidden: hidden
+      "links": [ # List of resources for the visibility item.
+        { # Links to resources related to the parent object.
+          "href": "A String", # URL of the link.
+          "type": "A String", # Media type of the link.
+          "rel": "A String", # Relation between the resource and the parent object.
+          "title": "A String", # Title of the link.
+        },
+      ],
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.badges.html b/docs/dyn/orkut_v2.badges.html
new file mode 100644
index 0000000..cb9b33d
--- /dev/null
+++ b/docs/dyn/orkut_v2.badges.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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.badges.html">badges</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(userId, badgeId)</a></code></p>
+<p class="firstline">Retrieves a badge from a user.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId)</a></code></p>
+<p class="firstline">Retrieves the list of visible badges of a user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(userId, badgeId)</code>
+  <pre>Retrieves a badge from a user.
+
+Args:
+  userId: string, The ID of the user whose badges will be listed. Can be me to refer to caller. (required)
+  badgeId: string, The ID of the badge that will be retrieved. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "badgeSmallLogo": "A String", # The URL for the 24x24 badge logo.
+    "kind": "orkut#badge", # Identifies this resource as a badge. Value: "orkut#badge"
+    "description": "A String", # The description for the badge, suitable for display.
+    "sponsorLogo": "A String", # The URL for the 32x32 badge sponsor logo.
+    "sponsorName": "A String", # The name of the badge sponsor, suitable for display.
+    "badgeLargeLogo": "A String", # The URL for the 64x64 badge logo.
+    "caption": "A String", # The name of the badge, suitable for display.
+    "sponsorUrl": "A String", # The URL for the badge sponsor.
+    "id": "A String", # The unique ID for the badge.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId)</code>
+  <pre>Retrieves the list of visible badges of a user.
+
+Args:
+  userId: string, The id of the user whose badges will be listed. Can be me to refer to caller. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # List of badges retrieved.
+      {
+        "badgeSmallLogo": "A String", # The URL for the 24x24 badge logo.
+        "kind": "orkut#badge", # Identifies this resource as a badge. Value: "orkut#badge"
+        "description": "A String", # The description for the badge, suitable for display.
+        "sponsorLogo": "A String", # The URL for the 32x32 badge sponsor logo.
+        "sponsorName": "A String", # The name of the badge sponsor, suitable for display.
+        "badgeLargeLogo": "A String", # The URL for the 64x64 badge logo.
+        "caption": "A String", # The name of the badge, suitable for display.
+        "sponsorUrl": "A String", # The URL for the badge sponsor.
+        "id": "A String", # The unique ID for the badge.
+      },
+    ],
+    "kind": "orkut#badgeList", # Identifies this resource as a collection of badges. Value: "orkut#badgeList"
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.comments.html b/docs/dyn/orkut_v2.comments.html
new file mode 100644
index 0000000..a26e441
--- /dev/null
+++ b/docs/dyn/orkut_v2.comments.html
@@ -0,0 +1,283 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.comments.html">comments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(commentId)</a></code></p>
+<p class="firstline">Deletes an existing comment.</p>
+<p class="toc_element">
+  <code><a href="#get">get(commentId, hl=None)</a></code></p>
+<p class="firstline">Retrieves an existing comment.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(activityId, body)</a></code></p>
+<p class="firstline">Inserts a new comment to an activity.</p>
+<p class="toc_element">
+  <code><a href="#list">list(activityId, orderBy=None, pageToken=None, hl=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves a list of comments, possibly filtered.</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(commentId)</code>
+  <pre>Deletes an existing comment.
+
+Args:
+  commentId: string, ID of the comment to remove. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(commentId, hl=None)</code>
+  <pre>Retrieves an existing comment.
+
+Args:
+  commentId: string, ID of the comment to get. (required)
+  hl: string, Specifies the interface language (host language) of your user interface.
+
+Returns:
+  An object of the form:
+
+    {
+    "inReplyTo": { # Link to the original activity where this comment was posted.
+      "type": "A String", # Type of the post on activity stream being commented. Always text/html.
+      "href": "A String", # Link to the post on activity stream being commented.
+      "ref": "A String", # Unique identifier of the post on activity stream being commented.
+      "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
+    },
+    "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
+    "links": [ # List of resources for the comment.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+    "actor": { # The person who posted the comment.
+      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+      "image": { # Image data about the author.
+        "url": "A String", # A URL that points to a thumbnail photo of the author.
+      },
+      "displayName": "A String", # The name of the author, suitable for display.
+      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+    },
+    "content": "A String", # The content of the comment in text/html
+    "published": "A String", # The time the comment was initially published, in RFC 3339 format.
+    "id": "A String", # The unique ID for the comment.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(activityId, body)</code>
+  <pre>Inserts a new comment to an activity.
+
+Args:
+  activityId: string, The ID of the activity to contain the new comment. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "inReplyTo": { # Link to the original activity where this comment was posted.
+    "type": "A String", # Type of the post on activity stream being commented. Always text/html.
+    "href": "A String", # Link to the post on activity stream being commented.
+    "ref": "A String", # Unique identifier of the post on activity stream being commented.
+    "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
+  },
+  "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
+  "links": [ # List of resources for the comment.
+    { # Links to resources related to the parent object.
+      "href": "A String", # URL of the link.
+      "type": "A String", # Media type of the link.
+      "rel": "A String", # Relation between the resource and the parent object.
+      "title": "A String", # Title of the link.
+    },
+  ],
+  "actor": { # The person who posted the comment.
+    "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+    "image": { # Image data about the author.
+      "url": "A String", # A URL that points to a thumbnail photo of the author.
+    },
+    "displayName": "A String", # The name of the author, suitable for display.
+    "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+  },
+  "content": "A String", # The content of the comment in text/html
+  "published": "A String", # The time the comment was initially published, in RFC 3339 format.
+  "id": "A String", # The unique ID for the comment.
+}
+
+
+Returns:
+  An object of the form:
+
+    {
+    "inReplyTo": { # Link to the original activity where this comment was posted.
+      "type": "A String", # Type of the post on activity stream being commented. Always text/html.
+      "href": "A String", # Link to the post on activity stream being commented.
+      "ref": "A String", # Unique identifier of the post on activity stream being commented.
+      "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
+    },
+    "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
+    "links": [ # List of resources for the comment.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+    "actor": { # The person who posted the comment.
+      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+      "image": { # Image data about the author.
+        "url": "A String", # A URL that points to a thumbnail photo of the author.
+      },
+      "displayName": "A String", # The name of the author, suitable for display.
+      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+    },
+    "content": "A String", # The content of the comment in text/html
+    "published": "A String", # The time the comment was initially published, in RFC 3339 format.
+    "id": "A String", # The unique ID for the comment.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(activityId, orderBy=None, pageToken=None, hl=None, maxResults=None)</code>
+  <pre>Retrieves a list of comments, possibly filtered.
+
+Args:
+  activityId: string, The ID of the activity containing the comments. (required)
+  orderBy: string, Sort search results.
+    Allowed values
+      ascending - Use ascending sort order.
+      descending - Use descending sort order.
+  pageToken: string, A continuation token that allows pagination.
+  hl: string, Specifies the interface language (host language) of your user interface.
+  maxResults: integer, The maximum number of activities to include in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The value of pageToken query parameter in comments.list request to get the next page, if there are more to retrieve.
+    "items": [ # List of comments retrieved.
+      {
+        "inReplyTo": { # Link to the original activity where this comment was posted.
+          "type": "A String", # Type of the post on activity stream being commented. Always text/html.
+          "href": "A String", # Link to the post on activity stream being commented.
+          "ref": "A String", # Unique identifier of the post on activity stream being commented.
+          "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
+        },
+        "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
+        "links": [ # List of resources for the comment.
+          { # Links to resources related to the parent object.
+            "href": "A String", # URL of the link.
+            "type": "A String", # Media type of the link.
+            "rel": "A String", # Relation between the resource and the parent object.
+            "title": "A String", # Title of the link.
+          },
+        ],
+        "actor": { # The person who posted the comment.
+          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+          "image": { # Image data about the author.
+            "url": "A String", # A URL that points to a thumbnail photo of the author.
+          },
+          "displayName": "A String", # The name of the author, suitable for display.
+          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+        },
+        "content": "A String", # The content of the comment in text/html
+        "published": "A String", # The time the comment was initially published, in RFC 3339 format.
+        "id": "A String", # The unique ID for the comment.
+      },
+    ],
+    "kind": "orkut#commentList", # Identifies this resource as a collection of comments. Value: "orkut#commentList"
+    "previousPageToken": "A String", # The value of pageToken query parameter in comments.list request to get the previous page, if there are more to retrieve.
+  }</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/orkut_v2.communities.html b/docs/dyn/orkut_v2.communities.html
new file mode 100644
index 0000000..ef4c659
--- /dev/null
+++ b/docs/dyn/orkut_v2.communities.html
@@ -0,0 +1,216 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communities.html">communities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(communityId, hl=None)</a></code></p>
+<p class="firstline">Retrieves the basic information (aka. profile) of a community.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, orderBy=None, hl=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves the list of communities the current user is a member of.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(communityId, hl=None)</code>
+  <pre>Retrieves the basic information (aka. profile) of a community.
+
+Args:
+  communityId: integer, The ID of the community to get. (required)
+  hl: string, Specifies the interface language (host language) of your user interface.
+
+Returns:
+  An object of the form:
+
+    {
+    "category": "A String", # The category of the community.
+    "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
+    "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
+    "description": "A String", # The description of the community.
+    "language": "A String", # The official language of the community.
+    "links": [ # List of resources for the community.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+    "creation_date": "A String", # The time the community was created, in RFC 3339 format.
+    "owner": { # The person who owns the community.
+      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+      "image": { # Image data about the author.
+        "url": "A String", # A URL that points to a thumbnail photo of the author.
+      },
+      "displayName": "A String", # The name of the author, suitable for display.
+      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+    },
+    "moderators": [ # The list of moderators of the community.
+      {
+        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+        "image": { # Image data about the author.
+          "url": "A String", # A URL that points to a thumbnail photo of the author.
+        },
+        "displayName": "A String", # The name of the author, suitable for display.
+        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+      },
+    ],
+    "location": "A String", # The location of the community.
+    "co_owners": [ # The co-owners of the community.
+      {
+        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+        "image": { # Image data about the author.
+          "url": "A String", # A URL that points to a thumbnail photo of the author.
+        },
+        "displayName": "A String", # The name of the author, suitable for display.
+        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+      },
+    ],
+    "photo_url": "A String", # The photo of the community.
+    "id": 42, # The id of the community.
+    "name": "A String", # The name of the community.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, orderBy=None, hl=None, maxResults=None)</code>
+  <pre>Retrieves the list of communities the current user is a member of.
+
+Args:
+  userId: string, The ID of the user whose communities will be listed. Can be me to refer to caller. (required)
+  orderBy: string, How to order the communities by.
+    Allowed values
+      id - Returns the communities sorted by a fixed, natural order.
+      ranked - Returns the communities ranked accordingly to how they are displayed on the orkut web application.
+  hl: string, Specifies the interface language (host language) of your user interface.
+  maxResults: integer, The maximum number of communities to include in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # List of communities retrieved.
+      {
+        "category": "A String", # The category of the community.
+        "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
+        "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
+        "description": "A String", # The description of the community.
+        "language": "A String", # The official language of the community.
+        "links": [ # List of resources for the community.
+          { # Links to resources related to the parent object.
+            "href": "A String", # URL of the link.
+            "type": "A String", # Media type of the link.
+            "rel": "A String", # Relation between the resource and the parent object.
+            "title": "A String", # Title of the link.
+          },
+        ],
+        "creation_date": "A String", # The time the community was created, in RFC 3339 format.
+        "owner": { # The person who owns the community.
+          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+          "image": { # Image data about the author.
+            "url": "A String", # A URL that points to a thumbnail photo of the author.
+          },
+          "displayName": "A String", # The name of the author, suitable for display.
+          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+        },
+        "moderators": [ # The list of moderators of the community.
+          {
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+        ],
+        "location": "A String", # The location of the community.
+        "co_owners": [ # The co-owners of the community.
+          {
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+        ],
+        "photo_url": "A String", # The photo of the community.
+        "id": 42, # The id of the community.
+        "name": "A String", # The name of the community.
+      },
+    ],
+    "kind": "orkut#communityList", # Identifies this resource as a collection of communities. Value: "orkut#communityList"
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityFollow.html b/docs/dyn/orkut_v2.communityFollow.html
new file mode 100644
index 0000000..2002c14
--- /dev/null
+++ b/docs/dyn/orkut_v2.communityFollow.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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityFollow.html">communityFollow</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(communityId, userId)</a></code></p>
+<p class="firstline">Removes a user from the followers of a community.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(communityId, userId)</a></code></p>
+<p class="firstline">Adds a user as a follower of a community.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(communityId, userId)</code>
+  <pre>Removes a user from the followers of a community.
+
+Args:
+  communityId: integer, ID of the community. (required)
+  userId: string, ID of the user. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(communityId, userId)</code>
+  <pre>Adds a user as a follower of a community.
+
+Args:
+  communityId: integer, ID of the community. (required)
+  userId: string, ID of the user. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "communityMembershipStatus": { # Status and permissions of the user related to the community.
+      "status": "A String", # The status of the current link between the community and the user.
+      "isFollowing": True or False, # Whether the user is following this community.
+      "isRestoreAvailable": True or False, # Whether the restore operation is available for the community.
+      "isModerator": True or False, # Whether the session user is a community moderator.
+      "kind": "orkut#communityMembershipStatus", # Kind of this item. Always orkut#communityMembershipStatus.
+      "isCoOwner": True or False, # Whether the session user is a community co-owner.
+      "canCreatePoll": True or False, # Whether the user can create a poll in this community.
+      "canShout": True or False, # Whether the user can perform a shout operation in this community.
+      "isOwner": True or False, # Whether the session user is the community owner.
+      "canCreateTopic": True or False, # Whether the user can create a topic in this community.
+      "isTakebackAvailable": True or False, # Whether the take-back operation is available for the community.
+    },
+    "person": { # Description of the community member.
+      "name": { # An object that encapsulates the individual components of a person's name.
+        "givenName": "A String", # The given name (first name) of this person.
+        "familyName": "A String", # The family name (last name) of this person.
+      },
+      "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+      "gender": "A String", # The person's gender. Values include "male", "female", and "other".
+      "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+        "url": "A String", # The URL of the person's profile photo.
+      },
+      "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+      "id": "A String", # The person's opensocial ID.
+    },
+    "kind": "orkut#communityMembers", # Kind of this item. Always orkut#communityMembers.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityMembers.html b/docs/dyn/orkut_v2.communityMembers.html
new file mode 100644
index 0000000..ae7831d
--- /dev/null
+++ b/docs/dyn/orkut_v2.communityMembers.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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityMembers.html">communityMembers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(communityId, userId)</a></code></p>
+<p class="firstline">Makes the user leave a community.</p>
+<p class="toc_element">
+  <code><a href="#get">get(communityId, userId, hl=None)</a></code></p>
+<p class="firstline">Retrieves the relationship between a user and a community.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(communityId, userId)</a></code></p>
+<p class="firstline">Makes the user join a community.</p>
+<p class="toc_element">
+  <code><a href="#list">list(communityId, friendsOnly=None, pageToken=None, hl=None, maxResults=None)</a></code></p>
+<p class="firstline">Lists members of a community. Use the pagination tokens to retrieve the full list; do not rely on the member count available in the community profile information to know when to stop iterating, as that count may be approximate.</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(communityId, userId)</code>
+  <pre>Makes the user leave a community.
+
+Args:
+  communityId: integer, ID of the community. (required)
+  userId: string, ID of the user. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(communityId, userId, hl=None)</code>
+  <pre>Retrieves the relationship between a user and a community.
+
+Args:
+  communityId: integer, ID of the community. (required)
+  userId: string, ID of the user. (required)
+  hl: string, Specifies the interface language (host language) of your user interface.
+
+Returns:
+  An object of the form:
+
+    {
+    "communityMembershipStatus": { # Status and permissions of the user related to the community.
+      "status": "A String", # The status of the current link between the community and the user.
+      "isFollowing": True or False, # Whether the user is following this community.
+      "isRestoreAvailable": True or False, # Whether the restore operation is available for the community.
+      "isModerator": True or False, # Whether the session user is a community moderator.
+      "kind": "orkut#communityMembershipStatus", # Kind of this item. Always orkut#communityMembershipStatus.
+      "isCoOwner": True or False, # Whether the session user is a community co-owner.
+      "canCreatePoll": True or False, # Whether the user can create a poll in this community.
+      "canShout": True or False, # Whether the user can perform a shout operation in this community.
+      "isOwner": True or False, # Whether the session user is the community owner.
+      "canCreateTopic": True or False, # Whether the user can create a topic in this community.
+      "isTakebackAvailable": True or False, # Whether the take-back operation is available for the community.
+    },
+    "person": { # Description of the community member.
+      "name": { # An object that encapsulates the individual components of a person's name.
+        "givenName": "A String", # The given name (first name) of this person.
+        "familyName": "A String", # The family name (last name) of this person.
+      },
+      "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+      "gender": "A String", # The person's gender. Values include "male", "female", and "other".
+      "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+        "url": "A String", # The URL of the person's profile photo.
+      },
+      "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+      "id": "A String", # The person's opensocial ID.
+    },
+    "kind": "orkut#communityMembers", # Kind of this item. Always orkut#communityMembers.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(communityId, userId)</code>
+  <pre>Makes the user join a community.
+
+Args:
+  communityId: integer, ID of the community. (required)
+  userId: string, ID of the user. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "communityMembershipStatus": { # Status and permissions of the user related to the community.
+      "status": "A String", # The status of the current link between the community and the user.
+      "isFollowing": True or False, # Whether the user is following this community.
+      "isRestoreAvailable": True or False, # Whether the restore operation is available for the community.
+      "isModerator": True or False, # Whether the session user is a community moderator.
+      "kind": "orkut#communityMembershipStatus", # Kind of this item. Always orkut#communityMembershipStatus.
+      "isCoOwner": True or False, # Whether the session user is a community co-owner.
+      "canCreatePoll": True or False, # Whether the user can create a poll in this community.
+      "canShout": True or False, # Whether the user can perform a shout operation in this community.
+      "isOwner": True or False, # Whether the session user is the community owner.
+      "canCreateTopic": True or False, # Whether the user can create a topic in this community.
+      "isTakebackAvailable": True or False, # Whether the take-back operation is available for the community.
+    },
+    "person": { # Description of the community member.
+      "name": { # An object that encapsulates the individual components of a person's name.
+        "givenName": "A String", # The given name (first name) of this person.
+        "familyName": "A String", # The family name (last name) of this person.
+      },
+      "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+      "gender": "A String", # The person's gender. Values include "male", "female", and "other".
+      "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+        "url": "A String", # The URL of the person's profile photo.
+      },
+      "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+      "id": "A String", # The person's opensocial ID.
+    },
+    "kind": "orkut#communityMembers", # Kind of this item. Always orkut#communityMembers.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(communityId, friendsOnly=None, pageToken=None, hl=None, maxResults=None)</code>
+  <pre>Lists members of a community. Use the pagination tokens to retrieve the full list; do not rely on the member count available in the community profile information to know when to stop iterating, as that count may be approximate.
+
+Args:
+  communityId: integer, The ID of the community whose members will be listed. (required)
+  friendsOnly: boolean, Whether to list only community members who are friends of the user.
+  pageToken: string, A continuation token that allows pagination.
+  hl: string, Specifies the interface language (host language) of your user interface.
+  maxResults: integer, The maximum number of members to include in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The value of pageToken query parameter in community_members.list request to get the next page, if there are more to retrieve.
+    "kind": "orkut#communityMembersList", # Kind of this item. Always orkut#communityMembersList.
+    "items": [ # List of community members retrieved.
+      {
+        "communityMembershipStatus": { # Status and permissions of the user related to the community.
+          "status": "A String", # The status of the current link between the community and the user.
+          "isFollowing": True or False, # Whether the user is following this community.
+          "isRestoreAvailable": True or False, # Whether the restore operation is available for the community.
+          "isModerator": True or False, # Whether the session user is a community moderator.
+          "kind": "orkut#communityMembershipStatus", # Kind of this item. Always orkut#communityMembershipStatus.
+          "isCoOwner": True or False, # Whether the session user is a community co-owner.
+          "canCreatePoll": True or False, # Whether the user can create a poll in this community.
+          "canShout": True or False, # Whether the user can perform a shout operation in this community.
+          "isOwner": True or False, # Whether the session user is the community owner.
+          "canCreateTopic": True or False, # Whether the user can create a topic in this community.
+          "isTakebackAvailable": True or False, # Whether the take-back operation is available for the community.
+        },
+        "person": { # Description of the community member.
+          "name": { # An object that encapsulates the individual components of a person's name.
+            "givenName": "A String", # The given name (first name) of this person.
+            "familyName": "A String", # The family name (last name) of this person.
+          },
+          "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+          "gender": "A String", # The person's gender. Values include "male", "female", and "other".
+          "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+            "url": "A String", # The URL of the person's profile photo.
+          },
+          "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+          "id": "A String", # The person's opensocial ID.
+        },
+        "kind": "orkut#communityMembers", # Kind of this item. Always orkut#communityMembers.
+      },
+    ],
+    "prevPageToken": "A String", # The value of pageToken query parameter in community_members.list request to get the previous page, if there are more to retrieve.
+    "lastPageToken": "A String", # The value of pageToken query parameter in community_members.list request to get the last page.
+    "firstPageToken": "A String", # The value of pageToken query parameter in community_members.list request to get the first page.
+  }</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/orkut_v2.communityMessages.html b/docs/dyn/orkut_v2.communityMessages.html
new file mode 100644
index 0000000..158ed0e
--- /dev/null
+++ b/docs/dyn/orkut_v2.communityMessages.html
@@ -0,0 +1,229 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityMessages.html">communityMessages</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(communityId, topicId, messageId)</a></code></p>
+<p class="firstline">Moves a message of the community to the trash folder.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(communityId, topicId, body)</a></code></p>
+<p class="firstline">Adds a message to a given community topic.</p>
+<p class="toc_element">
+  <code><a href="#list">list(communityId, topicId, pageToken=None, hl=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves the messages of a topic of a community.</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(communityId, topicId, messageId)</code>
+  <pre>Moves a message of the community to the trash folder.
+
+Args:
+  communityId: integer, The ID of the community whose message will be moved to the trash folder. (required)
+  topicId: string, The ID of the topic whose message will be moved to the trash folder. (required)
+  messageId: string, The ID of the message to be moved to the trash folder. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(communityId, topicId, body)</code>
+  <pre>Adds a message to a given community topic.
+
+Args:
+  communityId: integer, The ID of the community the message should be added to. (required)
+  topicId: string, The ID of the topic the message should be added to. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "body": "A String", # The body of the message.
+    "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
+    "links": [ # List of resources for the community message.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+    "author": { # The creator of the message. If ommited, the message is annonimous.
+      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+      "image": { # Image data about the author.
+        "url": "A String", # A URL that points to a thumbnail photo of the author.
+      },
+      "displayName": "A String", # The name of the author, suitable for display.
+      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+    },
+    "id": "A String", # The ID of the message.
+    "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
+    "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
+    "subject": "A String", # The subject of the message.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "body": "A String", # The body of the message.
+      "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
+      "links": [ # List of resources for the community message.
+        { # Links to resources related to the parent object.
+          "href": "A String", # URL of the link.
+          "type": "A String", # Media type of the link.
+          "rel": "A String", # Relation between the resource and the parent object.
+          "title": "A String", # Title of the link.
+        },
+      ],
+      "author": { # The creator of the message. If ommited, the message is annonimous.
+        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+        "image": { # Image data about the author.
+          "url": "A String", # A URL that points to a thumbnail photo of the author.
+        },
+        "displayName": "A String", # The name of the author, suitable for display.
+        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+      },
+      "id": "A String", # The ID of the message.
+      "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
+      "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
+      "subject": "A String", # The subject of the message.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(communityId, topicId, pageToken=None, hl=None, maxResults=None)</code>
+  <pre>Retrieves the messages of a topic of a community.
+
+Args:
+  communityId: integer, The ID of the community which messages will be listed. (required)
+  topicId: string, The ID of the topic which messages will be listed. (required)
+  pageToken: string, A continuation token that allows pagination.
+  hl: string, Specifies the interface language (host language) of your user interface.
+  maxResults: integer, The maximum number of messages to include in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The value of pageToken query parameter in community_messages.list request to get the next page, if there are more to retrieve.
+    "kind": "orkut#communityMessageList", # Identifies this resource as a collection of community messages. Value: "orkut#communityMessageList"
+    "items": [ # List of messages retrieved.
+      {
+          "body": "A String", # The body of the message.
+          "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
+          "links": [ # List of resources for the community message.
+            { # Links to resources related to the parent object.
+              "href": "A String", # URL of the link.
+              "type": "A String", # Media type of the link.
+              "rel": "A String", # Relation between the resource and the parent object.
+              "title": "A String", # Title of the link.
+            },
+          ],
+          "author": { # The creator of the message. If ommited, the message is annonimous.
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+          "id": "A String", # The ID of the message.
+          "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
+          "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
+          "subject": "A String", # The subject of the message.
+        },
+    ],
+    "prevPageToken": "A String", # The value of pageToken query parameter in community_messages.list request to get the previous page, if there are more to retrieve.
+    "lastPageToken": "A String", # The value of pageToken query parameter in community_messages.list request to get the last page.
+    "firstPageToken": "A String", # The value of pageToken query parameter in community_messages.list request to get the first page.
+  }</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/orkut_v2.communityPollComments.html b/docs/dyn/orkut_v2.communityPollComments.html
new file mode 100644
index 0000000..efeff4a
--- /dev/null
+++ b/docs/dyn/orkut_v2.communityPollComments.html
@@ -0,0 +1,185 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityPollComments.html">communityPollComments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(communityId, pollId, body)</a></code></p>
+<p class="firstline">Adds a comment on a community poll.</p>
+<p class="toc_element">
+  <code><a href="#list">list(communityId, pollId, pageToken=None, hl=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves the comments of a community poll.</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="insert">insert(communityId, pollId, body)</code>
+  <pre>Adds a comment on a community poll.
+
+Args:
+  communityId: integer, The ID of the community whose poll is being commented. (required)
+  pollId: string, The ID of the poll being commented. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "body": "A String", # The body of the message.
+    "kind": "orkut#communityPollComment", # Identifies this resource as a community poll comment. Value: "orkut#communityPollComment"
+    "addedDate": "A String", # The date when the message was added, in RFC 3339 format.
+    "id": 42, # The ID of the comment.
+    "author": { # The creator of the comment.
+      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+      "image": { # Image data about the author.
+        "url": "A String", # A URL that points to a thumbnail photo of the author.
+      },
+      "displayName": "A String", # The name of the author, suitable for display.
+      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "body": "A String", # The body of the message.
+      "kind": "orkut#communityPollComment", # Identifies this resource as a community poll comment. Value: "orkut#communityPollComment"
+      "addedDate": "A String", # The date when the message was added, in RFC 3339 format.
+      "id": 42, # The ID of the comment.
+      "author": { # The creator of the comment.
+        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+        "image": { # Image data about the author.
+          "url": "A String", # A URL that points to a thumbnail photo of the author.
+        },
+        "displayName": "A String", # The name of the author, suitable for display.
+        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(communityId, pollId, pageToken=None, hl=None, maxResults=None)</code>
+  <pre>Retrieves the comments of a community poll.
+
+Args:
+  communityId: integer, The ID of the community whose poll is having its comments listed. (required)
+  pollId: string, The ID of the community whose polls will be listed. (required)
+  pageToken: string, A continuation token that allows pagination.
+  hl: string, Specifies the interface language (host language) of your user interface.
+  maxResults: integer, The maximum number of comments to include in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The value of pageToken query parameter in community_poll_comments.list request to get the next page, if there are more to retrieve.
+    "kind": "orkut#CommunityPollCommentList", # Identifies this resource as a collection of community poll comments. Value: "orkut#CommunityPollCommentList"
+    "items": [ # List of community poll comments retrieved.
+      {
+          "body": "A String", # The body of the message.
+          "kind": "orkut#communityPollComment", # Identifies this resource as a community poll comment. Value: "orkut#communityPollComment"
+          "addedDate": "A String", # The date when the message was added, in RFC 3339 format.
+          "id": 42, # The ID of the comment.
+          "author": { # The creator of the comment.
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+        },
+    ],
+    "prevPageToken": "A String", # The value of pageToken query parameter in community_poll_comments.list request to get the previous page, if there are more to retrieve.
+    "lastPageToken": "A String", # The value of pageToken query parameter in community_poll_comments.list request to get the last page.
+    "firstPageToken": "A String", # The value of pageToken query parameter in community_poll_comments.list request to get the first page.
+  }</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/orkut_v2.communityPollVotes.html b/docs/dyn/orkut_v2.communityPollVotes.html
new file mode 100644
index 0000000..00f5269
--- /dev/null
+++ b/docs/dyn/orkut_v2.communityPollVotes.html
@@ -0,0 +1,112 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityPollVotes.html">communityPollVotes</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(communityId, pollId, body)</a></code></p>
+<p class="firstline">Votes on a community poll.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(communityId, pollId, body)</code>
+  <pre>Votes on a community poll.
+
+Args:
+  communityId: integer, The ID of the community whose poll is being voted. (required)
+  pollId: string, The ID of the poll being voted. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "orkut#communityPollVote", # Identifies this resource as a community poll vote. Value: "orkut#communityPollVote"
+    "optionIds": [ # The ids of the voted options.
+      42,
+    ],
+    "isVotevisible": True or False, # Whether this vote is visible to other users or not.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "orkut#communityPollVote", # Identifies this resource as a community poll vote. Value: "orkut#communityPollVote"
+      "optionIds": [ # The ids of the voted options.
+        42,
+      ],
+      "isVotevisible": True or False, # Whether this vote is visible to other users or not.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityPolls.html b/docs/dyn/orkut_v2.communityPolls.html
new file mode 100644
index 0000000..03c6824
--- /dev/null
+++ b/docs/dyn/orkut_v2.communityPolls.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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityPolls.html">communityPolls</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(communityId, pollId, hl=None)</a></code></p>
+<p class="firstline">Retrieves one specific poll of a community.</p>
+<p class="toc_element">
+  <code><a href="#list">list(communityId, pageToken=None, hl=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves the polls of a community.</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(communityId, pollId, hl=None)</code>
+  <pre>Retrieves one specific poll of a community.
+
+Args:
+  communityId: integer, The ID of the community for whose poll will be retrieved. (required)
+  pollId: string, The ID of the poll to get. (required)
+  hl: string, Specifies the interface language (host language) of your user interface.
+
+Returns:
+  An object of the form:
+
+    {
+    "links": [ # List of resources for the community poll.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+    "isMultipleAnswers": True or False, # Whether this poll allows voting for more than one option.
+    "image": { # The image representing the poll. Field is omitted if no image exists.
+      "url": "A String", # A URL that points to an image of the poll.
+    },
+    "endingTime": "A String", # The ending date of this poll or empty if the poll doesn't have one.
+    "isVotingAllowedForNonMembers": True or False, # Whether non-members of the community can vote on the poll.
+    "isSpam": True or False, # Whether the user has marked this poll as spam. This only affects the poll for this user, not globally.
+    "totalNumberOfVotes": 42, # The total number of votes this poll has received.
+    "author": { # The person who created the poll.
+      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+      "image": { # Image data about the author.
+        "url": "A String", # A URL that points to a thumbnail photo of the author.
+      },
+      "displayName": "A String", # The name of the author, suitable for display.
+      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+    },
+    "question": "A String", # The poll question.
+    "id": "A String", # The poll ID.
+    "isRestricted": True or False, # Whether this poll is restricted for members only. If a poll is open but the user can't vote on it, it's been restricted to members only. This information is important to tell this case apart from the one where the user can't vote simply because the poll is already closed.
+    "communityId": 42, # The ID of the community.
+    "isUsersVotePublic": True or False, # If user has already voted, whether his vote is publicly visible.
+    "lastUpdate": "A String", # The date of the last update of this poll.
+    "description": "A String", # The poll description.
+    "votedOptions": [ # List of options the user has voted on, if there are any.
+      42,
+    ],
+    "isOpenForVoting": True or False, # Whether this poll is still opened for voting. A poll is open for voting if it is not closed, the user has not yet voted on it and the user has the permission to do so, which happens if he/she is either a community member or the poll is open for everybody.
+    "isClosed": True or False, # Whether the poll is not expired if there is an expiration date. A poll is open (that is, not closed for voting) if it either is not expired or doesn't have an expiration date at all. Note that just because a poll is open, it doesn't mean that the requester can vote on it.
+    "hasVoted": True or False, # Whether the user has voted on this poll.
+    "kind": "orkut#communityPoll", # Identifies this resource as a community poll. Value: "orkut#communityPoll"
+    "creationTime": "A String", # The date of creation of this poll
+    "options": [ # List of options of this poll.
+      {
+        "image": { # Image data about the poll option. Field is omitted if no image exists.
+          "url": "A String", # A URL that points to an image of the poll question.
+        },
+        "optionId": 42, # The poll option ID
+        "description": "A String", # The option description.
+        "numberOfVotes": 42, # The total number of votes that this option received.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(communityId, pageToken=None, hl=None, maxResults=None)</code>
+  <pre>Retrieves the polls of a community.
+
+Args:
+  communityId: integer, The ID of the community which polls will be listed. (required)
+  pageToken: string, A continuation token that allows pagination.
+  hl: string, Specifies the interface language (host language) of your user interface.
+  maxResults: integer, The maximum number of polls to include in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The value of pageToken query parameter in community_polls.list request to get the next page, if there are more to retrieve.
+    "kind": "orkut#communityPollList", # Identifies this resource as a collection of community polls. Value: "orkut#communityPollList"
+    "items": [ # List of community polls retrieved.
+      {
+        "links": [ # List of resources for the community poll.
+          { # Links to resources related to the parent object.
+            "href": "A String", # URL of the link.
+            "type": "A String", # Media type of the link.
+            "rel": "A String", # Relation between the resource and the parent object.
+            "title": "A String", # Title of the link.
+          },
+        ],
+        "isMultipleAnswers": True or False, # Whether this poll allows voting for more than one option.
+        "image": { # The image representing the poll. Field is omitted if no image exists.
+          "url": "A String", # A URL that points to an image of the poll.
+        },
+        "endingTime": "A String", # The ending date of this poll or empty if the poll doesn't have one.
+        "isVotingAllowedForNonMembers": True or False, # Whether non-members of the community can vote on the poll.
+        "isSpam": True or False, # Whether the user has marked this poll as spam. This only affects the poll for this user, not globally.
+        "totalNumberOfVotes": 42, # The total number of votes this poll has received.
+        "author": { # The person who created the poll.
+          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+          "image": { # Image data about the author.
+            "url": "A String", # A URL that points to a thumbnail photo of the author.
+          },
+          "displayName": "A String", # The name of the author, suitable for display.
+          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+        },
+        "question": "A String", # The poll question.
+        "id": "A String", # The poll ID.
+        "isRestricted": True or False, # Whether this poll is restricted for members only. If a poll is open but the user can't vote on it, it's been restricted to members only. This information is important to tell this case apart from the one where the user can't vote simply because the poll is already closed.
+        "communityId": 42, # The ID of the community.
+        "isUsersVotePublic": True or False, # If user has already voted, whether his vote is publicly visible.
+        "lastUpdate": "A String", # The date of the last update of this poll.
+        "description": "A String", # The poll description.
+        "votedOptions": [ # List of options the user has voted on, if there are any.
+          42,
+        ],
+        "isOpenForVoting": True or False, # Whether this poll is still opened for voting. A poll is open for voting if it is not closed, the user has not yet voted on it and the user has the permission to do so, which happens if he/she is either a community member or the poll is open for everybody.
+        "isClosed": True or False, # Whether the poll is not expired if there is an expiration date. A poll is open (that is, not closed for voting) if it either is not expired or doesn't have an expiration date at all. Note that just because a poll is open, it doesn't mean that the requester can vote on it.
+        "hasVoted": True or False, # Whether the user has voted on this poll.
+        "kind": "orkut#communityPoll", # Identifies this resource as a community poll. Value: "orkut#communityPoll"
+        "creationTime": "A String", # The date of creation of this poll
+        "options": [ # List of options of this poll.
+          {
+            "image": { # Image data about the poll option. Field is omitted if no image exists.
+              "url": "A String", # A URL that points to an image of the poll question.
+            },
+            "optionId": 42, # The poll option ID
+            "description": "A String", # The option description.
+            "numberOfVotes": 42, # The total number of votes that this option received.
+          },
+        ],
+      },
+    ],
+    "prevPageToken": "A String", # The value of pageToken query parameter in community_polls.list request to get the previous page, if there are more to retrieve.
+    "lastPageToken": "A String", # The value of pageToken query parameter in community_polls.list request to get the last page.
+    "firstPageToken": "A String", # The value of pageToken query parameter in community_polls.list request to get the first page.
+  }</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/orkut_v2.communityRelated.html b/docs/dyn/orkut_v2.communityRelated.html
new file mode 100644
index 0000000..bf7752b
--- /dev/null
+++ b/docs/dyn/orkut_v2.communityRelated.html
@@ -0,0 +1,147 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityRelated.html">communityRelated</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(communityId, hl=None)</a></code></p>
+<p class="firstline">Retrieves the communities related to another one.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(communityId, hl=None)</code>
+  <pre>Retrieves the communities related to another one.
+
+Args:
+  communityId: integer, The ID of the community whose related communities will be listed. (required)
+  hl: string, Specifies the interface language (host language) of your user interface.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # List of communities retrieved.
+      {
+        "category": "A String", # The category of the community.
+        "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
+        "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
+        "description": "A String", # The description of the community.
+        "language": "A String", # The official language of the community.
+        "links": [ # List of resources for the community.
+          { # Links to resources related to the parent object.
+            "href": "A String", # URL of the link.
+            "type": "A String", # Media type of the link.
+            "rel": "A String", # Relation between the resource and the parent object.
+            "title": "A String", # Title of the link.
+          },
+        ],
+        "creation_date": "A String", # The time the community was created, in RFC 3339 format.
+        "owner": { # The person who owns the community.
+          "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+          "image": { # Image data about the author.
+            "url": "A String", # A URL that points to a thumbnail photo of the author.
+          },
+          "displayName": "A String", # The name of the author, suitable for display.
+          "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+        },
+        "moderators": [ # The list of moderators of the community.
+          {
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+        ],
+        "location": "A String", # The location of the community.
+        "co_owners": [ # The co-owners of the community.
+          {
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+        ],
+        "photo_url": "A String", # The photo of the community.
+        "id": 42, # The id of the community.
+        "name": "A String", # The name of the community.
+      },
+    ],
+    "kind": "orkut#communityList", # Identifies this resource as a collection of communities. Value: "orkut#communityList"
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.communityTopics.html b/docs/dyn/orkut_v2.communityTopics.html
new file mode 100644
index 0000000..1a6046e
--- /dev/null
+++ b/docs/dyn/orkut_v2.communityTopics.html
@@ -0,0 +1,380 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.communityTopics.html">communityTopics</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(communityId, topicId)</a></code></p>
+<p class="firstline">Moves a topic of the community to the trash folder.</p>
+<p class="toc_element">
+  <code><a href="#get">get(communityId, topicId, hl=None)</a></code></p>
+<p class="firstline">Retrieves a topic of a community.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(communityId, body, isShout=None)</a></code></p>
+<p class="firstline">Adds a topic to a given community.</p>
+<p class="toc_element">
+  <code><a href="#list">list(communityId, pageToken=None, hl=None, maxResults=None)</a></code></p>
+<p class="firstline">Retrieves the topics of a community.</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(communityId, topicId)</code>
+  <pre>Moves a topic of the community to the trash folder.
+
+Args:
+  communityId: integer, The ID of the community whose topic will be moved to the trash folder. (required)
+  topicId: string, The ID of the topic to be moved to the trash folder. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(communityId, topicId, hl=None)</code>
+  <pre>Retrieves a topic of a community.
+
+Args:
+  communityId: integer, The ID of the community whose topic will be retrieved. (required)
+  topicId: string, The ID of the topic to get. (required)
+  hl: string, Specifies the interface language (host language) of your user interface.
+
+Returns:
+  An object of the form:
+
+    {
+      "body": "A String", # The body of the topic.
+      "lastUpdate": "A String", # The timestamp of the last update, in RFC 3339 format.
+      "kind": "orkut#communityTopic", # Identifies this resource as a community topic. Value: "orkut#communityTopic"
+      "links": [ # List of resources for the community.
+        { # Links to resources related to the parent object.
+          "href": "A String", # URL of the link.
+          "type": "A String", # Media type of the link.
+          "rel": "A String", # Relation between the resource and the parent object.
+          "title": "A String", # Title of the link.
+        },
+      ],
+      "author": { # The creator of the topic.
+        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+        "image": { # Image data about the author.
+          "url": "A String", # A URL that points to a thumbnail photo of the author.
+        },
+        "displayName": "A String", # The name of the author, suitable for display.
+        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+      },
+      "title": "A String", # The title of the topic.
+      "messages": [ # Most recent messages.
+        {
+            "body": "A String", # The body of the message.
+            "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
+            "links": [ # List of resources for the community message.
+              { # Links to resources related to the parent object.
+                "href": "A String", # URL of the link.
+                "type": "A String", # Media type of the link.
+                "rel": "A String", # Relation between the resource and the parent object.
+                "title": "A String", # Title of the link.
+              },
+            ],
+            "author": { # The creator of the message. If ommited, the message is annonimous.
+              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+              "image": { # Image data about the author.
+                "url": "A String", # A URL that points to a thumbnail photo of the author.
+              },
+              "displayName": "A String", # The name of the author, suitable for display.
+              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+            },
+            "id": "A String", # The ID of the message.
+            "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
+            "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
+            "subject": "A String", # The subject of the message.
+          },
+      ],
+      "latestMessageSnippet": "A String", # Snippet of the last message posted on this topic.
+      "isClosed": True or False, # Whether the topic is closed for new messages.
+      "numberOfReplies": 42, # The total number of replies this topic has received.
+      "id": "A String", # The ID of the topic.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(communityId, body, isShout=None)</code>
+  <pre>Adds a topic to a given community.
+
+Args:
+  communityId: integer, The ID of the community the topic should be added to. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "body": "A String", # The body of the topic.
+    "lastUpdate": "A String", # The timestamp of the last update, in RFC 3339 format.
+    "kind": "orkut#communityTopic", # Identifies this resource as a community topic. Value: "orkut#communityTopic"
+    "links": [ # List of resources for the community.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+    "author": { # The creator of the topic.
+      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+      "image": { # Image data about the author.
+        "url": "A String", # A URL that points to a thumbnail photo of the author.
+      },
+      "displayName": "A String", # The name of the author, suitable for display.
+      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+    },
+    "title": "A String", # The title of the topic.
+    "messages": [ # Most recent messages.
+      {
+          "body": "A String", # The body of the message.
+          "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
+          "links": [ # List of resources for the community message.
+            { # Links to resources related to the parent object.
+              "href": "A String", # URL of the link.
+              "type": "A String", # Media type of the link.
+              "rel": "A String", # Relation between the resource and the parent object.
+              "title": "A String", # Title of the link.
+            },
+          ],
+          "author": { # The creator of the message. If ommited, the message is annonimous.
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+          "id": "A String", # The ID of the message.
+          "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
+          "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
+          "subject": "A String", # The subject of the message.
+        },
+    ],
+    "latestMessageSnippet": "A String", # Snippet of the last message posted on this topic.
+    "isClosed": True or False, # Whether the topic is closed for new messages.
+    "numberOfReplies": 42, # The total number of replies this topic has received.
+    "id": "A String", # The ID of the topic.
+  }
+
+  isShout: boolean, Whether this topic is a shout.
+
+Returns:
+  An object of the form:
+
+    {
+      "body": "A String", # The body of the topic.
+      "lastUpdate": "A String", # The timestamp of the last update, in RFC 3339 format.
+      "kind": "orkut#communityTopic", # Identifies this resource as a community topic. Value: "orkut#communityTopic"
+      "links": [ # List of resources for the community.
+        { # Links to resources related to the parent object.
+          "href": "A String", # URL of the link.
+          "type": "A String", # Media type of the link.
+          "rel": "A String", # Relation between the resource and the parent object.
+          "title": "A String", # Title of the link.
+        },
+      ],
+      "author": { # The creator of the topic.
+        "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+        "image": { # Image data about the author.
+          "url": "A String", # A URL that points to a thumbnail photo of the author.
+        },
+        "displayName": "A String", # The name of the author, suitable for display.
+        "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+      },
+      "title": "A String", # The title of the topic.
+      "messages": [ # Most recent messages.
+        {
+            "body": "A String", # The body of the message.
+            "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
+            "links": [ # List of resources for the community message.
+              { # Links to resources related to the parent object.
+                "href": "A String", # URL of the link.
+                "type": "A String", # Media type of the link.
+                "rel": "A String", # Relation between the resource and the parent object.
+                "title": "A String", # Title of the link.
+              },
+            ],
+            "author": { # The creator of the message. If ommited, the message is annonimous.
+              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+              "image": { # Image data about the author.
+                "url": "A String", # A URL that points to a thumbnail photo of the author.
+              },
+              "displayName": "A String", # The name of the author, suitable for display.
+              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+            },
+            "id": "A String", # The ID of the message.
+            "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
+            "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
+            "subject": "A String", # The subject of the message.
+          },
+      ],
+      "latestMessageSnippet": "A String", # Snippet of the last message posted on this topic.
+      "isClosed": True or False, # Whether the topic is closed for new messages.
+      "numberOfReplies": 42, # The total number of replies this topic has received.
+      "id": "A String", # The ID of the topic.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(communityId, pageToken=None, hl=None, maxResults=None)</code>
+  <pre>Retrieves the topics of a community.
+
+Args:
+  communityId: integer, The ID of the community which topics will be listed. (required)
+  pageToken: string, A continuation token that allows pagination.
+  hl: string, Specifies the interface language (host language) of your user interface.
+  maxResults: integer, The maximum number of topics to include in the response.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The value of pageToken query parameter in community_topic.list request to get the next page, if there are more to retrieve.
+    "kind": "orkut#communityTopicList", # Identifies this resource as a collection of community topics. Value: "orkut#communityTopicList"
+    "items": [ # List of topics retrieved.
+      {
+          "body": "A String", # The body of the topic.
+          "lastUpdate": "A String", # The timestamp of the last update, in RFC 3339 format.
+          "kind": "orkut#communityTopic", # Identifies this resource as a community topic. Value: "orkut#communityTopic"
+          "links": [ # List of resources for the community.
+            { # Links to resources related to the parent object.
+              "href": "A String", # URL of the link.
+              "type": "A String", # Media type of the link.
+              "rel": "A String", # Relation between the resource and the parent object.
+              "title": "A String", # Title of the link.
+            },
+          ],
+          "author": { # The creator of the topic.
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+          "title": "A String", # The title of the topic.
+          "messages": [ # Most recent messages.
+            {
+                "body": "A String", # The body of the message.
+                "kind": "orkut#communityMessage", # Identifies this resource as a community message. Value: "orkut#communityMessage"
+                "links": [ # List of resources for the community message.
+                  { # Links to resources related to the parent object.
+                    "href": "A String", # URL of the link.
+                    "type": "A String", # Media type of the link.
+                    "rel": "A String", # Relation between the resource and the parent object.
+                    "title": "A String", # Title of the link.
+                  },
+                ],
+                "author": { # The creator of the message. If ommited, the message is annonimous.
+                  "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+                  "image": { # Image data about the author.
+                    "url": "A String", # A URL that points to a thumbnail photo of the author.
+                  },
+                  "displayName": "A String", # The name of the author, suitable for display.
+                  "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+                },
+                "id": "A String", # The ID of the message.
+                "addedDate": "A String", # The timestamp of the date when the message was added, in RFC 3339 format.
+                "isSpam": True or False, # Whether this post was marked as spam by the viewer, when he/she is not the community owner or one of its moderators.
+                "subject": "A String", # The subject of the message.
+              },
+          ],
+          "latestMessageSnippet": "A String", # Snippet of the last message posted on this topic.
+          "isClosed": True or False, # Whether the topic is closed for new messages.
+          "numberOfReplies": 42, # The total number of replies this topic has received.
+          "id": "A String", # The ID of the topic.
+        },
+    ],
+    "prevPageToken": "A String", # The value of pageToken query parameter in community_topic.list request to get the previous page, if there are more to retrieve.
+    "lastPageToken": "A String", # The value of pageToken query parameter in community_topic.list request to get the last page.
+    "firstPageToken": "A String", # The value of pageToken query parameter in community_topic.list request to get the first page.
+  }</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/orkut_v2.counters.html b/docs/dyn/orkut_v2.counters.html
new file mode 100644
index 0000000..f433265
--- /dev/null
+++ b/docs/dyn/orkut_v2.counters.html
@@ -0,0 +1,112 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.counters.html">counters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(userId)</a></code></p>
+<p class="firstline">Retrieves the counters of a user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(userId)</code>
+  <pre>Retrieves the counters of a user.
+
+Args:
+  userId: string, The ID of the user whose counters will be listed. Can be me to refer to caller. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # List of counters retrieved.
+      {
+        "total": 42, # The number of resources on the counted collection.
+        "link": { # Links to resources related to the parent object. # Link to the collection being counted.
+          "href": "A String", # URL of the link.
+          "type": "A String", # Media type of the link.
+          "rel": "A String", # Relation between the resource and the parent object.
+          "title": "A String", # Title of the link.
+        },
+        "name": "A String", # The name of the counted collection. Currently supported collections are:
+            # - scraps - The scraps of the user.
+            # - photos - The photos of the user.
+            # - videos - The videos of the user.
+            # - pendingTestimonials - The pending testimonials of the user.
+      },
+    ],
+    "kind": "orkut#counters", # Identifies this resource as a collection of counters. Value: "orkut#counters"
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.html b/docs/dyn/orkut_v2.html
new file mode 100644
index 0000000..5d7ad82
--- /dev/null
+++ b/docs/dyn/orkut_v2.html
@@ -0,0 +1,157 @@
+<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="orkut_v2.html">Orkut API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="orkut_v2.acl.html">acl()</a></code>
+</p>
+<p class="firstline">Returns the acl Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.activities.html">activities()</a></code>
+</p>
+<p class="firstline">Returns the activities Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.activityVisibility.html">activityVisibility()</a></code>
+</p>
+<p class="firstline">Returns the activityVisibility Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.badges.html">badges()</a></code>
+</p>
+<p class="firstline">Returns the badges Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.comments.html">comments()</a></code>
+</p>
+<p class="firstline">Returns the comments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communities.html">communities()</a></code>
+</p>
+<p class="firstline">Returns the communities Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communityFollow.html">communityFollow()</a></code>
+</p>
+<p class="firstline">Returns the communityFollow Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communityMembers.html">communityMembers()</a></code>
+</p>
+<p class="firstline">Returns the communityMembers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communityMessages.html">communityMessages()</a></code>
+</p>
+<p class="firstline">Returns the communityMessages Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communityPollComments.html">communityPollComments()</a></code>
+</p>
+<p class="firstline">Returns the communityPollComments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communityPollVotes.html">communityPollVotes()</a></code>
+</p>
+<p class="firstline">Returns the communityPollVotes Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communityPolls.html">communityPolls()</a></code>
+</p>
+<p class="firstline">Returns the communityPolls Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communityRelated.html">communityRelated()</a></code>
+</p>
+<p class="firstline">Returns the communityRelated Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.communityTopics.html">communityTopics()</a></code>
+</p>
+<p class="firstline">Returns the communityTopics Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.counters.html">counters()</a></code>
+</p>
+<p class="firstline">Returns the counters Resource.</p>
+
+<p class="toc_element">
+  <code><a href="orkut_v2.scraps.html">scraps()</a></code>
+</p>
+<p class="firstline">Returns the scraps Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/orkut_v2.scraps.html b/docs/dyn/orkut_v2.scraps.html
new file mode 100644
index 0000000..3aff5dc
--- /dev/null
+++ b/docs/dyn/orkut_v2.scraps.html
@@ -0,0 +1,406 @@
+<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="orkut_v2.html">Orkut API</a> . <a href="orkut_v2.scraps.html">scraps</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Creates a new scrap.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Creates a new scrap.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+  "kind": "orkut#activity", # The kind of activity. Always orkut#activity.
+  "links": [ # Links to resources related to this activity.
+    { # Links to resources related to the parent object.
+      "href": "A String", # URL of the link.
+      "type": "A String", # Media type of the link.
+      "rel": "A String", # Relation between the resource and the parent object.
+      "title": "A String", # Title of the link.
+    },
+  ],
+  "title": "A String", # Title of the activity.
+  "object": { # The activity's object.
+    "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
+    "items": [ # The list of additional items.
+      {
+        "displayName": "A String", # The title of the object.
+        "links": [ # Links to other resources related to this object.
+          { # Links to resources related to the parent object.
+            "href": "A String", # URL of the link.
+            "type": "A String", # Media type of the link.
+            "rel": "A String", # Relation between the resource and the parent object.
+            "title": "A String", # Title of the link.
+          },
+        ],
+        "community": { # The community which is related with this activity, e.g. a joined community.
+          "category": "A String", # The category of the community.
+          "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
+          "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
+          "description": "A String", # The description of the community.
+          "language": "A String", # The official language of the community.
+          "links": [ # List of resources for the community.
+            { # Links to resources related to the parent object.
+              "href": "A String", # URL of the link.
+              "type": "A String", # Media type of the link.
+              "rel": "A String", # Relation between the resource and the parent object.
+              "title": "A String", # Title of the link.
+            },
+          ],
+          "creation_date": "A String", # The time the community was created, in RFC 3339 format.
+          "owner": { # The person who owns the community.
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+          "moderators": [ # The list of moderators of the community.
+            {
+              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+              "image": { # Image data about the author.
+                "url": "A String", # A URL that points to a thumbnail photo of the author.
+              },
+              "displayName": "A String", # The name of the author, suitable for display.
+              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+            },
+          ],
+          "location": "A String", # The location of the community.
+          "co_owners": [ # The co-owners of the community.
+            {
+              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+              "image": { # Image data about the author.
+                "url": "A String", # A URL that points to a thumbnail photo of the author.
+              },
+              "displayName": "A String", # The name of the author, suitable for display.
+              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+            },
+          ],
+          "photo_url": "A String", # The photo of the community.
+          "id": 42, # The id of the community.
+          "name": "A String", # The name of the community.
+        },
+        "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
+        "person": { # The person who is related with this activity, e.g. an Added User.
+          "name": { # An object that encapsulates the individual components of a person's name.
+            "givenName": "A String", # The given name (first name) of this person.
+            "familyName": "A String", # The family name (last name) of this person.
+          },
+          "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+          "gender": "A String", # The person's gender. Values include "male", "female", and "other".
+          "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+            "url": "A String", # The URL of the person's profile photo.
+          },
+          "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+          "id": "A String", # The person's opensocial ID.
+        },
+        "id": "A String", # The ID for the object.
+        "objectType": "A String", # The object type.
+      },
+    ],
+    "replies": { # Comments in reply to this activity.
+      "totalItems": "A String", # Total number of comments.
+      "items": [ # The list of comments.
+        {
+          "inReplyTo": { # Link to the original activity where this comment was posted.
+            "type": "A String", # Type of the post on activity stream being commented. Always text/html.
+            "href": "A String", # Link to the post on activity stream being commented.
+            "ref": "A String", # Unique identifier of the post on activity stream being commented.
+            "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
+          },
+          "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
+          "links": [ # List of resources for the comment.
+            { # Links to resources related to the parent object.
+              "href": "A String", # URL of the link.
+              "type": "A String", # Media type of the link.
+              "rel": "A String", # Relation between the resource and the parent object.
+              "title": "A String", # Title of the link.
+            },
+          ],
+          "actor": { # The person who posted the comment.
+            "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+            "image": { # Image data about the author.
+              "url": "A String", # A URL that points to a thumbnail photo of the author.
+            },
+            "displayName": "A String", # The name of the author, suitable for display.
+            "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+          },
+          "content": "A String", # The content of the comment in text/html
+          "published": "A String", # The time the comment was initially published, in RFC 3339 format.
+          "id": "A String", # The unique ID for the comment.
+        },
+      ],
+      "url": "A String", # URL for the collection of comments in reply to this activity.
+    },
+    "objectType": "A String", # The type of the object affected by the activity. Clients can use this information to style the rendered activity object differently depending on the content.
+  },
+  "updated": "A String", # The time at which the activity was last updated.
+  "actor": { # The person who performed the activity.
+    "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+    "image": { # Image data about the author.
+      "url": "A String", # A URL that points to a thumbnail photo of the author.
+    },
+    "displayName": "A String", # The name of the author, suitable for display.
+    "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+  },
+  "access": { # Identifies who has access to see this activity.
+    "items": [ # The list of ACL entries.
+      {
+        "type": "A String", # The type of entity to whom access is granted.
+        "id": "A String", # The ID of the entity. For entities of type "person" or "circle", this is the ID of the resource. For other types, this will be unset.
+      },
+    ],
+    "kind": "orkut#acl", # Identifies this resource as an access control list. Value: "orkut#acl"
+    "description": "A String", # Human readable description of the access granted.
+    "totalParticipants": 42, # The total count of participants of the parent resource.
+  },
+  "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
+      # - add - User added new content to profile or album, e.g. video, photo.
+      # - post - User publish content to the stream, e.g. status, scrap.
+      # - update - User commented on an activity.
+      # - make-friend - User added a new friend.
+      # - birthday - User has a birthday.
+  "published": "A String", # The time at which the activity was initially published.
+  "id": "A String", # The ID for the activity.
+}
+
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "orkut#activity", # The kind of activity. Always orkut#activity.
+    "links": [ # Links to resources related to this activity.
+      { # Links to resources related to the parent object.
+        "href": "A String", # URL of the link.
+        "type": "A String", # Media type of the link.
+        "rel": "A String", # Relation between the resource and the parent object.
+        "title": "A String", # Title of the link.
+      },
+    ],
+    "title": "A String", # Title of the activity.
+    "object": { # The activity's object.
+      "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
+      "items": [ # The list of additional items.
+        {
+          "displayName": "A String", # The title of the object.
+          "links": [ # Links to other resources related to this object.
+            { # Links to resources related to the parent object.
+              "href": "A String", # URL of the link.
+              "type": "A String", # Media type of the link.
+              "rel": "A String", # Relation between the resource and the parent object.
+              "title": "A String", # Title of the link.
+            },
+          ],
+          "community": { # The community which is related with this activity, e.g. a joined community.
+            "category": "A String", # The category of the community.
+            "kind": "orkut#community", # Identifies this resource as a community. Value: "orkut#community"
+            "member_count": 42, # The number of users who are part of the community. This number may be approximate, so do not rely on it for iteration.
+            "description": "A String", # The description of the community.
+            "language": "A String", # The official language of the community.
+            "links": [ # List of resources for the community.
+              { # Links to resources related to the parent object.
+                "href": "A String", # URL of the link.
+                "type": "A String", # Media type of the link.
+                "rel": "A String", # Relation between the resource and the parent object.
+                "title": "A String", # Title of the link.
+              },
+            ],
+            "creation_date": "A String", # The time the community was created, in RFC 3339 format.
+            "owner": { # The person who owns the community.
+              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+              "image": { # Image data about the author.
+                "url": "A String", # A URL that points to a thumbnail photo of the author.
+              },
+              "displayName": "A String", # The name of the author, suitable for display.
+              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+            },
+            "moderators": [ # The list of moderators of the community.
+              {
+                "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+                "image": { # Image data about the author.
+                  "url": "A String", # A URL that points to a thumbnail photo of the author.
+                },
+                "displayName": "A String", # The name of the author, suitable for display.
+                "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+              },
+            ],
+            "location": "A String", # The location of the community.
+            "co_owners": [ # The co-owners of the community.
+              {
+                "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+                "image": { # Image data about the author.
+                  "url": "A String", # A URL that points to a thumbnail photo of the author.
+                },
+                "displayName": "A String", # The name of the author, suitable for display.
+                "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+              },
+            ],
+            "photo_url": "A String", # The photo of the community.
+            "id": 42, # The id of the community.
+            "name": "A String", # The name of the community.
+          },
+          "content": "A String", # The HTML-formatted content, suitable for display. When updating an activity's content, post the changes to this property, using the value of originalContent as a starting point. If the update is successful, the server adds HTML formatting and responds with this formatted content.
+          "person": { # The person who is related with this activity, e.g. an Added User.
+            "name": { # An object that encapsulates the individual components of a person's name.
+              "givenName": "A String", # The given name (first name) of this person.
+              "familyName": "A String", # The family name (last name) of this person.
+            },
+            "url": "A String", # The person's profile url. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+            "gender": "A String", # The person's gender. Values include "male", "female", and "other".
+            "image": { # The person's profile photo. This is adapted from Google+ and was originaly introduced as extra OpenSocial convenience fields.
+              "url": "A String", # The URL of the person's profile photo.
+            },
+            "birthday": "A String", # The person's date of birth, represented as YYYY-MM-DD.
+            "id": "A String", # The person's opensocial ID.
+          },
+          "id": "A String", # The ID for the object.
+          "objectType": "A String", # The object type.
+        },
+      ],
+      "replies": { # Comments in reply to this activity.
+        "totalItems": "A String", # Total number of comments.
+        "items": [ # The list of comments.
+          {
+            "inReplyTo": { # Link to the original activity where this comment was posted.
+              "type": "A String", # Type of the post on activity stream being commented. Always text/html.
+              "href": "A String", # Link to the post on activity stream being commented.
+              "ref": "A String", # Unique identifier of the post on activity stream being commented.
+              "rel": "inReplyTo", # Relationship between the comment and the post on activity stream being commented. Always inReplyTo.
+            },
+            "kind": "orkut#comment", # Identifies this resource as a comment. Value: "orkut#comment"
+            "links": [ # List of resources for the comment.
+              { # Links to resources related to the parent object.
+                "href": "A String", # URL of the link.
+                "type": "A String", # Media type of the link.
+                "rel": "A String", # Relation between the resource and the parent object.
+                "title": "A String", # Title of the link.
+              },
+            ],
+            "actor": { # The person who posted the comment.
+              "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+              "image": { # Image data about the author.
+                "url": "A String", # A URL that points to a thumbnail photo of the author.
+              },
+              "displayName": "A String", # The name of the author, suitable for display.
+              "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+            },
+            "content": "A String", # The content of the comment in text/html
+            "published": "A String", # The time the comment was initially published, in RFC 3339 format.
+            "id": "A String", # The unique ID for the comment.
+          },
+        ],
+        "url": "A String", # URL for the collection of comments in reply to this activity.
+      },
+      "objectType": "A String", # The type of the object affected by the activity. Clients can use this information to style the rendered activity object differently depending on the content.
+    },
+    "updated": "A String", # The time at which the activity was last updated.
+    "actor": { # The person who performed the activity.
+      "url": "A String", # The URL of the author who posted the comment [not yet implemented]
+      "image": { # Image data about the author.
+        "url": "A String", # A URL that points to a thumbnail photo of the author.
+      },
+      "displayName": "A String", # The name of the author, suitable for display.
+      "id": "A String", # Unique identifier of the person who posted the comment. This is the person's OpenSocial ID.
+    },
+    "access": { # Identifies who has access to see this activity.
+      "items": [ # The list of ACL entries.
+        {
+          "type": "A String", # The type of entity to whom access is granted.
+          "id": "A String", # The ID of the entity. For entities of type "person" or "circle", this is the ID of the resource. For other types, this will be unset.
+        },
+      ],
+      "kind": "orkut#acl", # Identifies this resource as an access control list. Value: "orkut#acl"
+      "description": "A String", # Human readable description of the access granted.
+      "totalParticipants": 42, # The total count of participants of the parent resource.
+    },
+    "verb": "A String", # This activity's verb, indicating what action was performed. Possible values are:
+        # - add - User added new content to profile or album, e.g. video, photo.
+        # - post - User publish content to the stream, e.g. status, scrap.
+        # - update - User commented on an activity.
+        # - make-friend - User added a new friend.
+        # - birthday - User has a birthday.
+    "published": "A String", # The time at which the activity was initially published.
+    "id": "A String", # The ID for the activity.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pagespeedonline_v1.html b/docs/dyn/pagespeedonline_v1.html
new file mode 100644
index 0000000..4b0abf3
--- /dev/null
+++ b/docs/dyn/pagespeedonline_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="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>
+</p>
+<p class="firstline">Returns the pagespeedapi Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/pagespeedonline_v1.pagespeedapi.html b/docs/dyn/pagespeedonline_v1.pagespeedapi.html
new file mode 100644
index 0000000..5ce2117
--- /dev/null
+++ b/docs/dyn/pagespeedonline_v1.pagespeedapi.html
@@ -0,0 +1,183 @@
+<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="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, screenshot=None, locale=None, rule=None, snapshots=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, screenshot=None, locale=None, rule=None, snapshots=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)
+  snapshots: boolean, Indicates if binary data containing snapshot images should be included
+  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:
+
+    {
+    "kind": "pagespeedonline#result", # Kind of result.
+    "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.
+        "a_key": { # The enum-like identifier for this rule. For instance "EnableKeepAlive" or "AvoidCssImport". Not localized.
+          "localizedRuleName": "A String", # Localized name of the rule, intended for presentation to a user.
+          "urlBlocks": [ # List of blocks of URLs. Each block may contain a heading and a list of URLs. Each URL may optionally include additional details.
+            {
+              "header": { # Heading to be displayed with the list of URLs.
+                "args": [ # List of arguments for the format string.
+                  {
+                    "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or DURATION.
+                    "value": "A String", # Argument value, as a localized string.
+                  },
+                ],
+                "format": "A String", # A localized format string with $N placeholders, where N is the 1-indexed argument number, e.g. 'Minifying the following $1 resources would save a total of $2 bytes'.
+              },
+              "urls": [ # List of entries that provide information about URLs in the url block. Optional.
+                {
+                  "details": [ # List of entries that provide additional details about a single URL. Optional.
+                    {
+                      "args": [ # List of arguments for the format string.
+                        {
+                          "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or DURATION.
+                          "value": "A String", # Argument value, as a localized string.
+                        },
+                      ],
+                      "format": "A String", # A localized format string with $N placeholders, where N is the 1-indexed argument number, e.g. 'Unnecessary metadata for this resource adds an additional $1 bytes to its download size'.
+                    },
+                  ],
+                  "result": { # A format string that gives information about the URL, and a list of arguments for that format string.
+                    "args": [ # List of arguments for the format string.
+                      {
+                        "type": "A String", # Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, or DURATION.
+                        "value": "A String", # Argument value, as a localized string.
+                      },
+                    ],
+                    "format": "A String", # A localized format string with $N placeholders, where N is the 1-indexed argument number, e.g. 'Minifying the resource at URL $1 can save $2 bytes'.
+                  },
+                },
+              ],
+            },
+          ],
+          "ruleImpact": 3.14, # The impact (unbounded floating point value) that implementing the suggestions for this rule would have on making the page faster. Impact is comparable between rules to determine which rule's suggestions would have a higher or lower impact on making a page faster. For instance, if enabling compression would save 1MB, while optimizing images would save 500kB, the enable compression rule would have 2x the impact of the image optimization rule, all other things being equal.
+        },
+      },
+    },
+    "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.
+    },
+    "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",
+    ],
+    "pageStats": { # Summary statistics for the page, such as number of JavaScript bytes, number of HTML bytes, etc.
+      "otherResponseBytes": "A String", # Number of response bytes for other resources on the page.
+      "flashResponseBytes": "A String", # Number of response bytes for flash resources on the page.
+      "totalRequestBytes": "A String", # Total size of all request bytes sent by the page.
+      "numberCssResources": 42, # Number of CSS resources referenced by the page.
+      "numberResources": 42, # Number of HTTP resources loaded by the page.
+      "cssResponseBytes": "A String", # Number of uncompressed response bytes for CSS resources on the page.
+      "javascriptResponseBytes": "A String", # Number of uncompressed response bytes for JS resources on the page.
+      "imageResponseBytes": "A String", # Number of response bytes for image resources on the page.
+      "numberHosts": 42, # Number of unique hosts referenced by the page.
+      "numberStaticResources": 42, # Number of static (i.e. cacheable) resources on the page.
+      "htmlResponseBytes": "A String", # Number of uncompressed response bytes for the main HTML document and all iframes on the page.
+      "numberJsResources": 42, # Number of JavaScript resources referenced by the page.
+      "textResponseBytes": "A String", # Number of uncompressed response bytes for text resources not covered by other statistics (i.e non-HTML, non-script, non-CSS resources) on the page.
+    },
+    "id": "A String", # Canonicalized and final URL for the document, after following page redirects (if any).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plusDomains_v1.activities.html b/docs/dyn/plusDomains_v1.activities.html
new file mode 100644
index 0000000..9f230fc
--- /dev/null
+++ b/docs/dyn/plusDomains_v1.activities.html
@@ -0,0 +1,742 @@
+<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="plusDomains_v1.html">Google+ Domains API</a> . <a href="plusDomains_v1.activities.html">activities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(activityId)</a></code></p>
+<p class="firstline">Get an activity.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(userId, body, preview=None)</a></code></p>
+<p class="firstline">Create a new activity for the authenticated user.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, collection, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the activities in the specified collection for a particular 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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(activityId)</code>
+  <pre>Get an activity.
+
+Args:
+  activityId: string, The ID of the activity to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "placeName": "A String", # Name of the place where this activity occurred.
+      "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
+      "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
+      "provider": { # The service provider that initially published this activity.
+        "title": "A String", # Name of the service provider.
+      },
+      "title": "A String", # Title of this activity.
+      "url": "A String", # The link to this activity.
+      "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
+      "object": { # The object of this activity.
+        "resharers": { # People who reshared this activity.
+          "totalItems": 42, # Total number of people who reshared this activity.
+          "selfLink": "A String", # The URL for the collection of resharers.
+        },
+        "attachments": [ # The media objects attached to this activity.
+          {
+            "previewThumbnails": [ # When previewing, these are the optional thumbnails for the post. When posting an article, choose one by setting the attachment.image.url property. If you don't choose one, one will be chosen for you.
+              {
+                "url": "A String", # URL of the thumbnail image.
+              },
+            ],
+            "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 of the webpage containing the image.
+                "image": { # Image resource.
+                  "url": "A String", # Image url.
+                  "width": 42, # The width, in pixels, of the linked resource.
+                  "type": "A String", # Media type of the link.
+                  "height": 42, # The height, in pixels, of the linked resource.
+                },
+                "description": "A String", # Potential name of the thumbnail.
+              },
+            ],
+            "fullImage": { # The full image URL for photo attachments.
+              "url": "A String", # URL of the image.
+              "width": 42, # The width, in pixels, of the linked resource.
+              "type": "A String", # Media type of the link.
+              "height": 42, # The height, in pixels, of the linked resource.
+            },
+            "url": "A String", # The link to the attachment, which should be of type text/html.
+            "image": { # The preview image for photos or videos.
+              "url": "A String", # Image URL.
+              "width": 42, # The width, in pixels, of the linked resource.
+              "type": "A String", # Media type of the link.
+              "height": 42, # The height, in pixels, of the linked resource.
+            },
+            "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
+            "embed": { # If the attachment is a video, the embeddable link.
+              "url": "A String", # URL of the link.
+              "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 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, 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, 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, which is suitable for display.
+          "id": "A String", # ID of the original actor.
+        },
+        "content": "A String", # The HTML-formatted content, which is suitable for display.
+        "url": "A String", # The URL that points to the linked resource.
+        "statusForViewer": { # Status of the activity as seen by the viewer.
+          "canPlusone": True or False, # Whether the viewer can +1 the activity.
+          "canUpdate": True or False, # Whether the viewer can edit or delete the activity.
+          "isPlusOned": True or False, # Whether the viewer has +1'd the activity.
+          "resharingDisabled": True or False, # Whether reshares are disabled for the activity.
+          "canComment": True or False, # Whether the viewer can comment on the activity.
+        },
+        "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 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.
+      },
+      "placeId": "A String", # ID of the place where this activity occurred.
+      "actor": { # The person who performed this activity.
+        "url": "A String", # The link to the actor's Google profile.
+        "image": { # The image representation of the actor.
+          "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "displayName": "A String", # The name of the actor, suitable for display.
+        "id": "A String", # The ID of the actor's Person resource.
+        "name": { # An object representation of the individual components of name.
+          "givenName": "A String", # The given name ("first name") of the actor.
+          "familyName": "A String", # The family name ("last name") of the actor.
+        },
+      },
+      "id": "A String", # The ID of this activity.
+      "access": { # Identifies who has access to see this activity.
+        "items": [ # The list of access entries.
+          {
+            "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
+                # - "person" - Access to an individual.
+                # - "circle" - Access to members of a circle.
+                # - "myCircles" - Access to members of all the person's circles.
+                # - "extendedCircles" - Access to members of all the 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.
+          },
+        ],
+        "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.
+        "domainRestricted": True or False, # Whether access is restricted to the domain.
+      },
+      "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.
+      "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>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(userId, body, preview=None)</code>
+  <pre>Create a new activity for the authenticated user.
+
+Args:
+  userId: string, The ID of the user to create the activity on behalf of. Its value should be "me", to indicate the authenticated user. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "placeName": "A String", # Name of the place where this activity occurred.
+    "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
+    "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
+    "provider": { # The service provider that initially published this activity.
+      "title": "A String", # Name of the service provider.
+    },
+    "title": "A String", # Title of this activity.
+    "url": "A String", # The link to this activity.
+    "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
+    "object": { # The object of this activity.
+      "resharers": { # People who reshared this activity.
+        "totalItems": 42, # Total number of people who reshared this activity.
+        "selfLink": "A String", # The URL for the collection of resharers.
+      },
+      "attachments": [ # The media objects attached to this activity.
+        {
+          "previewThumbnails": [ # When previewing, these are the optional thumbnails for the post. When posting an article, choose one by setting the attachment.image.url property. If you don't choose one, one will be chosen for you.
+            {
+              "url": "A String", # URL of the thumbnail image.
+            },
+          ],
+          "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 of the webpage containing the image.
+              "image": { # Image resource.
+                "url": "A String", # Image url.
+                "width": 42, # The width, in pixels, of the linked resource.
+                "type": "A String", # Media type of the link.
+                "height": 42, # The height, in pixels, of the linked resource.
+              },
+              "description": "A String", # Potential name of the thumbnail.
+            },
+          ],
+          "fullImage": { # The full image URL for photo attachments.
+            "url": "A String", # URL of the image.
+            "width": 42, # The width, in pixels, of the linked resource.
+            "type": "A String", # Media type of the link.
+            "height": 42, # The height, in pixels, of the linked resource.
+          },
+          "url": "A String", # The link to the attachment, which should be of type text/html.
+          "image": { # The preview image for photos or videos.
+            "url": "A String", # Image URL.
+            "width": 42, # The width, in pixels, of the linked resource.
+            "type": "A String", # Media type of the link.
+            "height": 42, # The height, in pixels, of the linked resource.
+          },
+          "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
+          "embed": { # If the attachment is a video, the embeddable link.
+            "url": "A String", # URL of the link.
+            "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 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, 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, 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, which is suitable for display.
+        "id": "A String", # ID of the original actor.
+      },
+      "content": "A String", # The HTML-formatted content, which is suitable for display.
+      "url": "A String", # The URL that points to the linked resource.
+      "statusForViewer": { # Status of the activity as seen by the viewer.
+        "canPlusone": True or False, # Whether the viewer can +1 the activity.
+        "canUpdate": True or False, # Whether the viewer can edit or delete the activity.
+        "isPlusOned": True or False, # Whether the viewer has +1'd the activity.
+        "resharingDisabled": True or False, # Whether reshares are disabled for the activity.
+        "canComment": True or False, # Whether the viewer can comment on the activity.
+      },
+      "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 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.
+    },
+    "placeId": "A String", # ID of the place where this activity occurred.
+    "actor": { # The person who performed this activity.
+      "url": "A String", # The link to the actor's Google profile.
+      "image": { # The image representation of the actor.
+        "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+      },
+      "displayName": "A String", # The name of the actor, suitable for display.
+      "id": "A String", # The ID of the actor's Person resource.
+      "name": { # An object representation of the individual components of name.
+        "givenName": "A String", # The given name ("first name") of the actor.
+        "familyName": "A String", # The family name ("last name") of the actor.
+      },
+    },
+    "id": "A String", # The ID of this activity.
+    "access": { # Identifies who has access to see this activity.
+      "items": [ # The list of access entries.
+        {
+          "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
+              # - "person" - Access to an individual.
+              # - "circle" - Access to members of a circle.
+              # - "myCircles" - Access to members of all the person's circles.
+              # - "extendedCircles" - Access to members of all the 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.
+        },
+      ],
+      "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.
+      "domainRestricted": True or False, # Whether access is restricted to the domain.
+    },
+    "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.
+    "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.
+  }
+
+  preview: boolean, If "true", extract the potential media attachments for a URL. The response will include all possible attachments for a URL, including video, photos, and articles based on the content of the page.
+
+Returns:
+  An object of the form:
+
+    {
+      "placeName": "A String", # Name of the place where this activity occurred.
+      "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
+      "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
+      "provider": { # The service provider that initially published this activity.
+        "title": "A String", # Name of the service provider.
+      },
+      "title": "A String", # Title of this activity.
+      "url": "A String", # The link to this activity.
+      "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
+      "object": { # The object of this activity.
+        "resharers": { # People who reshared this activity.
+          "totalItems": 42, # Total number of people who reshared this activity.
+          "selfLink": "A String", # The URL for the collection of resharers.
+        },
+        "attachments": [ # The media objects attached to this activity.
+          {
+            "previewThumbnails": [ # When previewing, these are the optional thumbnails for the post. When posting an article, choose one by setting the attachment.image.url property. If you don't choose one, one will be chosen for you.
+              {
+                "url": "A String", # URL of the thumbnail image.
+              },
+            ],
+            "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 of the webpage containing the image.
+                "image": { # Image resource.
+                  "url": "A String", # Image url.
+                  "width": 42, # The width, in pixels, of the linked resource.
+                  "type": "A String", # Media type of the link.
+                  "height": 42, # The height, in pixels, of the linked resource.
+                },
+                "description": "A String", # Potential name of the thumbnail.
+              },
+            ],
+            "fullImage": { # The full image URL for photo attachments.
+              "url": "A String", # URL of the image.
+              "width": 42, # The width, in pixels, of the linked resource.
+              "type": "A String", # Media type of the link.
+              "height": 42, # The height, in pixels, of the linked resource.
+            },
+            "url": "A String", # The link to the attachment, which should be of type text/html.
+            "image": { # The preview image for photos or videos.
+              "url": "A String", # Image URL.
+              "width": 42, # The width, in pixels, of the linked resource.
+              "type": "A String", # Media type of the link.
+              "height": 42, # The height, in pixels, of the linked resource.
+            },
+            "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
+            "embed": { # If the attachment is a video, the embeddable link.
+              "url": "A String", # URL of the link.
+              "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 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, 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, 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, which is suitable for display.
+          "id": "A String", # ID of the original actor.
+        },
+        "content": "A String", # The HTML-formatted content, which is suitable for display.
+        "url": "A String", # The URL that points to the linked resource.
+        "statusForViewer": { # Status of the activity as seen by the viewer.
+          "canPlusone": True or False, # Whether the viewer can +1 the activity.
+          "canUpdate": True or False, # Whether the viewer can edit or delete the activity.
+          "isPlusOned": True or False, # Whether the viewer has +1'd the activity.
+          "resharingDisabled": True or False, # Whether reshares are disabled for the activity.
+          "canComment": True or False, # Whether the viewer can comment on the activity.
+        },
+        "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 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.
+      },
+      "placeId": "A String", # ID of the place where this activity occurred.
+      "actor": { # The person who performed this activity.
+        "url": "A String", # The link to the actor's Google profile.
+        "image": { # The image representation of the actor.
+          "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "displayName": "A String", # The name of the actor, suitable for display.
+        "id": "A String", # The ID of the actor's Person resource.
+        "name": { # An object representation of the individual components of name.
+          "givenName": "A String", # The given name ("first name") of the actor.
+          "familyName": "A String", # The family name ("last name") of the actor.
+        },
+      },
+      "id": "A String", # The ID of this activity.
+      "access": { # Identifies who has access to see this activity.
+        "items": [ # The list of access entries.
+          {
+            "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
+                # - "person" - Access to an individual.
+                # - "circle" - Access to members of a circle.
+                # - "myCircles" - Access to members of all the person's circles.
+                # - "extendedCircles" - Access to members of all the 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.
+          },
+        ],
+        "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.
+        "domainRestricted": True or False, # Whether access is restricted to the domain.
+      },
+      "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.
+      "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>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, collection, pageToken=None, maxResults=None)</code>
+  <pre>List all of the activities in the specified collection for a particular user.
+
+Args:
+  userId: string, The ID of the user to get activities for. The special value "me" can be used to indicate the authenticated user. (required)
+  collection: string, The collection of activities to list. (required)
+    Allowed values
+      user - All activities created by the specified user that the authenticated user is authorized to view.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#activityFeed", # Identifies this resource as a collection of activities. Value: "plus#activityFeed".
+    "title": "A String", # The title of this collection of activities, which is a truncated portion of the content.
+    "items": [ # The activities in this page of results.
+      {
+          "placeName": "A String", # Name of the place where this activity occurred.
+          "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
+          "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
+          "provider": { # The service provider that initially published this activity.
+            "title": "A String", # Name of the service provider.
+          },
+          "title": "A String", # Title of this activity.
+          "url": "A String", # The link to this activity.
+          "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
+          "object": { # The object of this activity.
+            "resharers": { # People who reshared this activity.
+              "totalItems": 42, # Total number of people who reshared this activity.
+              "selfLink": "A String", # The URL for the collection of resharers.
+            },
+            "attachments": [ # The media objects attached to this activity.
+              {
+                "previewThumbnails": [ # When previewing, these are the optional thumbnails for the post. When posting an article, choose one by setting the attachment.image.url property. If you don't choose one, one will be chosen for you.
+                  {
+                    "url": "A String", # URL of the thumbnail image.
+                  },
+                ],
+                "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 of the webpage containing the image.
+                    "image": { # Image resource.
+                      "url": "A String", # Image url.
+                      "width": 42, # The width, in pixels, of the linked resource.
+                      "type": "A String", # Media type of the link.
+                      "height": 42, # The height, in pixels, of the linked resource.
+                    },
+                    "description": "A String", # Potential name of the thumbnail.
+                  },
+                ],
+                "fullImage": { # The full image URL for photo attachments.
+                  "url": "A String", # URL of the image.
+                  "width": 42, # The width, in pixels, of the linked resource.
+                  "type": "A String", # Media type of the link.
+                  "height": 42, # The height, in pixels, of the linked resource.
+                },
+                "url": "A String", # The link to the attachment, which should be of type text/html.
+                "image": { # The preview image for photos or videos.
+                  "url": "A String", # Image URL.
+                  "width": 42, # The width, in pixels, of the linked resource.
+                  "type": "A String", # Media type of the link.
+                  "height": 42, # The height, in pixels, of the linked resource.
+                },
+                "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
+                "embed": { # If the attachment is a video, the embeddable link.
+                  "url": "A String", # URL of the link.
+                  "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 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, 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, 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, which is suitable for display.
+              "id": "A String", # ID of the original actor.
+            },
+            "content": "A String", # The HTML-formatted content, which is suitable for display.
+            "url": "A String", # The URL that points to the linked resource.
+            "statusForViewer": { # Status of the activity as seen by the viewer.
+              "canPlusone": True or False, # Whether the viewer can +1 the activity.
+              "canUpdate": True or False, # Whether the viewer can edit or delete the activity.
+              "isPlusOned": True or False, # Whether the viewer has +1'd the activity.
+              "resharingDisabled": True or False, # Whether reshares are disabled for the activity.
+              "canComment": True or False, # Whether the viewer can comment on the activity.
+            },
+            "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 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.
+          },
+          "placeId": "A String", # ID of the place where this activity occurred.
+          "actor": { # The person who performed this activity.
+            "url": "A String", # The link to the actor's Google profile.
+            "image": { # The image representation of the actor.
+              "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+            },
+            "displayName": "A String", # The name of the actor, suitable for display.
+            "id": "A String", # The ID of the actor's Person resource.
+            "name": { # An object representation of the individual components of name.
+              "givenName": "A String", # The given name ("first name") of the actor.
+              "familyName": "A String", # The family name ("last name") of the actor.
+            },
+          },
+          "id": "A String", # The ID of this activity.
+          "access": { # Identifies who has access to see this activity.
+            "items": [ # The list of access entries.
+              {
+                "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
+                    # - "person" - Access to an individual.
+                    # - "circle" - Access to members of a circle.
+                    # - "myCircles" - Access to members of all the person's circles.
+                    # - "extendedCircles" - Access to members of all the 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.
+              },
+            ],
+            "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.
+            "domainRestricted": True or False, # Whether access is restricted to the domain.
+          },
+          "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.
+          "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.
+        },
+    ],
+    "updated": "A String", # The time at which this collection of activities was last updated. Formatted as an RFC 3339 timestamp.
+    "nextLink": "A String", # Link to the next page of activities.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "id": "A String", # The ID of this collection of activities. Deprecated.
+    "selfLink": "A String", # Link to this activity 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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plusDomains_v1.audiences.html b/docs/dyn/plusDomains_v1.audiences.html
new file mode 100644
index 0000000..817c41d
--- /dev/null
+++ b/docs/dyn/plusDomains_v1.audiences.html
@@ -0,0 +1,140 @@
+<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="plusDomains_v1.html">Google+ Domains API</a> . <a href="plusDomains_v1.audiences.html">audiences</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(userId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the audiences to which a user can share.</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(userId, pageToken=None, maxResults=None)</code>
+  <pre>List all of the audiences to which a user can share.
+
+Args:
+  userId: string, The ID of the user to get audiences for. The special value "me" can be used to indicate the authenticated user. (required)
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of circles to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "items": [ # The audiences in this result.
+      {
+        "memberCount": 42, # The number of people in this circle. This only applies if entity_type is CIRCLE.
+        "item": { # The access control list entry.
+          "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
+              # - "person" - Access to an individual.
+              # - "circle" - Access to members of a circle.
+              # - "myCircles" - Access to members of all the person's circles.
+              # - "extendedCircles" - Access to members of all the 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.
+        },
+        "kind": "plus#audience", # Identifies this resource as an audience. Value: "plus#audience".
+        "etag": "A String", # ETag of this response for caching purposes.
+        "visibility": "A String", # The circle members' visibility as chosen by the owner of the circle. This only applies for items with "item.type" equals "circle". Possible values are:
+            # - "public" - Members are visible to the public.
+            # - "limited" - Members are visible to a limited audience.
+            # - "private" - Members are visible to the owner only.
+      },
+    ],
+    "kind": "plus#audiencesFeed", # Identifies this resource as a collection of audiences. Value: "plus#audienceFeed".
+    "etag": "A String", # ETag of this response for caching purposes.
+    "totalItems": 42, # The total number of ACL entries. The number of entries in this response may be smaller due to paging.
+  }</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/plusDomains_v1.circles.html b/docs/dyn/plusDomains_v1.circles.html
new file mode 100644
index 0000000..f702378
--- /dev/null
+++ b/docs/dyn/plusDomains_v1.circles.html
@@ -0,0 +1,337 @@
+<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="plusDomains_v1.html">Google+ Domains API</a> . <a href="plusDomains_v1.circles.html">circles</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#addPeople">addPeople(circleId, userId=None, email=None)</a></code></p>
+<p class="firstline">Add a person to a circle. Google+ limits certain circle operations, including the number of circle adds. Learn More.</p>
+<p class="toc_element">
+  <code><a href="#get">get(circleId)</a></code></p>
+<p class="firstline">Get a circle.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(userId, body)</a></code></p>
+<p class="firstline">Create a new circle for the authenticated user.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the circles for a 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(circleId, body)</a></code></p>
+<p class="firstline">Update a circle's description. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#remove">remove(circleId)</a></code></p>
+<p class="firstline">Delete a circle.</p>
+<p class="toc_element">
+  <code><a href="#removePeople">removePeople(circleId, userId=None, email=None)</a></code></p>
+<p class="firstline">Remove a person from a circle.</p>
+<p class="toc_element">
+  <code><a href="#update">update(circleId, body)</a></code></p>
+<p class="firstline">Update a circle's description.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="addPeople">addPeople(circleId, userId=None, email=None)</code>
+  <pre>Add a person to a circle. Google+ limits certain circle operations, including the number of circle adds. Learn More.
+
+Args:
+  circleId: string, The ID of the circle to add the person to. (required)
+  userId: string, IDs of the people to add to the circle. Optional, can be repeated. (repeated)
+  email: string, Email of the people to add to the circle. Optional, can be repeated. (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+      "displayName": "A String", # The circle name.
+      "description": "A String", # The description of this circle.
+      "people": { # The people in this circle.
+        "totalItems": 42, # The total number of people in this circle.
+      },
+      "etag": "A String", # ETag of this response for caching purposes.
+      "id": "A String", # The ID of the circle.
+      "selfLink": "A String", # Link to this circle resource
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(circleId)</code>
+  <pre>Get a circle.
+
+Args:
+  circleId: string, The ID of the circle to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+      "displayName": "A String", # The circle name.
+      "description": "A String", # The description of this circle.
+      "people": { # The people in this circle.
+        "totalItems": 42, # The total number of people in this circle.
+      },
+      "etag": "A String", # ETag of this response for caching purposes.
+      "id": "A String", # The ID of the circle.
+      "selfLink": "A String", # Link to this circle resource
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(userId, body)</code>
+  <pre>Create a new circle for the authenticated user.
+
+Args:
+  userId: string, The ID of the user to create the circle on behalf of. The value "me" can be used to indicate the authenticated user. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+    "displayName": "A String", # The circle name.
+    "description": "A String", # The description of this circle.
+    "people": { # The people in this circle.
+      "totalItems": 42, # The total number of people in this circle.
+    },
+    "etag": "A String", # ETag of this response for caching purposes.
+    "id": "A String", # The ID of the circle.
+    "selfLink": "A String", # Link to this circle resource
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+      "displayName": "A String", # The circle name.
+      "description": "A String", # The description of this circle.
+      "people": { # The people in this circle.
+        "totalItems": 42, # The total number of people in this circle.
+      },
+      "etag": "A String", # ETag of this response for caching purposes.
+      "id": "A String", # The ID of the circle.
+      "selfLink": "A String", # Link to this circle resource
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, pageToken=None, maxResults=None)</code>
+  <pre>List all of the circles for a user.
+
+Args:
+  userId: string, The ID of the user to get circles for. The special value "me" can be used to indicate the authenticated user. (required)
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of circles to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#circleFeed", # Identifies this resource as a collection of circles. Value: "plus#circleFeed".
+    "title": "A String", # The title of this list of resources.
+    "items": [ # The circles in this page of results.
+      {
+          "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+          "displayName": "A String", # The circle name.
+          "description": "A String", # The description of this circle.
+          "people": { # The people in this circle.
+            "totalItems": 42, # The total number of people in this circle.
+          },
+          "etag": "A String", # ETag of this response for caching purposes.
+          "id": "A String", # The ID of the circle.
+          "selfLink": "A String", # Link to this circle resource
+        },
+    ],
+    "nextLink": "A String", # Link to the next page of circles.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "totalItems": 42, # The total number of circles. The number of circles in this response may be smaller due to paging.
+    "selfLink": "A String", # Link to this page of circles.
+  }</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(circleId, body)</code>
+  <pre>Update a circle's description. This method supports patch semantics.
+
+Args:
+  circleId: string, The ID of the circle to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+    "displayName": "A String", # The circle name.
+    "description": "A String", # The description of this circle.
+    "people": { # The people in this circle.
+      "totalItems": 42, # The total number of people in this circle.
+    },
+    "etag": "A String", # ETag of this response for caching purposes.
+    "id": "A String", # The ID of the circle.
+    "selfLink": "A String", # Link to this circle resource
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+      "displayName": "A String", # The circle name.
+      "description": "A String", # The description of this circle.
+      "people": { # The people in this circle.
+        "totalItems": 42, # The total number of people in this circle.
+      },
+      "etag": "A String", # ETag of this response for caching purposes.
+      "id": "A String", # The ID of the circle.
+      "selfLink": "A String", # Link to this circle resource
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="remove">remove(circleId)</code>
+  <pre>Delete a circle.
+
+Args:
+  circleId: string, The ID of the circle to delete. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="removePeople">removePeople(circleId, userId=None, email=None)</code>
+  <pre>Remove a person from a circle.
+
+Args:
+  circleId: string, The ID of the circle to remove the person from. (required)
+  userId: string, IDs of the people to remove from the circle. Optional, can be repeated. (repeated)
+  email: string, Email of the people to add to the circle. Optional, can be repeated. (repeated)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(circleId, body)</code>
+  <pre>Update a circle's description.
+
+Args:
+  circleId: string, The ID of the circle to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+    "displayName": "A String", # The circle name.
+    "description": "A String", # The description of this circle.
+    "people": { # The people in this circle.
+      "totalItems": 42, # The total number of people in this circle.
+    },
+    "etag": "A String", # ETag of this response for caching purposes.
+    "id": "A String", # The ID of the circle.
+    "selfLink": "A String", # Link to this circle resource
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "plus#circle", # Identifies this resource as a circle. Value: "plus#circle".
+      "displayName": "A String", # The circle name.
+      "description": "A String", # The description of this circle.
+      "people": { # The people in this circle.
+        "totalItems": 42, # The total number of people in this circle.
+      },
+      "etag": "A String", # ETag of this response for caching purposes.
+      "id": "A String", # The ID of the circle.
+      "selfLink": "A String", # Link to this circle resource
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plusDomains_v1.comments.html b/docs/dyn/plusDomains_v1.comments.html
new file mode 100644
index 0000000..6aefd3f
--- /dev/null
+++ b/docs/dyn/plusDomains_v1.comments.html
@@ -0,0 +1,293 @@
+<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="plusDomains_v1.html">Google+ Domains API</a> . <a href="plusDomains_v1.comments.html">comments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(commentId)</a></code></p>
+<p class="firstline">Get a comment.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(activityId, body)</a></code></p>
+<p class="firstline">Create a new comment in reply to an activity.</p>
+<p class="toc_element">
+  <code><a href="#list">list(activityId, pageToken=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">List all of the comments for an activity.</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(commentId)</code>
+  <pre>Get a comment.
+
+Args:
+  commentId: string, The ID of the comment to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "inReplyTo": [ # The activity this comment replied to.
+        {
+          "url": "A String", # The URL of the activity.
+          "id": "A String", # The ID of the activity.
+        },
+      ],
+      "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
+      "plusoners": { # People who +1'd this comment.
+        "totalItems": 42, # Total number of people who +1'd this comment.
+      },
+      "object": { # The object of this comment.
+        "content": "A String", # The HTML-formatted content, suitable for display.
+        "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
+        "objectType": "comment", # The object type of this comment. Possible values are:
+            # - "comment" - A comment in reply to an activity.
+      },
+      "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
+      "actor": { # The person who posted this comment.
+        "url": "A String", # A link to the Person resource for this actor.
+        "image": { # The image representation of this actor.
+          "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "displayName": "A String", # The name of this actor, suitable for display.
+        "id": "A String", # The ID of the actor.
+      },
+      "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
+          # - "post" - Publish content to the stream.
+      "etag": "A String", # ETag of this response for caching purposes.
+      "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
+      "id": "A String", # The ID of this comment.
+      "selfLink": "A String", # Link to this comment resource.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(activityId, body)</code>
+  <pre>Create a new comment in reply to an activity.
+
+Args:
+  activityId: string, The ID of the activity to reply to. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "inReplyTo": [ # The activity this comment replied to.
+      {
+        "url": "A String", # The URL of the activity.
+        "id": "A String", # The ID of the activity.
+      },
+    ],
+    "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
+    "plusoners": { # People who +1'd this comment.
+      "totalItems": 42, # Total number of people who +1'd this comment.
+    },
+    "object": { # The object of this comment.
+      "content": "A String", # The HTML-formatted content, suitable for display.
+      "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
+      "objectType": "comment", # The object type of this comment. Possible values are:
+          # - "comment" - A comment in reply to an activity.
+    },
+    "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
+    "actor": { # The person who posted this comment.
+      "url": "A String", # A link to the Person resource for this actor.
+      "image": { # The image representation of this actor.
+        "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+      },
+      "displayName": "A String", # The name of this actor, suitable for display.
+      "id": "A String", # The ID of the actor.
+    },
+    "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
+        # - "post" - Publish content to the stream.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
+    "id": "A String", # The ID of this comment.
+    "selfLink": "A String", # Link to this comment resource.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "inReplyTo": [ # The activity this comment replied to.
+        {
+          "url": "A String", # The URL of the activity.
+          "id": "A String", # The ID of the activity.
+        },
+      ],
+      "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
+      "plusoners": { # People who +1'd this comment.
+        "totalItems": 42, # Total number of people who +1'd this comment.
+      },
+      "object": { # The object of this comment.
+        "content": "A String", # The HTML-formatted content, suitable for display.
+        "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
+        "objectType": "comment", # The object type of this comment. Possible values are:
+            # - "comment" - A comment in reply to an activity.
+      },
+      "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
+      "actor": { # The person who posted this comment.
+        "url": "A String", # A link to the Person resource for this actor.
+        "image": { # The image representation of this actor.
+          "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "displayName": "A String", # The name of this actor, suitable for display.
+        "id": "A String", # The ID of the actor.
+      },
+      "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
+          # - "post" - Publish content to the stream.
+      "etag": "A String", # ETag of this response for caching purposes.
+      "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
+      "id": "A String", # The ID of this comment.
+      "selfLink": "A String", # Link to this comment resource.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(activityId, pageToken=None, maxResults=None, sortOrder=None)</code>
+  <pre>List all of the comments for an activity.
+
+Args:
+  activityId: string, The ID of the activity to get comments for. (required)
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+  sortOrder: string, The order in which to sort the list of comments.
+    Allowed values
+      ascending - Sort oldest comments first.
+      descending - Sort newest comments first.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#commentFeed", # Identifies this resource as a collection of comments. Value: "plus#commentFeed".
+    "title": "A String", # The title of this collection of comments.
+    "items": [ # The comments in this page of results.
+      {
+          "inReplyTo": [ # The activity this comment replied to.
+            {
+              "url": "A String", # The URL of the activity.
+              "id": "A String", # The ID of the activity.
+            },
+          ],
+          "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
+          "plusoners": { # People who +1'd this comment.
+            "totalItems": 42, # Total number of people who +1'd this comment.
+          },
+          "object": { # The object of this comment.
+            "content": "A String", # The HTML-formatted content, suitable for display.
+            "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
+            "objectType": "comment", # The object type of this comment. Possible values are:
+                # - "comment" - A comment in reply to an activity.
+          },
+          "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
+          "actor": { # The person who posted this comment.
+            "url": "A String", # A link to the Person resource for this actor.
+            "image": { # The image representation of this actor.
+              "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+            },
+            "displayName": "A String", # The name of this actor, suitable for display.
+            "id": "A String", # The ID of the actor.
+          },
+          "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
+              # - "post" - Publish content to the stream.
+          "etag": "A String", # ETag of this response for caching purposes.
+          "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
+          "id": "A String", # The ID of this comment.
+          "selfLink": "A String", # Link to this comment resource.
+        },
+    ],
+    "updated": "A String", # The time at which this collection of comments was last updated. Formatted as an RFC 3339 timestamp.
+    "nextLink": "A String", # Link to the next page of activities.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "id": "A String", # The ID of this collection of comments.
+  }</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/plusDomains_v1.html b/docs/dyn/plusDomains_v1.html
new file mode 100644
index 0000000..c5285f3
--- /dev/null
+++ b/docs/dyn/plusDomains_v1.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="plusDomains_v1.html">Google+ Domains API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="plusDomains_v1.activities.html">activities()</a></code>
+</p>
+<p class="firstline">Returns the activities Resource.</p>
+
+<p class="toc_element">
+  <code><a href="plusDomains_v1.audiences.html">audiences()</a></code>
+</p>
+<p class="firstline">Returns the audiences Resource.</p>
+
+<p class="toc_element">
+  <code><a href="plusDomains_v1.circles.html">circles()</a></code>
+</p>
+<p class="firstline">Returns the circles Resource.</p>
+
+<p class="toc_element">
+  <code><a href="plusDomains_v1.comments.html">comments()</a></code>
+</p>
+<p class="firstline">Returns the comments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="plusDomains_v1.media.html">media()</a></code>
+</p>
+<p class="firstline">Returns the media Resource.</p>
+
+<p class="toc_element">
+  <code><a href="plusDomains_v1.people.html">people()</a></code>
+</p>
+<p class="firstline">Returns the people Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plusDomains_v1.media.html b/docs/dyn/plusDomains_v1.media.html
new file mode 100644
index 0000000..36fdbbb
--- /dev/null
+++ b/docs/dyn/plusDomains_v1.media.html
@@ -0,0 +1,183 @@
+<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="plusDomains_v1.html">Google+ Domains API</a> . <a href="plusDomains_v1.media.html">media</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(userId, collection, body=None, media_body=None)</a></code></p>
+<p class="firstline">Add a new media item to an album. The current upload size limitations are 36MB for a photo and 1GB for a video. Uploads do not count against quota if photos are less than 2048 pixels on their longest side or videos are less than 15 minutes in length.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(userId, collection, body=None, media_body=None)</code>
+  <pre>Add a new media item to an album. The current upload size limitations are 36MB for a photo and 1GB for a video. Uploads do not count against quota if photos are less than 2048 pixels on their longest side or videos are less than 15 minutes in length.
+
+Args:
+  userId: string, The ID of the user to create the activity on behalf of. (required)
+  collection: string, A parameter (required)
+    Allowed values
+      cloud - Upload the media to share on Google+.
+  body: object, The request body.
+    The object takes the form of:
+
+{
+    "kind": "plus#media", # The type of resource.
+    "displayName": "A String", # The display name for this media.
+    "exif": { # Exif information of the media item.
+      "time": "A String", # The time the media was captured. Formatted as an RFC 3339 timestamp.
+    },
+    "author": { # The person who uploaded this media.
+      "url": "A String", # A link to the author's Google profile.
+      "image": { # The author's Google profile image.
+        "url": "A String", # The URL of the author's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+      },
+      "displayName": "A String", # The author's name.
+      "id": "A String", # ID of the author.
+    },
+    "url": "A String", # The URL for the page that hosts this media.
+    "mediaUrl": "A String", # The URL of this photo or video's still image.
+    "videoStatus": "A String", # The encoding status of this video. Possible values are:
+        # - "UPLOADING" - Not all the video bytes have been received.
+        # - "PENDING" - Video not yet processed.
+        # - "FAILED" - Video processing failed.
+        # - "READY" - A single video stream is playable.
+        # - "FINAL" - All video streams are playable.
+    "updated": "A String", # The time at which this media was last updated. This includes changes to media metadata. Formatted as an RFC 3339 timestamp.
+    "summary": "A String", # A description, or caption, for this media.
+    "height": 42, # The height in pixels of the original image.
+    "videoDuration": "A String", # The duration in milliseconds of this video.
+    "sizeBytes": "A String", # The size in bytes of this video.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "streams": [ # The list of video streams for this video. There might be several different streams available for a single video, either Flash or MPEG, of various sizes
+      {
+        "url": "A String", # URL of the video stream.
+        "width": 42, # The width, in pixels, of the video resource.
+        "type": "A String", # MIME type of the video stream.
+        "height": 42, # The height, in pixels, of the video resource.
+      },
+    ],
+    "width": 42, # The width in pixels of the original image.
+    "published": "A String", # The time at which this media was uploaded. Formatted as an RFC 3339 timestamp.
+    "mediaCreatedTime": "A String", # The time at which this media was originally created in UTC. Formatted as an RFC 3339 timestamp that matches this example: 2010-11-25T14:30:27.655Z
+    "id": "A String", # ID of this media, which is generated by the API.
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "plus#media", # The type of resource.
+      "displayName": "A String", # The display name for this media.
+      "exif": { # Exif information of the media item.
+        "time": "A String", # The time the media was captured. Formatted as an RFC 3339 timestamp.
+      },
+      "author": { # The person who uploaded this media.
+        "url": "A String", # A link to the author's Google profile.
+        "image": { # The author's Google profile image.
+          "url": "A String", # The URL of the author's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "displayName": "A String", # The author's name.
+        "id": "A String", # ID of the author.
+      },
+      "url": "A String", # The URL for the page that hosts this media.
+      "mediaUrl": "A String", # The URL of this photo or video's still image.
+      "videoStatus": "A String", # The encoding status of this video. Possible values are:
+          # - "UPLOADING" - Not all the video bytes have been received.
+          # - "PENDING" - Video not yet processed.
+          # - "FAILED" - Video processing failed.
+          # - "READY" - A single video stream is playable.
+          # - "FINAL" - All video streams are playable.
+      "updated": "A String", # The time at which this media was last updated. This includes changes to media metadata. Formatted as an RFC 3339 timestamp.
+      "summary": "A String", # A description, or caption, for this media.
+      "height": 42, # The height in pixels of the original image.
+      "videoDuration": "A String", # The duration in milliseconds of this video.
+      "sizeBytes": "A String", # The size in bytes of this video.
+      "etag": "A String", # ETag of this response for caching purposes.
+      "streams": [ # The list of video streams for this video. There might be several different streams available for a single video, either Flash or MPEG, of various sizes
+        {
+          "url": "A String", # URL of the video stream.
+          "width": 42, # The width, in pixels, of the video resource.
+          "type": "A String", # MIME type of the video stream.
+          "height": 42, # The height, in pixels, of the video resource.
+        },
+      ],
+      "width": 42, # The width in pixels of the original image.
+      "published": "A String", # The time at which this media was uploaded. Formatted as an RFC 3339 timestamp.
+      "mediaCreatedTime": "A String", # The time at which this media was originally created in UTC. Formatted as an RFC 3339 timestamp that matches this example: 2010-11-25T14:30:27.655Z
+      "id": "A String", # ID of this media, which is generated by the API.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plusDomains_v1.people.html b/docs/dyn/plusDomains_v1.people.html
new file mode 100644
index 0000000..453887b
--- /dev/null
+++ b/docs/dyn/plusDomains_v1.people.html
@@ -0,0 +1,649 @@
+<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="plusDomains_v1.html">Google+ Domains API</a> . <a href="plusDomains_v1.people.html">people</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(userId)</a></code></p>
+<p class="firstline">Get a person's profile.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, collection, orderBy=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the people in the specified collection.</p>
+<p class="toc_element">
+  <code><a href="#listByActivity">listByActivity(activityId, collection, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the people in the specified collection for a particular activity.</p>
+<p class="toc_element">
+  <code><a href="#listByActivity_next">listByActivity_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="#listByCircle">listByCircle(circleId, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the people who are members of a circle.</p>
+<p class="toc_element">
+  <code><a href="#listByCircle_next">listByCircle_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>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(userId)</code>
+  <pre>Get a person's profile.
+
+Args:
+  userId: string, The ID of the person to get the profile for. The special value "me" can be used to indicate the authenticated user. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "braggingRights": "A String", # The "bragging rights" line of this person.
+    "image": { # The representation of the person's profile photo.
+      "url": "A String", # The URL of the person's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+    },
+    "domain": "A String", # The hosted domain name for the user's Google Apps account. For instance, example.com. The plus.profile.emails.read or email scope is needed to get this domain name.
+    "id": "A String", # The ID of this person.
+    "occupation": "A String", # The occupation of this person.
+    "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, # For followers who are visible, the number of people who have added this person or page to a circle.
+    "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.
+    "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.
+        # - "married" - Person is married.
+        # - "its_complicated" - The relationship is complicated.
+        # - "open_relationship" - Person is in an open relationship.
+        # - "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, including their Google account email address, and the public verified email addresses on their Google+ profile. The plus.profile.emails.read scope is needed to retrieve these email addresses, or the email scope can be used to retrieve just the Google account email address.
+      {
+        "type": "A String", # The type of address. Possible values include, but are not limited to, the following values:
+            # - "account" - Google account email address.
+            # - "home" - Home email address.
+            # - "work" - Work email address.
+            # - "other" - Other.
+        "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 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.
+      },
+    ],
+    "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+    "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.
+      "familyName": "A String", # The family name (last name) of this person.
+      "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
+      "givenName": "A String", # The given name (first name) of this person.
+      "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
+    },
+    "skills": "A String", # The person's skills.
+    "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 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 cover image and the actual displayed cover image. Only valid for banner layout.
+        "topImageOffset": 42, # The difference between the top position of the cover image and the actual displayed cover image. Only valid for banner layout.
+      },
+      "coverPhoto": { # The person's primary cover image.
+        "url": "A String", # The URL of the image.
+        "width": 42, # The width of the image.
+        "height": 42, # The height of the image.
+      },
+    },
+    "url": "A String", # The URL of this person's profile.
+    "isPlusUser": True or False, # Whether this user has signed up for Google+.
+    "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'd this page.
+    "urls": [ # A list of URLs for this person.
+      {
+        "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.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, collection, orderBy=None, pageToken=None, maxResults=None)</code>
+  <pre>List all of the people in the specified collection.
+
+Args:
+  userId: string, Get the collection of people for the person identified. Use "me" to indicate the authenticated user. (required)
+  collection: string, The collection of people to list. (required)
+    Allowed values
+      circled - The list of people who this user has added to one or more circles.
+  orderBy: string, The order to return people in.
+    Allowed values
+      alphabetical - Order the people by their display name.
+      best - Order people based on the relevence to the viewer.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
+    "title": "A String", # The title of this collection of people.
+    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
+      {
+        "braggingRights": "A String", # The "bragging rights" line of this person.
+        "image": { # The representation of the person's profile photo.
+          "url": "A String", # The URL of the person's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "domain": "A String", # The hosted domain name for the user's Google Apps account. For instance, example.com. The plus.profile.emails.read or email scope is needed to get this domain name.
+        "id": "A String", # The ID of this person.
+        "occupation": "A String", # The occupation of this person.
+        "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, # For followers who are visible, the number of people who have added this person or page to a circle.
+        "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.
+        "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.
+            # - "married" - Person is married.
+            # - "its_complicated" - The relationship is complicated.
+            # - "open_relationship" - Person is in an open relationship.
+            # - "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, including their Google account email address, and the public verified email addresses on their Google+ profile. The plus.profile.emails.read scope is needed to retrieve these email addresses, or the email scope can be used to retrieve just the Google account email address.
+          {
+            "type": "A String", # The type of address. Possible values include, but are not limited to, the following values:
+                # - "account" - Google account email address.
+                # - "home" - Home email address.
+                # - "work" - Work email address.
+                # - "other" - Other.
+            "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 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.
+          },
+        ],
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "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.
+          "familyName": "A String", # The family name (last name) of this person.
+          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
+          "givenName": "A String", # The given name (first name) of this person.
+          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
+        },
+        "skills": "A String", # The person's skills.
+        "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 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 cover image and the actual displayed cover image. Only valid for banner layout.
+            "topImageOffset": 42, # The difference between the top position of the cover image and the actual displayed cover image. Only valid for banner layout.
+          },
+          "coverPhoto": { # The person's primary cover image.
+            "url": "A String", # The URL of the image.
+            "width": 42, # The width of the image.
+            "height": 42, # The height of the image.
+          },
+        },
+        "url": "A String", # The URL of this person's profile.
+        "isPlusUser": True or False, # Whether this user has signed up for Google+.
+        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'd this page.
+        "urls": [ # A list of URLs for this person.
+          {
+            "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.
+          },
+        ],
+      },
+    ],
+    "etag": "A String", # ETag of this response for caching purposes.
+    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
+    "selfLink": "A String", # Link to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listByActivity">listByActivity(activityId, collection, pageToken=None, maxResults=None)</code>
+  <pre>List all of the people in the specified collection for a particular activity.
+
+Args:
+  activityId: string, The ID of the activity to get the list of people for. (required)
+  collection: string, The collection of people to list. (required)
+    Allowed values
+      plusoners - List all people who have +1'd this activity.
+      resharers - List all people who have reshared this activity.
+      sharedto - List all people who this activity was shared to.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
+    "title": "A String", # The title of this collection of people.
+    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
+      {
+        "braggingRights": "A String", # The "bragging rights" line of this person.
+        "image": { # The representation of the person's profile photo.
+          "url": "A String", # The URL of the person's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "domain": "A String", # The hosted domain name for the user's Google Apps account. For instance, example.com. The plus.profile.emails.read or email scope is needed to get this domain name.
+        "id": "A String", # The ID of this person.
+        "occupation": "A String", # The occupation of this person.
+        "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, # For followers who are visible, the number of people who have added this person or page to a circle.
+        "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.
+        "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.
+            # - "married" - Person is married.
+            # - "its_complicated" - The relationship is complicated.
+            # - "open_relationship" - Person is in an open relationship.
+            # - "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, including their Google account email address, and the public verified email addresses on their Google+ profile. The plus.profile.emails.read scope is needed to retrieve these email addresses, or the email scope can be used to retrieve just the Google account email address.
+          {
+            "type": "A String", # The type of address. Possible values include, but are not limited to, the following values:
+                # - "account" - Google account email address.
+                # - "home" - Home email address.
+                # - "work" - Work email address.
+                # - "other" - Other.
+            "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 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.
+          },
+        ],
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "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.
+          "familyName": "A String", # The family name (last name) of this person.
+          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
+          "givenName": "A String", # The given name (first name) of this person.
+          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
+        },
+        "skills": "A String", # The person's skills.
+        "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 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 cover image and the actual displayed cover image. Only valid for banner layout.
+            "topImageOffset": 42, # The difference between the top position of the cover image and the actual displayed cover image. Only valid for banner layout.
+          },
+          "coverPhoto": { # The person's primary cover image.
+            "url": "A String", # The URL of the image.
+            "width": 42, # The width of the image.
+            "height": 42, # The height of the image.
+          },
+        },
+        "url": "A String", # The URL of this person's profile.
+        "isPlusUser": True or False, # Whether this user has signed up for Google+.
+        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'd this page.
+        "urls": [ # A list of URLs for this person.
+          {
+            "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.
+          },
+        ],
+      },
+    ],
+    "etag": "A String", # ETag of this response for caching purposes.
+    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
+    "selfLink": "A String", # Link to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listByActivity_next">listByActivity_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="listByCircle">listByCircle(circleId, pageToken=None, maxResults=None)</code>
+  <pre>List all of the people who are members of a circle.
+
+Args:
+  circleId: string, The ID of the circle to get the members of. (required)
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
+    "title": "A String", # The title of this collection of people.
+    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
+      {
+        "braggingRights": "A String", # The "bragging rights" line of this person.
+        "image": { # The representation of the person's profile photo.
+          "url": "A String", # The URL of the person's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "domain": "A String", # The hosted domain name for the user's Google Apps account. For instance, example.com. The plus.profile.emails.read or email scope is needed to get this domain name.
+        "id": "A String", # The ID of this person.
+        "occupation": "A String", # The occupation of this person.
+        "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, # For followers who are visible, the number of people who have added this person or page to a circle.
+        "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.
+        "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.
+            # - "married" - Person is married.
+            # - "its_complicated" - The relationship is complicated.
+            # - "open_relationship" - Person is in an open relationship.
+            # - "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, including their Google account email address, and the public verified email addresses on their Google+ profile. The plus.profile.emails.read scope is needed to retrieve these email addresses, or the email scope can be used to retrieve just the Google account email address.
+          {
+            "type": "A String", # The type of address. Possible values include, but are not limited to, the following values:
+                # - "account" - Google account email address.
+                # - "home" - Home email address.
+                # - "work" - Work email address.
+                # - "other" - Other.
+            "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 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.
+          },
+        ],
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "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.
+          "familyName": "A String", # The family name (last name) of this person.
+          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
+          "givenName": "A String", # The given name (first name) of this person.
+          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
+        },
+        "skills": "A String", # The person's skills.
+        "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 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 cover image and the actual displayed cover image. Only valid for banner layout.
+            "topImageOffset": 42, # The difference between the top position of the cover image and the actual displayed cover image. Only valid for banner layout.
+          },
+          "coverPhoto": { # The person's primary cover image.
+            "url": "A String", # The URL of the image.
+            "width": 42, # The width of the image.
+            "height": 42, # The height of the image.
+          },
+        },
+        "url": "A String", # The URL of this person's profile.
+        "isPlusUser": True or False, # Whether this user has signed up for Google+.
+        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'd this page.
+        "urls": [ # A list of URLs for this person.
+          {
+            "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.
+          },
+        ],
+      },
+    ],
+    "etag": "A String", # ETag of this response for caching purposes.
+    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
+    "selfLink": "A String", # Link to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listByCircle_next">listByCircle_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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plus_v1.activities.html b/docs/dyn/plus_v1.activities.html
new file mode 100644
index 0000000..a90f7cc
--- /dev/null
+++ b/docs/dyn/plus_v1.activities.html
@@ -0,0 +1,589 @@
+<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="plus_v1.html">Google+ API</a> . <a href="plus_v1.activities.html">activities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(activityId)</a></code></p>
+<p class="firstline">Get an activity.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, collection, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the activities in the specified collection for a particular 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="#search">search(query, orderBy=None, language=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Search public activities.</p>
+<p class="toc_element">
+  <code><a href="#search_next">search_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(activityId)</code>
+  <pre>Get an activity.
+
+Args:
+  activityId: string, The ID of the activity to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "placeName": "A String", # Name of the place where this activity occurred.
+    "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
+    "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
+    "provider": { # The service provider that initially published this activity.
+      "title": "A String", # Name of the service provider.
+    },
+    "title": "A String", # Title of this activity.
+    "url": "A String", # The link to this activity.
+    "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
+    "object": { # The object of this activity.
+      "resharers": { # People who reshared this activity.
+        "totalItems": 42, # Total number of people who reshared this activity.
+        "selfLink": "A String", # The URL for the collection of resharers.
+      },
+      "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, this property is a list of potential additional thumbnails from the album.
+            {
+              "url": "A String", # URL of the webpage containing the image.
+              "image": { # Image resource.
+                "url": "A String", # Image url.
+                "width": 42, # The width, in pixels, of the linked resource.
+                "type": "A String", # Media type of the link.
+                "height": 42, # The height, in pixels, of the linked resource.
+              },
+              "description": "A String", # Potential name of the thumbnail.
+            },
+          ],
+          "fullImage": { # The full image URL for photo attachments.
+            "url": "A String", # URL of the image.
+            "width": 42, # The width, in pixels, of the linked resource.
+            "type": "A String", # Media type of the link.
+            "height": 42, # The height, in pixels, of the linked resource.
+          },
+          "url": "A String", # The link to the attachment, which should be of type text/html.
+          "image": { # The preview image for photos or videos.
+            "url": "A String", # Image URL.
+            "width": 42, # The width, in pixels, of the linked resource.
+            "type": "A String", # Media type of the link.
+            "height": 42, # The height, in pixels, of the linked resource.
+          },
+          "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
+          "embed": { # If the attachment is a video, the embeddable link.
+            "url": "A String", # URL of the link.
+            "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 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, 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, 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, which is suitable for display.
+        "id": "A String", # ID of the original actor.
+      },
+      "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 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.
+    },
+    "placeId": "A String", # ID of the place where this activity occurred.
+    "actor": { # The person who performed this activity.
+      "url": "A String", # The link to the actor's Google profile.
+      "image": { # The image representation of the actor.
+        "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+      },
+      "displayName": "A String", # The name of the actor, suitable for display.
+      "id": "A String", # The ID of the actor's Person resource.
+      "name": { # An object representation of the individual components of name.
+        "givenName": "A String", # The given name ("first name") of the actor.
+        "familyName": "A String", # The family name ("last name") of the actor.
+      },
+    },
+    "id": "A String", # The ID of this activity.
+    "access": { # Identifies who has access to see this activity.
+      "items": [ # The list of access entries.
+        {
+          "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
+              # - "person" - Access to an individual.
+              # - "circle" - Access to members of a circle.
+              # - "myCircles" - Access to members of all the person's circles.
+              # - "extendedCircles" - Access to members of all the 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.
+        },
+      ],
+      "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, 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.
+    "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>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, collection, pageToken=None, maxResults=None)</code>
+  <pre>List all of the activities in the specified collection for a particular user.
+
+Args:
+  userId: string, The ID of the user to get activities for. The special value "me" can be used to indicate the authenticated user. (required)
+  collection: string, The collection of activities to list. (required)
+    Allowed values
+      public - All public activities created by the specified user.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#activityFeed", # Identifies this resource as a collection of activities. Value: "plus#activityFeed".
+    "title": "A String", # The title of this collection of activities, which is a truncated portion of the content.
+    "items": [ # The activities in this page of results.
+      {
+        "placeName": "A String", # Name of the place where this activity occurred.
+        "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
+        "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
+        "provider": { # The service provider that initially published this activity.
+          "title": "A String", # Name of the service provider.
+        },
+        "title": "A String", # Title of this activity.
+        "url": "A String", # The link to this activity.
+        "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
+        "object": { # The object of this activity.
+          "resharers": { # People who reshared this activity.
+            "totalItems": 42, # Total number of people who reshared this activity.
+            "selfLink": "A String", # The URL for the collection of resharers.
+          },
+          "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, this property is a list of potential additional thumbnails from the album.
+                {
+                  "url": "A String", # URL of the webpage containing the image.
+                  "image": { # Image resource.
+                    "url": "A String", # Image url.
+                    "width": 42, # The width, in pixels, of the linked resource.
+                    "type": "A String", # Media type of the link.
+                    "height": 42, # The height, in pixels, of the linked resource.
+                  },
+                  "description": "A String", # Potential name of the thumbnail.
+                },
+              ],
+              "fullImage": { # The full image URL for photo attachments.
+                "url": "A String", # URL of the image.
+                "width": 42, # The width, in pixels, of the linked resource.
+                "type": "A String", # Media type of the link.
+                "height": 42, # The height, in pixels, of the linked resource.
+              },
+              "url": "A String", # The link to the attachment, which should be of type text/html.
+              "image": { # The preview image for photos or videos.
+                "url": "A String", # Image URL.
+                "width": 42, # The width, in pixels, of the linked resource.
+                "type": "A String", # Media type of the link.
+                "height": 42, # The height, in pixels, of the linked resource.
+              },
+              "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
+              "embed": { # If the attachment is a video, the embeddable link.
+                "url": "A String", # URL of the link.
+                "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 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, 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, 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, which is suitable for display.
+            "id": "A String", # ID of the original actor.
+          },
+          "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 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.
+        },
+        "placeId": "A String", # ID of the place where this activity occurred.
+        "actor": { # The person who performed this activity.
+          "url": "A String", # The link to the actor's Google profile.
+          "image": { # The image representation of the actor.
+            "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+          },
+          "displayName": "A String", # The name of the actor, suitable for display.
+          "id": "A String", # The ID of the actor's Person resource.
+          "name": { # An object representation of the individual components of name.
+            "givenName": "A String", # The given name ("first name") of the actor.
+            "familyName": "A String", # The family name ("last name") of the actor.
+          },
+        },
+        "id": "A String", # The ID of this activity.
+        "access": { # Identifies who has access to see this activity.
+          "items": [ # The list of access entries.
+            {
+              "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
+                  # - "person" - Access to an individual.
+                  # - "circle" - Access to members of a circle.
+                  # - "myCircles" - Access to members of all the person's circles.
+                  # - "extendedCircles" - Access to members of all the 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.
+            },
+          ],
+          "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, 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.
+        "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.
+      },
+    ],
+    "updated": "A String", # The time at which this collection of activities was last updated. Formatted as an RFC 3339 timestamp.
+    "nextLink": "A String", # Link to the next page of activities.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "id": "A String", # The ID of this collection of activities. Deprecated.
+    "selfLink": "A String", # Link to this activity 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="search">search(query, orderBy=None, language=None, pageToken=None, maxResults=None)</code>
+  <pre>Search public activities.
+
+Args:
+  query: string, Full-text search query string. (required)
+  orderBy: string, Specifies how to order search results.
+    Allowed values
+      best - Sort activities by relevance to the user, most relevant first.
+      recent - Sort activities by published date, most recent first.
+  language: string, Specify the preferred language to search with. See search language codes for available values.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. This token can be of any length.
+  maxResults: integer, The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#activityFeed", # Identifies this resource as a collection of activities. Value: "plus#activityFeed".
+    "title": "A String", # The title of this collection of activities, which is a truncated portion of the content.
+    "items": [ # The activities in this page of results.
+      {
+        "placeName": "A String", # Name of the place where this activity occurred.
+        "kind": "plus#activity", # Identifies this resource as an activity. Value: "plus#activity".
+        "updated": "A String", # The time at which this activity was last updated. Formatted as an RFC 3339 timestamp.
+        "provider": { # The service provider that initially published this activity.
+          "title": "A String", # Name of the service provider.
+        },
+        "title": "A String", # Title of this activity.
+        "url": "A String", # The link to this activity.
+        "geocode": "A String", # Latitude and longitude where this activity occurred. Format is latitude followed by longitude, space separated.
+        "object": { # The object of this activity.
+          "resharers": { # People who reshared this activity.
+            "totalItems": 42, # Total number of people who reshared this activity.
+            "selfLink": "A String", # The URL for the collection of resharers.
+          },
+          "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, this property is a list of potential additional thumbnails from the album.
+                {
+                  "url": "A String", # URL of the webpage containing the image.
+                  "image": { # Image resource.
+                    "url": "A String", # Image url.
+                    "width": 42, # The width, in pixels, of the linked resource.
+                    "type": "A String", # Media type of the link.
+                    "height": 42, # The height, in pixels, of the linked resource.
+                  },
+                  "description": "A String", # Potential name of the thumbnail.
+                },
+              ],
+              "fullImage": { # The full image URL for photo attachments.
+                "url": "A String", # URL of the image.
+                "width": 42, # The width, in pixels, of the linked resource.
+                "type": "A String", # Media type of the link.
+                "height": 42, # The height, in pixels, of the linked resource.
+              },
+              "url": "A String", # The link to the attachment, which should be of type text/html.
+              "image": { # The preview image for photos or videos.
+                "url": "A String", # Image URL.
+                "width": 42, # The width, in pixels, of the linked resource.
+                "type": "A String", # Media type of the link.
+                "height": 42, # The height, in pixels, of the linked resource.
+              },
+              "content": "A String", # If the attachment is an article, this property contains a snippet of text from the article. It can also include descriptions for other types.
+              "embed": { # If the attachment is a video, the embeddable link.
+                "url": "A String", # URL of the link.
+                "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 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, 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, 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, which is suitable for display.
+            "id": "A String", # ID of the original actor.
+          },
+          "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 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.
+        },
+        "placeId": "A String", # ID of the place where this activity occurred.
+        "actor": { # The person who performed this activity.
+          "url": "A String", # The link to the actor's Google profile.
+          "image": { # The image representation of the actor.
+            "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+          },
+          "displayName": "A String", # The name of the actor, suitable for display.
+          "id": "A String", # The ID of the actor's Person resource.
+          "name": { # An object representation of the individual components of name.
+            "givenName": "A String", # The given name ("first name") of the actor.
+            "familyName": "A String", # The family name ("last name") of the actor.
+          },
+        },
+        "id": "A String", # The ID of this activity.
+        "access": { # Identifies who has access to see this activity.
+          "items": [ # The list of access entries.
+            {
+              "type": "A String", # The type of entry describing to whom access is granted. Possible values are:
+                  # - "person" - Access to an individual.
+                  # - "circle" - Access to members of a circle.
+                  # - "myCircles" - Access to members of all the person's circles.
+                  # - "extendedCircles" - Access to members of all the 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.
+            },
+          ],
+          "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, 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.
+        "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.
+      },
+    ],
+    "updated": "A String", # The time at which this collection of activities was last updated. Formatted as an RFC 3339 timestamp.
+    "nextLink": "A String", # Link to the next page of activities.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "id": "A String", # The ID of this collection of activities. Deprecated.
+    "selfLink": "A String", # Link to this activity resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search_next">search_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/plus_v1.comments.html b/docs/dyn/plus_v1.comments.html
new file mode 100644
index 0000000..c078b4f
--- /dev/null
+++ b/docs/dyn/plus_v1.comments.html
@@ -0,0 +1,208 @@
+<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="plus_v1.html">Google+ API</a> . <a href="plus_v1.comments.html">comments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(commentId)</a></code></p>
+<p class="firstline">Get a comment.</p>
+<p class="toc_element">
+  <code><a href="#list">list(activityId, pageToken=None, maxResults=None, sortOrder=None)</a></code></p>
+<p class="firstline">List all of the comments for an activity.</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(commentId)</code>
+  <pre>Get a comment.
+
+Args:
+  commentId: string, The ID of the comment to get. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "inReplyTo": [ # The activity this comment replied to.
+      {
+        "url": "A String", # The URL of the activity.
+        "id": "A String", # The ID of the activity.
+      },
+    ],
+    "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
+    "plusoners": { # People who +1'd this comment.
+      "totalItems": 42, # Total number of people who +1'd this comment.
+    },
+    "object": { # The object of this comment.
+      "content": "A String", # The HTML-formatted content, suitable for display.
+      "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
+      "objectType": "comment", # The object type of this comment. Possible values are:
+          # - "comment" - A comment in reply to an activity.
+    },
+    "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
+    "actor": { # The person who posted this comment.
+      "url": "A String", # A link to the Person resource for this actor.
+      "image": { # The image representation of this actor.
+        "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+      },
+      "displayName": "A String", # The name of this actor, suitable for display.
+      "id": "A String", # The ID of the actor.
+    },
+    "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
+        # - "post" - Publish content to the stream.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
+    "id": "A String", # The ID of this comment.
+    "selfLink": "A String", # Link to this comment resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(activityId, pageToken=None, maxResults=None, sortOrder=None)</code>
+  <pre>List all of the comments for an activity.
+
+Args:
+  activityId: string, The ID of the activity to get comments for. (required)
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+  sortOrder: string, The order in which to sort the list of comments.
+    Allowed values
+      ascending - Sort oldest comments first.
+      descending - Sort newest comments first.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#commentFeed", # Identifies this resource as a collection of comments. Value: "plus#commentFeed".
+    "title": "A String", # The title of this collection of comments.
+    "items": [ # The comments in this page of results.
+      {
+        "inReplyTo": [ # The activity this comment replied to.
+          {
+            "url": "A String", # The URL of the activity.
+            "id": "A String", # The ID of the activity.
+          },
+        ],
+        "kind": "plus#comment", # Identifies this resource as a comment. Value: "plus#comment".
+        "plusoners": { # People who +1'd this comment.
+          "totalItems": 42, # Total number of people who +1'd this comment.
+        },
+        "object": { # The object of this comment.
+          "content": "A String", # The HTML-formatted content, suitable for display.
+          "originalContent": "A String", # The content (text) as provided by the author, stored without any HTML formatting. When creating or updating a comment, this value must be supplied as plain text in the request.
+          "objectType": "comment", # The object type of this comment. Possible values are:
+              # - "comment" - A comment in reply to an activity.
+        },
+        "updated": "A String", # The time at which this comment was last updated. Formatted as an RFC 3339 timestamp.
+        "actor": { # The person who posted this comment.
+          "url": "A String", # A link to the Person resource for this actor.
+          "image": { # The image representation of this actor.
+            "url": "A String", # The URL of the actor's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+          },
+          "displayName": "A String", # The name of this actor, suitable for display.
+          "id": "A String", # The ID of the actor.
+        },
+        "verb": "post", # This comment's verb, indicating what action was performed. Possible values are:
+            # - "post" - Publish content to the stream.
+        "etag": "A String", # ETag of this response for caching purposes.
+        "published": "A String", # The time at which this comment was initially published. Formatted as an RFC 3339 timestamp.
+        "id": "A String", # The ID of this comment.
+        "selfLink": "A String", # Link to this comment resource.
+      },
+    ],
+    "updated": "A String", # The time at which this collection of comments was last updated. Formatted as an RFC 3339 timestamp.
+    "nextLink": "A String", # Link to the next page of activities.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "id": "A String", # The ID of this collection of comments.
+  }</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/plus_v1.html b/docs/dyn/plus_v1.html
new file mode 100644
index 0000000..6a3ff6d
--- /dev/null
+++ b/docs/dyn/plus_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="plus_v1.html">Google+ API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="plus_v1.activities.html">activities()</a></code>
+</p>
+<p class="firstline">Returns the activities Resource.</p>
+
+<p class="toc_element">
+  <code><a href="plus_v1.comments.html">comments()</a></code>
+</p>
+<p class="firstline">Returns the comments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="plus_v1.moments.html">moments()</a></code>
+</p>
+<p class="firstline">Returns the moments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="plus_v1.people.html">people()</a></code>
+</p>
+<p class="firstline">Returns the people Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plus_v1.moments.html b/docs/dyn/plus_v1.moments.html
new file mode 100644
index 0000000..bcffab3
--- /dev/null
+++ b/docs/dyn/plus_v1.moments.html
@@ -0,0 +1,595 @@
+<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="plus_v1.html">Google+ API</a> . <a href="plus_v1.moments.html">moments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#insert">insert(userId, collection, body, debug=None)</a></code></p>
+<p class="firstline">Record a moment representing a user's activity such as making a purchase or commenting on a blog.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, collection, pageToken=None, maxResults=None, targetUrl=None, type=None)</a></code></p>
+<p class="firstline">List all of the moments for a particular 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="#remove">remove(id)</a></code></p>
+<p class="firstline">Delete a moment.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(userId, collection, body, debug=None)</code>
+  <pre>Record a moment representing a user's activity such as making a purchase or commenting on a blog.
+
+Args:
+  userId: string, The ID of the user to record activities for. The only valid values are "me" and the ID of the authenticated user. (required)
+  collection: string, The collection to which to write moments. (required)
+    Allowed values
+      vault - The default collection for writing new moments.
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "startDate": "A String", # Time stamp of when the action occurred in RFC3339 format.
+    "kind": "plus#moment", # Identifies this resource as a moment.
+    "target": { # The object on which the action was performed.
+      "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
+      "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
+      "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
+      "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
+      "address": # Object with schema name: ItemScope # Postal address.
+      "birthDate": "A String", # Date of birth.
+      "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
+      "addressLocality": "A String", # Address locality.
+      "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
+      "additionalName": [ # An additional name for a Person, can be used for a middle name.
+        "A String",
+      ],
+      "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
+      "contributor": [ # A list of contributors to this result.
+        # Object with schema name: ItemScope
+      ],
+      "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
+      "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
+      "postOfficeBoxNumber": "A String", # Post office box number.
+      "attendees": [ # A person attending the event.
+        # Object with schema name: ItemScope
+      ],
+      "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
+        # Object with schema name: ItemScope
+      ],
+      "associated_media": [ # The encoding.
+        # Object with schema name: ItemScope
+      ],
+      "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
+      "addressCountry": "A String", # Address country.
+      "width": "A String", # The width of the media object.
+      "streetAddress": "A String", # Street address.
+      "location": # Object with schema name: ItemScope # The location of the event or organization.
+      "latitude": 3.14, # Latitude.
+      "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
+      "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
+      "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
+      "contentSize": "A String", # File size in (mega/kilo) bytes.
+      "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
+      "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
+      "description": "A String", # The string that describes the content of the result.
+      "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
+      "kind": "plus#itemScope", # Identifies this resource as an itemScope.
+      "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
+      "postalCode": "A String", # Postal code.
+      "attendeeCount": 42, # Number of attendees.
+      "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
+      "addressRegion": "A String", # Address region.
+      "height": "A String", # The height of the media object.
+      "geo": # Object with schema name: ItemScope # Geo coordinates.
+      "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
+      "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we recommend using the controlled vocabulary of Market Identifier Codes (MIC) specified in ISO15022.
+      "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
+      "about": # Object with schema name: ItemScope # The subject matter of the content.
+      "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
+      "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
+      "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
+        # Object with schema name: ItemScope
+      ],
+      "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
+      "gender": "A String", # Gender of the person.
+      "longitude": 3.14, # Longitude.
+      "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
+      "caption": "A String", # The caption for this object.
+      "ratingValue": "A String", # Rating value.
+      "reviewRating": # Object with schema name: ItemScope # Review rating.
+      "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
+    },
+    "result": { # The object generated by performing the action on the target. For example, a user writes a review of a restaurant, the target is the restaurant and the result is the review.
+      "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
+      "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
+      "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
+      "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
+      "address": # Object with schema name: ItemScope # Postal address.
+      "birthDate": "A String", # Date of birth.
+      "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
+      "addressLocality": "A String", # Address locality.
+      "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
+      "additionalName": [ # An additional name for a Person, can be used for a middle name.
+        "A String",
+      ],
+      "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
+      "contributor": [ # A list of contributors to this result.
+        # Object with schema name: ItemScope
+      ],
+      "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
+      "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
+      "postOfficeBoxNumber": "A String", # Post office box number.
+      "attendees": [ # A person attending the event.
+        # Object with schema name: ItemScope
+      ],
+      "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
+        # Object with schema name: ItemScope
+      ],
+      "associated_media": [ # The encoding.
+        # Object with schema name: ItemScope
+      ],
+      "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
+      "addressCountry": "A String", # Address country.
+      "width": "A String", # The width of the media object.
+      "streetAddress": "A String", # Street address.
+      "location": # Object with schema name: ItemScope # The location of the event or organization.
+      "latitude": 3.14, # Latitude.
+      "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
+      "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
+      "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
+      "contentSize": "A String", # File size in (mega/kilo) bytes.
+      "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
+      "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
+      "description": "A String", # The string that describes the content of the result.
+      "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
+      "kind": "plus#itemScope", # Identifies this resource as an itemScope.
+      "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
+      "postalCode": "A String", # Postal code.
+      "attendeeCount": 42, # Number of attendees.
+      "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
+      "addressRegion": "A String", # Address region.
+      "height": "A String", # The height of the media object.
+      "geo": # Object with schema name: ItemScope # Geo coordinates.
+      "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
+      "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we recommend using the controlled vocabulary of Market Identifier Codes (MIC) specified in ISO15022.
+      "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
+      "about": # Object with schema name: ItemScope # The subject matter of the content.
+      "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
+      "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
+      "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
+        # Object with schema name: ItemScope
+      ],
+      "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
+      "gender": "A String", # Gender of the person.
+      "longitude": 3.14, # Longitude.
+      "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
+      "caption": "A String", # The caption for this object.
+      "ratingValue": "A String", # Rating value.
+      "reviewRating": # Object with schema name: ItemScope # Review rating.
+      "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
+    },
+    "type": "A String", # The Google schema for the type of moment to write. For example, http://schemas.google.com/AddActivity.
+    "id": "A String", # The moment ID.
+  }
+
+  debug: boolean, Return the moment as written. Should be used only for debugging.
+
+Returns:
+  An object of the form:
+
+    {
+      "startDate": "A String", # Time stamp of when the action occurred in RFC3339 format.
+      "kind": "plus#moment", # Identifies this resource as a moment.
+      "target": { # The object on which the action was performed.
+        "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
+        "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
+        "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
+        "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
+        "address": # Object with schema name: ItemScope # Postal address.
+        "birthDate": "A String", # Date of birth.
+        "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
+        "addressLocality": "A String", # Address locality.
+        "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
+        "additionalName": [ # An additional name for a Person, can be used for a middle name.
+          "A String",
+        ],
+        "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
+        "contributor": [ # A list of contributors to this result.
+          # Object with schema name: ItemScope
+        ],
+        "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
+        "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
+        "postOfficeBoxNumber": "A String", # Post office box number.
+        "attendees": [ # A person attending the event.
+          # Object with schema name: ItemScope
+        ],
+        "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
+          # Object with schema name: ItemScope
+        ],
+        "associated_media": [ # The encoding.
+          # Object with schema name: ItemScope
+        ],
+        "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
+        "addressCountry": "A String", # Address country.
+        "width": "A String", # The width of the media object.
+        "streetAddress": "A String", # Street address.
+        "location": # Object with schema name: ItemScope # The location of the event or organization.
+        "latitude": 3.14, # Latitude.
+        "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
+        "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
+        "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
+        "contentSize": "A String", # File size in (mega/kilo) bytes.
+        "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
+        "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
+        "description": "A String", # The string that describes the content of the result.
+        "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
+        "kind": "plus#itemScope", # Identifies this resource as an itemScope.
+        "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
+        "postalCode": "A String", # Postal code.
+        "attendeeCount": 42, # Number of attendees.
+        "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
+        "addressRegion": "A String", # Address region.
+        "height": "A String", # The height of the media object.
+        "geo": # Object with schema name: ItemScope # Geo coordinates.
+        "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
+        "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we recommend using the controlled vocabulary of Market Identifier Codes (MIC) specified in ISO15022.
+        "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
+        "about": # Object with schema name: ItemScope # The subject matter of the content.
+        "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
+        "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
+        "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
+          # Object with schema name: ItemScope
+        ],
+        "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
+        "gender": "A String", # Gender of the person.
+        "longitude": 3.14, # Longitude.
+        "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
+        "caption": "A String", # The caption for this object.
+        "ratingValue": "A String", # Rating value.
+        "reviewRating": # Object with schema name: ItemScope # Review rating.
+        "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
+      },
+      "result": { # The object generated by performing the action on the target. For example, a user writes a review of a restaurant, the target is the restaurant and the result is the review.
+        "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
+        "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
+        "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
+        "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
+        "address": # Object with schema name: ItemScope # Postal address.
+        "birthDate": "A String", # Date of birth.
+        "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
+        "addressLocality": "A String", # Address locality.
+        "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
+        "additionalName": [ # An additional name for a Person, can be used for a middle name.
+          "A String",
+        ],
+        "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
+        "contributor": [ # A list of contributors to this result.
+          # Object with schema name: ItemScope
+        ],
+        "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
+        "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
+        "postOfficeBoxNumber": "A String", # Post office box number.
+        "attendees": [ # A person attending the event.
+          # Object with schema name: ItemScope
+        ],
+        "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
+          # Object with schema name: ItemScope
+        ],
+        "associated_media": [ # The encoding.
+          # Object with schema name: ItemScope
+        ],
+        "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
+        "addressCountry": "A String", # Address country.
+        "width": "A String", # The width of the media object.
+        "streetAddress": "A String", # Street address.
+        "location": # Object with schema name: ItemScope # The location of the event or organization.
+        "latitude": 3.14, # Latitude.
+        "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
+        "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
+        "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
+        "contentSize": "A String", # File size in (mega/kilo) bytes.
+        "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
+        "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
+        "description": "A String", # The string that describes the content of the result.
+        "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
+        "kind": "plus#itemScope", # Identifies this resource as an itemScope.
+        "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
+        "postalCode": "A String", # Postal code.
+        "attendeeCount": 42, # Number of attendees.
+        "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
+        "addressRegion": "A String", # Address region.
+        "height": "A String", # The height of the media object.
+        "geo": # Object with schema name: ItemScope # Geo coordinates.
+        "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
+        "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we recommend using the controlled vocabulary of Market Identifier Codes (MIC) specified in ISO15022.
+        "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
+        "about": # Object with schema name: ItemScope # The subject matter of the content.
+        "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
+        "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
+        "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
+          # Object with schema name: ItemScope
+        ],
+        "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
+        "gender": "A String", # Gender of the person.
+        "longitude": 3.14, # Longitude.
+        "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
+        "caption": "A String", # The caption for this object.
+        "ratingValue": "A String", # Rating value.
+        "reviewRating": # Object with schema name: ItemScope # Review rating.
+        "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
+      },
+      "type": "A String", # The Google schema for the type of moment to write. For example, http://schemas.google.com/AddActivity.
+      "id": "A String", # The moment ID.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, collection, pageToken=None, maxResults=None, targetUrl=None, type=None)</code>
+  <pre>List all of the moments for a particular user.
+
+Args:
+  userId: string, The ID of the user to get moments for. The special value "me" can be used to indicate the authenticated user. (required)
+  collection: string, The collection of moments to list. (required)
+    Allowed values
+      vault - All moments created by the requesting application for the authenticated user.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of moments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+  targetUrl: string, Only moments containing this targetUrl will be returned.
+  type: string, Only moments of this type will be returned.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#momentsFeed", # Identifies this resource as a collection of moments. Value: "plus#momentsFeed".
+    "title": "A String", # The title of this collection of moments.
+    "items": [ # The moments in this page of results.
+      {
+          "startDate": "A String", # Time stamp of when the action occurred in RFC3339 format.
+          "kind": "plus#moment", # Identifies this resource as a moment.
+          "target": { # The object on which the action was performed.
+            "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
+            "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
+            "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
+            "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
+            "address": # Object with schema name: ItemScope # Postal address.
+            "birthDate": "A String", # Date of birth.
+            "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
+            "addressLocality": "A String", # Address locality.
+            "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
+            "additionalName": [ # An additional name for a Person, can be used for a middle name.
+              "A String",
+            ],
+            "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
+            "contributor": [ # A list of contributors to this result.
+              # Object with schema name: ItemScope
+            ],
+            "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
+            "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
+            "postOfficeBoxNumber": "A String", # Post office box number.
+            "attendees": [ # A person attending the event.
+              # Object with schema name: ItemScope
+            ],
+            "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
+              # Object with schema name: ItemScope
+            ],
+            "associated_media": [ # The encoding.
+              # Object with schema name: ItemScope
+            ],
+            "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
+            "addressCountry": "A String", # Address country.
+            "width": "A String", # The width of the media object.
+            "streetAddress": "A String", # Street address.
+            "location": # Object with schema name: ItemScope # The location of the event or organization.
+            "latitude": 3.14, # Latitude.
+            "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
+            "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
+            "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
+            "contentSize": "A String", # File size in (mega/kilo) bytes.
+            "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
+            "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
+            "description": "A String", # The string that describes the content of the result.
+            "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
+            "kind": "plus#itemScope", # Identifies this resource as an itemScope.
+            "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
+            "postalCode": "A String", # Postal code.
+            "attendeeCount": 42, # Number of attendees.
+            "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
+            "addressRegion": "A String", # Address region.
+            "height": "A String", # The height of the media object.
+            "geo": # Object with schema name: ItemScope # Geo coordinates.
+            "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
+            "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we recommend using the controlled vocabulary of Market Identifier Codes (MIC) specified in ISO15022.
+            "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
+            "about": # Object with schema name: ItemScope # The subject matter of the content.
+            "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
+            "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
+            "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
+              # Object with schema name: ItemScope
+            ],
+            "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
+            "gender": "A String", # Gender of the person.
+            "longitude": 3.14, # Longitude.
+            "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
+            "caption": "A String", # The caption for this object.
+            "ratingValue": "A String", # Rating value.
+            "reviewRating": # Object with schema name: ItemScope # Review rating.
+            "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
+          },
+          "result": { # The object generated by performing the action on the target. For example, a user writes a review of a restaurant, the target is the restaurant and the result is the review.
+            "startDate": "A String", # The start date and time of the event (in ISO 8601 date format).
+            "endDate": "A String", # The end date and time of the event (in ISO 8601 date format).
+            "text": "A String", # The text that is the result of the app activity. For example, if a user leaves a review of a restaurant, this might be the text of the review.
+            "image": "A String", # A URL to the image that represents this result. For example, if a user writes a review of a restaurant and attaches a photo of their meal, you might use that photo as the result.image.
+            "address": # Object with schema name: ItemScope # Postal address.
+            "birthDate": "A String", # Date of birth.
+            "datePublished": "A String", # The initial date that the result was published. For example, a user writes a comment on a blog, which has a result.dateCreated of when they submit it. If the blog users comment moderation, the result.datePublished value would match the date when the owner approved the message.
+            "addressLocality": "A String", # Address locality.
+            "duration": "A String", # The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format.
+            "additionalName": [ # An additional name for a Person, can be used for a middle name.
+              "A String",
+            ],
+            "worstRating": "A String", # Worst possible rating value that a result might obtain. This property defines the lower bound for the ratingValue.
+            "contributor": [ # A list of contributors to this result.
+              # Object with schema name: ItemScope
+            ],
+            "thumbnailUrl": "A String", # A URL to a thumbnail image that represents this result.
+            "id": "A String", # An identifier for the target. Your app can choose how to identify targets. The target.id is required if you are writing an activity that does not have a corresponding web page or target.url property.
+            "postOfficeBoxNumber": "A String", # Post office box number.
+            "attendees": [ # A person attending the event.
+              # Object with schema name: ItemScope
+            ],
+            "author": [ # The person or persons who created this result. In the example of restaurant reviews, this might be the reviewer's name.
+              # Object with schema name: ItemScope
+            ],
+            "associated_media": [ # The encoding.
+              # Object with schema name: ItemScope
+            ],
+            "bestRating": "A String", # Best possible rating value that a result might obtain. This property defines the upper bound for the ratingValue. For example, you might have a 5 star rating scale, you would provide 5 as the value for this property.
+            "addressCountry": "A String", # Address country.
+            "width": "A String", # The width of the media object.
+            "streetAddress": "A String", # Street address.
+            "location": # Object with schema name: ItemScope # The location of the event or organization.
+            "latitude": 3.14, # Latitude.
+            "byArtist": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the artist that performed this recording.
+            "type": "A String", # The schema.org URL that best describes the referenced target and matches the type of moment.
+            "dateModified": "A String", # The date the result was last modified such as the date that a review was last edited.
+            "contentSize": "A String", # File size in (mega/kilo) bytes.
+            "contentUrl": "A String", # Actual bytes of the media object, for example the image file or video file.
+            "partOfTVSeries": # Object with schema name: ItemScope # Property of http://schema.org/TVEpisode indicating which series the episode belongs to.
+            "description": "A String", # The string that describes the content of the result.
+            "familyName": "A String", # Family name. This property can be used with givenName instead of the name property.
+            "kind": "plus#itemScope", # Identifies this resource as an itemScope.
+            "dateCreated": "A String", # The date the result was created such as the date that a review was first created.
+            "postalCode": "A String", # Postal code.
+            "attendeeCount": 42, # Number of attendees.
+            "inAlbum": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, which album a song is in.
+            "addressRegion": "A String", # Address region.
+            "height": "A String", # The height of the media object.
+            "geo": # Object with schema name: ItemScope # Geo coordinates.
+            "embedUrl": "A String", # A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag.
+            "tickerSymbol": "A String", # The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we recommend using the controlled vocabulary of Market Identifier Codes (MIC) specified in ISO15022.
+            "playerType": "A String", # Player type that is required. For example: Flash or Silverlight.
+            "about": # Object with schema name: ItemScope # The subject matter of the content.
+            "givenName": "A String", # Given name. This property can be used with familyName instead of the name property.
+            "name": "A String", # The name of the result. In the example of a restaurant review, this might be the summary the user gave their review such as "Great ambiance, but overpriced."
+            "performers": [ # The main performer or performers of the event-for example, a presenter, musician, or actor.
+              # Object with schema name: ItemScope
+            ],
+            "url": "A String", # The URL that points to the result object. For example, a permalink directly to a restaurant reviewer's comment.
+            "gender": "A String", # Gender of the person.
+            "longitude": 3.14, # Longitude.
+            "thumbnail": # Object with schema name: ItemScope # Thumbnail image for an image or video.
+            "caption": "A String", # The caption for this object.
+            "ratingValue": "A String", # Rating value.
+            "reviewRating": # Object with schema name: ItemScope # Review rating.
+            "audio": # Object with schema name: ItemScope # From http://schema.org/MusicRecording, the audio file.
+          },
+          "type": "A String", # The Google schema for the type of moment to write. For example, http://schemas.google.com/AddActivity.
+          "id": "A String", # The moment ID.
+        },
+    ],
+    "updated": "A String", # The RFC 339 timestamp for when this collection of moments was last updated.
+    "nextLink": "A String", # Link to the next page of moments.
+    "etag": "A String", # ETag of this response for caching purposes.
+    "selfLink": "A String", # Link to this page of moments.
+  }</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="remove">remove(id)</code>
+  <pre>Delete a moment.
+
+Args:
+  id: string, The ID of the moment to delete. (required)
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/plus_v1.people.html b/docs/dyn/plus_v1.people.html
new file mode 100644
index 0000000..9f3adda
--- /dev/null
+++ b/docs/dyn/plus_v1.people.html
@@ -0,0 +1,686 @@
+<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="plus_v1.html">Google+ API</a> . <a href="plus_v1.people.html">people</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(userId)</a></code></p>
+<p class="firstline">Get a person's profile. If your app uses scope https://www.googleapis.com/auth/plus.login, this method is guaranteed to return ageRange and language.</p>
+<p class="toc_element">
+  <code><a href="#list">list(userId, collection, orderBy=None, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the people in the specified collection.</p>
+<p class="toc_element">
+  <code><a href="#listByActivity">listByActivity(activityId, collection, pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">List all of the people in the specified collection for a particular activity.</p>
+<p class="toc_element">
+  <code><a href="#listByActivity_next">listByActivity_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="#search">search(query, pageToken=None, language=None, maxResults=None)</a></code></p>
+<p class="firstline">Search all public profiles.</p>
+<p class="toc_element">
+  <code><a href="#search_next">search_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(userId)</code>
+  <pre>Get a person's profile. If your app uses scope https://www.googleapis.com/auth/plus.login, this method is guaranteed to return ageRange and language.
+
+Args:
+  userId: string, The ID of the person to get the profile for. The special value "me" can be used to indicate the authenticated user. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "braggingRights": "A String", # The "bragging rights" line of this person.
+    "image": { # The representation of the person's profile photo.
+      "url": "A String", # The URL of the person's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+    },
+    "domain": "A String", # The hosted domain name for the user's Google Apps account. For instance, example.com. The plus.profile.emails.read or email scope is needed to get this domain name.
+    "id": "A String", # The ID of this person.
+    "occupation": "A String", # The occupation of this person.
+    "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, # For followers who are visible, the number of people who have added this person or page to a circle.
+    "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.
+    "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.
+        # - "married" - Person is married.
+        # - "its_complicated" - The relationship is complicated.
+        # - "open_relationship" - Person is in an open relationship.
+        # - "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, including their Google account email address, and the public verified email addresses on their Google+ profile. The plus.profile.emails.read scope is needed to retrieve these email addresses, or the email scope can be used to retrieve just the Google account email address.
+      {
+        "type": "A String", # The type of address. Possible values include, but are not limited to, the following values:
+            # - "account" - Google account email address.
+            # - "home" - Home email address.
+            # - "work" - Work email address.
+            # - "other" - Other.
+        "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 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.
+      },
+    ],
+    "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+    "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.
+      "familyName": "A String", # The family name (last name) of this person.
+      "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
+      "givenName": "A String", # The given name (first name) of this person.
+      "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
+    },
+    "language": "A String", # The user's preferred language for rendering.
+    "skills": "A String", # The person's skills.
+    "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 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 cover image and the actual displayed cover image. Only valid for banner layout.
+        "topImageOffset": 42, # The difference between the top position of the cover image and the actual displayed cover image. Only valid for banner layout.
+      },
+      "coverPhoto": { # The person's primary cover image.
+        "url": "A String", # The URL of the image.
+        "width": 42, # The width of the image.
+        "height": 42, # The height of the image.
+      },
+    },
+    "url": "A String", # The URL of this person's profile.
+    "isPlusUser": True or False, # Whether this user has signed up for Google+.
+    "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'd this page.
+    "urls": [ # A list of URLs for this person.
+      {
+        "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. Valid ranges are 17 or younger, 18 to 20, and 21 or older. Age is determined from the user's birthday using Western age reckoning.
+      "max": 42, # The age range's upper bound, if any. Possible values include, but are not limited to, the following:
+          # - "17" - for age 17
+          # - "20" - for age 20
+      "min": 42, # The age range's lower bound, if any. Possible values include, but are not limited to, the following:
+          # - "21" - for age 21
+          # - "18" - for age 18
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(userId, collection, orderBy=None, pageToken=None, maxResults=None)</code>
+  <pre>List all of the people in the specified collection.
+
+Args:
+  userId: string, Get the collection of people for the person identified. Use "me" to indicate the authenticated user. (required)
+  collection: string, The collection of people to list. (required)
+    Allowed values
+      connected - The list of visible people in the authenticated user's circles who also use the requesting app. This list is limited to users who made their app activities visible to the authenticated user.
+      visible - The list of people who this user has added to one or more circles, limited to the circles visible to the requesting application.
+  orderBy: string, The order to return people in.
+    Allowed values
+      alphabetical - Order the people by their display name.
+      best - Order people based on the relevence to the viewer.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
+    "title": "A String", # The title of this collection of people.
+    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
+      {
+        "braggingRights": "A String", # The "bragging rights" line of this person.
+        "image": { # The representation of the person's profile photo.
+          "url": "A String", # The URL of the person's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "domain": "A String", # The hosted domain name for the user's Google Apps account. For instance, example.com. The plus.profile.emails.read or email scope is needed to get this domain name.
+        "id": "A String", # The ID of this person.
+        "occupation": "A String", # The occupation of this person.
+        "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, # For followers who are visible, the number of people who have added this person or page to a circle.
+        "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.
+        "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.
+            # - "married" - Person is married.
+            # - "its_complicated" - The relationship is complicated.
+            # - "open_relationship" - Person is in an open relationship.
+            # - "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, including their Google account email address, and the public verified email addresses on their Google+ profile. The plus.profile.emails.read scope is needed to retrieve these email addresses, or the email scope can be used to retrieve just the Google account email address.
+          {
+            "type": "A String", # The type of address. Possible values include, but are not limited to, the following values:
+                # - "account" - Google account email address.
+                # - "home" - Home email address.
+                # - "work" - Work email address.
+                # - "other" - Other.
+            "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 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.
+          },
+        ],
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "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.
+          "familyName": "A String", # The family name (last name) of this person.
+          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
+          "givenName": "A String", # The given name (first name) of this person.
+          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
+        },
+        "language": "A String", # The user's preferred language for rendering.
+        "skills": "A String", # The person's skills.
+        "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 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 cover image and the actual displayed cover image. Only valid for banner layout.
+            "topImageOffset": 42, # The difference between the top position of the cover image and the actual displayed cover image. Only valid for banner layout.
+          },
+          "coverPhoto": { # The person's primary cover image.
+            "url": "A String", # The URL of the image.
+            "width": 42, # The width of the image.
+            "height": 42, # The height of the image.
+          },
+        },
+        "url": "A String", # The URL of this person's profile.
+        "isPlusUser": True or False, # Whether this user has signed up for Google+.
+        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'd this page.
+        "urls": [ # A list of URLs for this person.
+          {
+            "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. Valid ranges are 17 or younger, 18 to 20, and 21 or older. Age is determined from the user's birthday using Western age reckoning.
+          "max": 42, # The age range's upper bound, if any. Possible values include, but are not limited to, the following:
+              # - "17" - for age 17
+              # - "20" - for age 20
+          "min": 42, # The age range's lower bound, if any. Possible values include, but are not limited to, the following:
+              # - "21" - for age 21
+              # - "18" - for age 18
+        },
+      },
+    ],
+    "etag": "A String", # ETag of this response for caching purposes.
+    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
+    "selfLink": "A String", # Link to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listByActivity">listByActivity(activityId, collection, pageToken=None, maxResults=None)</code>
+  <pre>List all of the people in the specified collection for a particular activity.
+
+Args:
+  activityId: string, The ID of the activity to get the list of people for. (required)
+  collection: string, The collection of people to list. (required)
+    Allowed values
+      plusoners - List all people who have +1'd this activity.
+      resharers - List all people who have reshared this activity.
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response.
+  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
+    "title": "A String", # The title of this collection of people.
+    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
+      {
+        "braggingRights": "A String", # The "bragging rights" line of this person.
+        "image": { # The representation of the person's profile photo.
+          "url": "A String", # The URL of the person's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "domain": "A String", # The hosted domain name for the user's Google Apps account. For instance, example.com. The plus.profile.emails.read or email scope is needed to get this domain name.
+        "id": "A String", # The ID of this person.
+        "occupation": "A String", # The occupation of this person.
+        "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, # For followers who are visible, the number of people who have added this person or page to a circle.
+        "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.
+        "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.
+            # - "married" - Person is married.
+            # - "its_complicated" - The relationship is complicated.
+            # - "open_relationship" - Person is in an open relationship.
+            # - "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, including their Google account email address, and the public verified email addresses on their Google+ profile. The plus.profile.emails.read scope is needed to retrieve these email addresses, or the email scope can be used to retrieve just the Google account email address.
+          {
+            "type": "A String", # The type of address. Possible values include, but are not limited to, the following values:
+                # - "account" - Google account email address.
+                # - "home" - Home email address.
+                # - "work" - Work email address.
+                # - "other" - Other.
+            "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 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.
+          },
+        ],
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "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.
+          "familyName": "A String", # The family name (last name) of this person.
+          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
+          "givenName": "A String", # The given name (first name) of this person.
+          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
+        },
+        "language": "A String", # The user's preferred language for rendering.
+        "skills": "A String", # The person's skills.
+        "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 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 cover image and the actual displayed cover image. Only valid for banner layout.
+            "topImageOffset": 42, # The difference between the top position of the cover image and the actual displayed cover image. Only valid for banner layout.
+          },
+          "coverPhoto": { # The person's primary cover image.
+            "url": "A String", # The URL of the image.
+            "width": 42, # The width of the image.
+            "height": 42, # The height of the image.
+          },
+        },
+        "url": "A String", # The URL of this person's profile.
+        "isPlusUser": True or False, # Whether this user has signed up for Google+.
+        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'd this page.
+        "urls": [ # A list of URLs for this person.
+          {
+            "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. Valid ranges are 17 or younger, 18 to 20, and 21 or older. Age is determined from the user's birthday using Western age reckoning.
+          "max": 42, # The age range's upper bound, if any. Possible values include, but are not limited to, the following:
+              # - "17" - for age 17
+              # - "20" - for age 20
+          "min": 42, # The age range's lower bound, if any. Possible values include, but are not limited to, the following:
+              # - "21" - for age 21
+              # - "18" - for age 18
+        },
+      },
+    ],
+    "etag": "A String", # ETag of this response for caching purposes.
+    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
+    "selfLink": "A String", # Link to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="listByActivity_next">listByActivity_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="search">search(query, pageToken=None, language=None, maxResults=None)</code>
+  <pre>Search all public profiles.
+
+Args:
+  query: string, Specify a query string for full text search of public text in all profiles. (required)
+  pageToken: string, The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. This token can be of any length.
+  language: string, Specify the preferred language to search with. See search language codes for available values.
+  maxResults: integer, The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+    "kind": "plus#peopleFeed", # Identifies this resource as a collection of people. Value: "plus#peopleFeed".
+    "title": "A String", # The title of this collection of people.
+    "items": [ # The people in this page of results. Each item includes the id, displayName, image, and url for the person. To retrieve additional profile data, see the people.get method.
+      {
+        "braggingRights": "A String", # The "bragging rights" line of this person.
+        "image": { # The representation of the person's profile photo.
+          "url": "A String", # The URL of the person's profile photo. To resize the image and crop it to a square, append the query string ?sz=x, where x is the dimension in pixels of each side.
+        },
+        "domain": "A String", # The hosted domain name for the user's Google Apps account. For instance, example.com. The plus.profile.emails.read or email scope is needed to get this domain name.
+        "id": "A String", # The ID of this person.
+        "occupation": "A String", # The occupation of this person.
+        "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, # For followers who are visible, the number of people who have added this person or page to a circle.
+        "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.
+        "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.
+            # - "married" - Person is married.
+            # - "its_complicated" - The relationship is complicated.
+            # - "open_relationship" - Person is in an open relationship.
+            # - "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, including their Google account email address, and the public verified email addresses on their Google+ profile. The plus.profile.emails.read scope is needed to retrieve these email addresses, or the email scope can be used to retrieve just the Google account email address.
+          {
+            "type": "A String", # The type of address. Possible values include, but are not limited to, the following values:
+                # - "account" - Google account email address.
+                # - "home" - Home email address.
+                # - "work" - Work email address.
+                # - "other" - Other.
+            "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 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.
+          },
+        ],
+        "kind": "plus#person", # Identifies this resource as a person. Value: "plus#person".
+        "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.
+          "familyName": "A String", # The family name (last name) of this person.
+          "formatted": "A String", # The full name of this person, including middle names, suffixes, etc.
+          "givenName": "A String", # The given name (first name) of this person.
+          "honorificSuffix": "A String", # The honorific suffixes (such as "Jr.") for this person.
+        },
+        "language": "A String", # The user's preferred language for rendering.
+        "skills": "A String", # The person's skills.
+        "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 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 cover image and the actual displayed cover image. Only valid for banner layout.
+            "topImageOffset": 42, # The difference between the top position of the cover image and the actual displayed cover image. Only valid for banner layout.
+          },
+          "coverPhoto": { # The person's primary cover image.
+            "url": "A String", # The URL of the image.
+            "width": 42, # The width of the image.
+            "height": 42, # The height of the image.
+          },
+        },
+        "url": "A String", # The URL of this person's profile.
+        "isPlusUser": True or False, # Whether this user has signed up for Google+.
+        "plusOneCount": 42, # If a Google+ Page, the number of people who have +1'd this page.
+        "urls": [ # A list of URLs for this person.
+          {
+            "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. Valid ranges are 17 or younger, 18 to 20, and 21 or older. Age is determined from the user's birthday using Western age reckoning.
+          "max": 42, # The age range's upper bound, if any. Possible values include, but are not limited to, the following:
+              # - "17" - for age 17
+              # - "20" - for age 20
+          "min": 42, # The age range's lower bound, if any. Possible values include, but are not limited to, the following:
+              # - "21" - for age 21
+              # - "18" - for age 18
+        },
+      },
+    ],
+    "etag": "A String", # ETag of this response for caching purposes.
+    "totalItems": 42, # The total number of people available in this list. The number of people in a response might be smaller due to paging. This might not be set for all collections.
+    "selfLink": "A String", # Link to this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search_next">search_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/prediction_v1_6.hostedmodels.html b/docs/dyn/prediction_v1_6.hostedmodels.html
new file mode 100644
index 0000000..b4d79fb
--- /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": "A String", # 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..a0de137
--- /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": "A String", # 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/qpxExpress_v1.html b/docs/dyn/qpxExpress_v1.html
new file mode 100644
index 0000000..1379be3
--- /dev/null
+++ b/docs/dyn/qpxExpress_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="qpxExpress_v1.html">QPX Express API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="qpxExpress_v1.trips.html">trips()</a></code>
+</p>
+<p class="firstline">Returns the trips Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/qpxExpress_v1.trips.html b/docs/dyn/qpxExpress_v1.trips.html
new file mode 100644
index 0000000..61348a4
--- /dev/null
+++ b/docs/dyn/qpxExpress_v1.trips.html
@@ -0,0 +1,304 @@
+<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="qpxExpress_v1.html">QPX Express API</a> . <a href="qpxExpress_v1.trips.html">trips</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#search">search(body)</a></code></p>
+<p class="firstline">Returns a list of flights.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="search">search(body)</code>
+  <pre>Returns a list of flights.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A QPX Express search request.
+    "request": { # A QPX Express search request, which will yield one or more solutions. # A QPX Express search request. Required values are at least one adult or senior passenger, an origin, a destination, and a date.
+      "passengers": { # The number and type of passengers. Unfortunately the definition of an infant, child, adult, and senior citizen varies across carriers and reservation systems. # Counts for each passenger type in the request.
+        "kind": "qpxexpress#passengerCounts", # Identifies this as a passenger count object, representing the number of passengers. Value: the fixed string qpxexpress#passengerCounts.
+        "infantInLapCount": 42, # The number of passengers that are infants travelling in the lap of an adult.
+        "seniorCount": 42, # The number of passengers that are senior citizens.
+        "infantInSeatCount": 42, # The number of passengers that are infants each assigned a seat.
+        "childCount": 42, # The number of passengers that are children.
+        "adultCount": 42, # The number of passengers that are adults.
+      },
+      "slice": [ # The slices that make up the itinerary of this trip. A slice represents a traveler's intent, the portion of a low-fare search corresponding to a traveler's request to get between two points. One-way journeys are generally expressed using one slice, round-trips using two. An example of a one slice trip with three segments might be BOS-SYD, SYD-LAX, LAX-BOS if the traveler only stopped in SYD and LAX just long enough to change planes.
+        { # Criteria a desired slice must satisfy.
+          "origin": "A String", # Airport or city IATA designator of the origin.
+          "preferredCabin": "A String", # Prefer solutions that book in this cabin for this slice. Allowed values are COACH, PREMIUM_COACH, BUSINESS, and FIRST.
+          "kind": "qpxexpress#sliceInput", # Identifies this as a slice input object, representing the criteria a desired slice must satisfy. Value: the fixed string qpxexpress#sliceInput.
+          "alliance": "A String", # Slices with only the carriers in this alliance should be returned; do not use this field with permittedCarrier. Allowed values are ONEWORLD, SKYTEAM, and STAR.
+          "destination": "A String", # Airport or city IATA designator of the destination.
+          "maxStops": 42, # The maximum number of stops you are willing to accept in this slice.
+          "permittedDepartureTime": { # Two times in a single day defining a time range. # Slices must depart in this time of day range, local to the point of departure.
+            "latestTime": "A String", # The latest time of day in HH:MM format.
+            "kind": "qpxexpress#timeOfDayRange", # Identifies this as a time of day range object, representing two times in a single day defining a time range. Value: the fixed string qpxexpress#timeOfDayRange.
+            "earliestTime": "A String", # The earliest time of day in HH:MM format.
+          },
+          "permittedCarrier": [ # A list of 2-letter IATA airline designators. Slices with only these carriers should be returned.
+            "A String",
+          ],
+          "maxConnectionDuration": 42, # The longest connection between two legs, in minutes, you are willing to accept.
+          "date": "A String", # Departure date in YYYY-MM-DD format.
+          "prohibitedCarrier": [ # A list of 2-letter IATA airline designators. Exclude slices that use these carriers.
+            "A String",
+          ],
+        },
+      ],
+      "saleCountry": "A String", # IATA country code representing the point of sale. This determines the "equivalent amount paid" currency for the ticket.
+      "maxPrice": "A String", # Do not return solutions that cost more than this price. The alphabetical part of the price is in ISO 4217. The format, in regex, is [A-Z]{3}\d+(\.\d+)? Example: $102.07
+      "solutions": 42, # The number of solutions to return, maximum 500.
+      "refundable": True or False, # Return only solutions with refundable fares.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A QPX Express search response.
+    "kind": "qpxExpress#tripsSearch", # Identifies this as a QPX Express API search response resource. Value: the fixed string qpxExpress#tripsSearch.
+    "trips": { # A QPX Express search response. # All possible solutions to the QPX Express search request.
+      "tripOption": [ # A list of priced itinerary solutions to the QPX Express query.
+        { # Trip information.
+          "saleTotal": "A String", # The total price for all passengers on the trip, in the form of a currency followed by an amount, e.g. USD253.35.
+          "kind": "qpxexpress#tripOption", # Identifies this as a trip information object. Value: the fixed string qpxexpress#tripOption.
+          "slice": [ # The slices that make up this trip's itinerary.
+            { # Information about a slice. A slice represents a traveller's intent, the portion of a low-fare search corresponding to a traveler's request to get between two points. One-way journeys are generally expressed using 1 slice, round-trips using 2. For example, if a traveler specifies the following trip in a user interface:
+                # | Origin | Destination | Departure Date | | BOS | LAX | March 10, 2007 | | LAX | SYD | March 17, 2007 | | SYD | BOS | March 22, 2007 |
+                # then this is a three slice trip.
+              "duration": 42, # The duration of the slice in minutes.
+              "kind": "qpxexpress#sliceInfo", # Identifies this as a slice object. A slice represents a traveller's intent, the portion of a low-fare search corresponding to a traveler's request to get between two points. One-way journeys are generally expressed using 1 slice, round-trips using 2. Value: the fixed string qpxexpress#sliceInfo.
+              "segment": [ # The segment(s) constituting the slice.
+                { # Details of a segment of a flight; a segment is one or more consecutive legs on the same flight. For example a hypothetical flight ZZ001, from DFW to OGG, would have one segment with two legs: DFW to HNL (leg 1), HNL to OGG (leg 2), and DFW to OGG (legs 1 and 2).
+                  "kind": "qpxexpress#segmentInfo", # Identifies this as a segment object. A segment is one or more consecutive legs on the same flight. For example a hypothetical flight ZZ001, from DFW to OGG, could have one segment with two legs: DFW to HNL (leg 1), HNL to OGG (leg 2). Value: the fixed string qpxexpress#segmentInfo.
+                  "bookingCodeCount": 42, # The number of seats available in this booking code on this segment.
+                  "flight": { # A flight is a sequence of legs with the same airline carrier and flight number. (A leg is the smallest unit of travel, in the case of a flight a takeoff immediately followed by a landing at two set points on a particular carrier with a particular flight number.) The naive view is that a flight is scheduled travel of an aircraft between two points, with possibly intermediate stops, but carriers will frequently list flights that require a change of aircraft between legs. # The flight this is a segment of.
+                    "carrier": "A String",
+                    "number": "A String", # The flight number.
+                  },
+                  "leg": [ # The legs composing this segment.
+                    { # Information about a leg. (A leg is the smallest unit of travel, in the case of a flight a takeoff immediately followed by a landing at two set points on a particular carrier with a particular flight number.)
+                      "origin": "A String", # The leg origin as a city and airport.
+                      "originTerminal": "A String", # The terminal the flight is scheduled to depart from.
+                      "departureTime": "A String", # The scheduled departure time of the leg, local to the point of departure.
+                      "destinationTerminal": "A String", # The terminal the flight is scheduled to arrive at.
+                      "secure": True or False, # Whether passenger information must be furnished to the United States Transportation Security Administration (TSA) prior to departure.
+                      "connectionDuration": 42, # Duration of a connection following this leg, in minutes.
+                      "destination": "A String", # The leg destination as a city and airport.
+                      "kind": "qpxexpress#legInfo", # Identifies this as a leg object. A leg is the smallest unit of travel, in the case of a flight a takeoff immediately followed by a landing at two set points on a particular carrier with a particular flight number. Value: the fixed string qpxexpress#legInfo.
+                      "meal": "A String", # A simple, general description of the meal(s) served on the flight, for example: "Hot meal".
+                      "aircraft": "A String", # The aircraft (or bus, ferry, railcar, etc) travelling between the two points of this leg.
+                      "mileage": 42, # The number of miles in this leg.
+                      "changePlane": True or False, # Whether you have to change planes following this leg. Only applies to the next leg.
+                      "arrivalTime": "A String", # The scheduled time of arrival at the destination of the leg, local to the point of arrival.
+                      "duration": 42, # The scheduled travelling time from the origin to the destination.
+                      "operatingDisclosure": "A String", # Department of Transportation disclosure information on the actual operator of a flight in a code share. (A code share refers to a marketing agreement between two carriers, where one carrier will list in its schedules (and take bookings for) flights that are actually operated by another carrier.)
+                      "onTimePerformance": 42, # In percent, the published on time performance on this leg.
+                      "id": "A String", # An identifier that uniquely identifies this leg in the solution.
+                    },
+                  ],
+                  "subjectToGovernmentApproval": True or False, # Whether the operation of this segment remains subject to government approval.
+                  "connectionDuration": 42, # In minutes, the duration of the connection following this segment.
+                  "bookingCode": "A String", # The booking code or class for this segment.
+                  "duration": 42, # The duration of the flight segment in minutes.
+                  "id": "A String", # An id uniquely identifying the segment in the solution.
+                  "cabin": "A String", # The cabin booked for this segment.
+                  "marriedSegmentGroup": "A String", # The solution-based index of a segment in a married segment group. Married segments can only be booked together. For example, an airline might report a certain booking code as sold out from Boston to Pittsburgh, but as available as part of two married segments Boston to Chicago connecting through Pittsburgh. For example content of this field, consider the round-trip flight ZZ1 PHX-PHL ZZ2 PHL-CLT ZZ3 CLT-PHX. This has three segments, with the two outbound ones (ZZ1 ZZ2) married. In this case, the two outbound segments belong to married segment group 0, and the return segment belongs to married segment group 1.
+                },
+              ],
+            },
+          ],
+          "id": "A String", # Identifier uniquely identifying this trip in a response.
+          "pricing": [ # Per passenger pricing information.
+            { # The price of one or more travel segments. The currency used to purchase tickets is usually determined by the sale/ticketing city or the sale/ticketing country, unless none are specified, in which case it defaults to that of the journey origin country.
+              "fare": [ # The fare used to price one or more segments.
+                { # Complete information about a fare used in the solution to a low-fare search query. In the airline industry a fare is a price an airline charges for one-way travel between two points. A fare typically contains a carrier code, two city codes, a price, and a fare basis. (A fare basis is a one-to-eight character alphanumeric code used to identify a fare.)
+                  "basisCode": "A String",
+                  "origin": "A String", # The city code of the city the trip begins at.
+                  "kind": "qpxexpress#fareInfo", # Identifies this as a fare object. Value: the fixed string qpxexpress#fareInfo.
+                  "destination": "A String", # The city code of the city the trip ends at.
+                  "private": True or False, # Whether this is a private fare, for example one offered only to select customers rather than the general public.
+                  "carrier": "A String", # The carrier of the aircraft or other vehicle commuting between two points.
+                  "id": "A String", # A unique identifier of the fare.
+                },
+              ],
+              "fareCalculation": "A String", # The horizontal fare calculation. This is a field on a ticket that displays all of the relevant items that go into the calculation of the fare.
+              "kind": "qpxexpress#pricingInfo", # Identifies this as a pricing object, representing the price of one or more travel segments. Value: the fixed string qpxexpress#pricingInfo.
+              "segmentPricing": [ # The per-segment price and baggage information.
+                { # The price of this segment.
+                  "kind": "qpxexpress#segmentPricing", # Identifies this as a segment pricing object, representing the price of this segment. Value: the fixed string qpxexpress#segmentPricing.
+                  "fareId": "A String", # A segment identifier unique within a single solution. It is used to refer to different parts of the same solution.
+                  "freeBaggageOption": [ # Details of the free baggage allowance on this segment.
+                    { # Information about free baggage allowed on one segment of a trip.
+                      "kilosPerPiece": 42, # The maximum number of kilos any one piece of baggage may weigh.
+                      "pounds": 42, # The number of pounds of free baggage allowed.
+                      "kind": "qpxexpress#freeBaggageAllowance", # Identifies this as free baggage object, allowed on one segment of a trip. Value: the fixed string qpxexpress#freeBaggageAllowance.
+                      "pieces": 42, # The number of free pieces of baggage allowed.
+                      "bagDescriptor": [ # A representation of a type of bag, such as an ATPCo subcode, Commercial Name, or other description.
+                        { # Information about an item of baggage.
+                          "count": 42, # How many of this type of bag will be checked on this flight.
+                          "subcode": "A String", # The standard IATA subcode used to identify this optional service.
+                          "kind": "qpxexpress#bagDescriptor", # Identifies this as a baggage object. Value: the fixed string qpxexpress#bagDescriptor.
+                          "commercialName": "A String", # Provides the commercial name for an optional service.
+                          "description": [ # A description of the baggage.
+                            "A String",
+                          ],
+                        },
+                      ],
+                      "kilos": 42, # The maximum number of kilos all the free baggage together may weigh.
+                    },
+                  ],
+                  "segmentId": "A String", # Unique identifier in the response of this segment.
+                },
+              ],
+              "saleTotal": "A String", # Total per-passenger price (fare and tax) in the sale or equivalent currency.
+              "passengers": { # The number and type of passengers. Unfortunately the definition of an infant, child, adult, and senior citizen varies across carriers and reservation systems. # The number of passengers to which this price applies.
+                "kind": "qpxexpress#passengerCounts", # Identifies this as a passenger count object, representing the number of passengers. Value: the fixed string qpxexpress#passengerCounts.
+                "infantInLapCount": 42, # The number of passengers that are infants travelling in the lap of an adult.
+                "seniorCount": 42, # The number of passengers that are senior citizens.
+                "infantInSeatCount": 42, # The number of passengers that are infants each assigned a seat.
+                "childCount": 42, # The number of passengers that are children.
+                "adultCount": 42, # The number of passengers that are adults.
+              },
+              "tax": [ # The taxes used to calculate the tax total per ticket.
+                { # Tax information.
+                  "kind": "qpxexpress#taxInfo", # Identifies this as a tax information object. Value: the fixed string qpxexpress#taxInfo.
+                  "code": "A String", # The code to enter in the ticket's tax box.
+                  "country": "A String", # For government charges, the country levying the charge.
+                  "salePrice": "A String", # The price of the tax in the sales or equivalent currency.
+                  "chargeType": "A String", # Whether this is a government charge or a carrier surcharge.
+                  "id": "A String", # Identifier uniquely identifying this tax in a response. Not present for unnamed carrier surcharges.
+                },
+              ],
+              "ptc": "A String", # The passenger type code for this pricing. An alphanumeric code used by a carrier to restrict fares to certain categories of passenger. For instance, a fare might be valid only for senior citizens.
+              "saleFareTotal": "A String", # The total fare in the sale or equivalent currency.
+              "baseFareTotal": "A String", # The total fare in the base fare currency (the currency of the country of origin). This element is only present when the sales currency and the currency of the country of commencement are different.
+              "refundable": True or False, # Whether the fares on this pricing are refundable.
+              "saleTaxTotal": "A String", # The taxes in the sale or equivalent currency.
+              "latestTicketingTime": "A String", # The latest ticketing time for this pricing assuming the reservation occurs at ticketing time and there is no change in fares/rules. The time is local to the point of sale (POS).
+            },
+          ],
+        },
+      ],
+      "kind": "qpxexpress#tripOptions", # Identifies this as a QPX Express trip response object, which consists of zero or more solutions. Value: the fixed string qpxexpress#tripOptions.
+      "data": { # Detailed information about components found in the solutions of this response, including a trip's airport, city, taxes, airline, and aircraft. # Informational data global to list of solutions.
+        "city": [ # The city that is either the origin or destination of part of a trip.
+          { # Information about a city that might be useful to an end-user; typically the city of an airport.
+            "country": "A String", # The two-character country code of the country the city is located in. For example, US for the United States of America.
+            "kind": "qpxexpress#cityData", # Identifies this as a city, typically with one or more airports. Value: the fixed string qpxexpress#cityData.
+            "code": "A String", # The IATA character ID of a city. For example, for Boston this is BOS.
+            "name": "A String", # The full name of a city. An example would be: New York.
+          },
+        ],
+        "kind": "qpxexpress#data", # Identifies this as QPX Express response resource, including a trip's airport, city, taxes, airline, and aircraft. Value: the fixed string qpxexpress#data.
+        "tax": [ # The taxes due for flying between an origin and a destination.
+          { # Tax data.
+            "kind": "qpxexpress#taxData", # Identifies this as a tax data object, representing some tax. Value: the fixed string qpxexpress#taxData.
+            "id": "A String", # An identifier uniquely identifying a tax in a response.
+            "name": "A String", # The name of a tax.
+          },
+        ],
+        "airport": [ # The airport of an origin or destination.
+          { # An airport.
+            "city": "A String", # The city code an airport is located in. For example, for JFK airport, this is NYC.
+            "kind": "qpxexpress#airportData", # Identifies this as an airport object. Value: the fixed string qpxexpress#airportData.
+            "code": "A String", # An airport's code. For example, for Boston Logan airport, this is BOS.
+            "name": "A String", # The name of an airport. For example, for airport BOS the name is "Boston Logan International".
+          },
+        ],
+        "aircraft": [ # The aircraft that is flying between an origin and destination.
+          { # The make, model, and type of an aircraft.
+            "kind": "qpxexpress#aircraftData", # Identifies this as an aircraftData object. Value: the fixed string qpxexpress#aircraftData
+            "code": "A String", # The aircraft code. For example, for a Boeing 777 the code would be 777.
+            "name": "A String", # The name of an aircraft, for example Boeing 777.
+          },
+        ],
+        "carrier": [ # The airline carrier of the aircraft flying between an origin and destination. Allowed values are IATA carrier codes.
+          { # Information about a carrier (ie. an airline, bus line, railroad, etc) that might be useful to display to an end-user.
+            "kind": "qpxexpress#carrierData", # Identifies this as a kind of carrier (ie. an airline, bus line, railroad, etc). Value: the fixed string qpxexpress#carrierData.
+            "code": "A String", # The IATA designator of a carrier (airline, etc). For example, for American Airlines, the code is AA.
+            "name": "A String", # The long, full name of a carrier. For example: American Airlines.
+          },
+        ],
+      },
+      "requestId": "A String", # An identifier uniquely identifying this response.
+    },
+  }</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
new file mode 100644
index 0000000..8f9e31e
--- /dev/null
+++ b/docs/dyn/reseller_v1.customers.html
@@ -0,0 +1,290 @@
+<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="reseller_v1.html">Enterprise Apps Reseller API</a> . <a href="reseller_v1.customers.html">customers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(customerId)</a></code></p>
+<p class="firstline">Gets a customer resource if one exists and is owned by the reseller.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body, customerAuthToken=None)</a></code></p>
+<p class="firstline">Creates a customer resource if one does not already exist.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(customerId, body)</a></code></p>
+<p class="firstline">Update a customer resource if one it exists and is owned by the reseller. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(customerId, body)</a></code></p>
+<p class="firstline">Update a customer resource if one it exists and is owned by the reseller.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(customerId)</code>
+  <pre>Gets a customer resource if one exists and is owned by the reseller.
+
+Args:
+  customerId: string, Id of the Customer (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a customer.
+      "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.
+        "organizationName": "A String", # Name of the organization.
+        "countryCode": "A String", # ISO 3166 country code.
+        "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+        "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+        "addressLine2": "A String", # Address line 2 of the address.
+        "addressLine3": "A String", # Address line 3 of the address.
+        "contactName": "A String", # Name of the contact person.
+        "addressLine1": "A String", # Address line 1 of the address.
+        "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      },
+      "customerId": "A String", # The id of the customer.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body, customerAuthToken=None)</code>
+  <pre>Creates a customer resource if one does not already exist.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for a customer.
+    "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.
+      "organizationName": "A String", # Name of the organization.
+      "countryCode": "A String", # ISO 3166 country code.
+      "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      "addressLine2": "A String", # Address line 2 of the address.
+      "addressLine3": "A String", # Address line 3 of the address.
+      "contactName": "A String", # Name of the contact person.
+      "addressLine1": "A String", # Address line 1 of the address.
+      "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+    },
+    "customerId": "A String", # The id of the customer.
+  }
+
+  customerAuthToken: string, An auth token needed for inserting a customer for which domain already exists. Can be generated at https://www.google.com/a/cpanel//TransferToken. Optional.
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a customer.
+      "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.
+        "organizationName": "A String", # Name of the organization.
+        "countryCode": "A String", # ISO 3166 country code.
+        "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+        "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+        "addressLine2": "A String", # Address line 2 of the address.
+        "addressLine3": "A String", # Address line 3 of the address.
+        "contactName": "A String", # Name of the contact person.
+        "addressLine1": "A String", # Address line 1 of the address.
+        "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      },
+      "customerId": "A String", # The id of the customer.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(customerId, body)</code>
+  <pre>Update a customer resource if one it exists and is owned by the reseller. This method supports patch semantics.
+
+Args:
+  customerId: string, Id of the Customer (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for a customer.
+    "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.
+      "organizationName": "A String", # Name of the organization.
+      "countryCode": "A String", # ISO 3166 country code.
+      "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      "addressLine2": "A String", # Address line 2 of the address.
+      "addressLine3": "A String", # Address line 3 of the address.
+      "contactName": "A String", # Name of the contact person.
+      "addressLine1": "A String", # Address line 1 of the address.
+      "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+    },
+    "customerId": "A String", # The id of the customer.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a customer.
+      "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.
+        "organizationName": "A String", # Name of the organization.
+        "countryCode": "A String", # ISO 3166 country code.
+        "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+        "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+        "addressLine2": "A String", # Address line 2 of the address.
+        "addressLine3": "A String", # Address line 3 of the address.
+        "contactName": "A String", # Name of the contact person.
+        "addressLine1": "A String", # Address line 1 of the address.
+        "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      },
+      "customerId": "A String", # The id of the customer.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(customerId, body)</code>
+  <pre>Update a customer resource if one it exists and is owned by the reseller.
+
+Args:
+  customerId: string, Id of the Customer (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for a customer.
+    "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.
+      "organizationName": "A String", # Name of the organization.
+      "countryCode": "A String", # ISO 3166 country code.
+      "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      "addressLine2": "A String", # Address line 2 of the address.
+      "addressLine3": "A String", # Address line 3 of the address.
+      "contactName": "A String", # Name of the contact person.
+      "addressLine1": "A String", # Address line 1 of the address.
+      "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+    },
+    "customerId": "A String", # The id of the customer.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a customer.
+      "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.
+        "organizationName": "A String", # Name of the organization.
+        "countryCode": "A String", # ISO 3166 country code.
+        "locality": "A String", # Name of the locality. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+        "region": "A String", # Name of the region. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+        "addressLine2": "A String", # Address line 2 of the address.
+        "addressLine3": "A String", # Address line 3 of the address.
+        "contactName": "A String", # Name of the contact person.
+        "addressLine1": "A String", # Address line 1 of the address.
+        "postalCode": "A String", # The postal code. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.
+      },
+      "customerId": "A String", # The id of the customer.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/reseller_v1.html b/docs/dyn/reseller_v1.html
new file mode 100644
index 0000000..d8e9e0a
--- /dev/null
+++ b/docs/dyn/reseller_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="reseller_v1.html">Enterprise Apps Reseller API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="reseller_v1.customers.html">customers()</a></code>
+</p>
+<p class="firstline">Returns the customers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="reseller_v1.subscriptions.html">subscriptions()</a></code>
+</p>
+<p class="firstline">Returns the subscriptions Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/reseller_v1.subscriptions.html b/docs/dyn/reseller_v1.subscriptions.html
new file mode 100644
index 0000000..d9b420d
--- /dev/null
+++ b/docs/dyn/reseller_v1.subscriptions.html
@@ -0,0 +1,549 @@
+<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="reseller_v1.html">Enterprise Apps Reseller API</a> . <a href="reseller_v1.subscriptions.html">subscriptions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#changePlan">changePlan(customerId, subscriptionId, body)</a></code></p>
+<p class="firstline">Changes the plan of a subscription</p>
+<p class="toc_element">
+  <code><a href="#changeRenewalSettings">changeRenewalSettings(customerId, subscriptionId, body)</a></code></p>
+<p class="firstline">Changes the renewal settings of a subscription</p>
+<p class="toc_element">
+  <code><a href="#changeSeats">changeSeats(customerId, subscriptionId, body)</a></code></p>
+<p class="firstline">Changes the seats configuration of a subscription</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(customerId, subscriptionId, deletionType)</a></code></p>
+<p class="firstline">Cancels/Downgrades a subscription.</p>
+<p class="toc_element">
+  <code><a href="#get">get(customerId, subscriptionId)</a></code></p>
+<p class="firstline">Gets a subscription of the customer.</p>
+<p class="toc_element">
+  <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(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>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#startPaidService">startPaidService(customerId, subscriptionId)</a></code></p>
+<p class="firstline">Starts paid service of a trial subscription</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="changePlan">changePlan(customerId, subscriptionId, body)</code>
+  <pre>Changes the plan of a subscription
+
+Args:
+  customerId: string, Id of the Customer (required)
+  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for the ChangePlan rpc request.
+    "planName": "A String", # Name of the plan to change to.
+    "kind": "subscriptions#changePlanRequest", # Identifies the resource as a subscription change plan request.
+    "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.
+    },
+    "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a subscription.
+      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
+        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+        "renewalType": "A String", # Subscription renewal type.
+      },
+      "skuId": "A String", # Name of the sku for which this subscription is purchased.
+      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
+      "trialSettings": { # Trial Settings of the subscription.
+        "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.
+          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
+          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
+        },
+        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
+      },
+      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+      "subscriptionId": "A String", # The id of the subscription.
+      "customerId": "A String", # The id of the customer to whom the subscription belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="changeRenewalSettings">changeRenewalSettings(customerId, subscriptionId, body)</code>
+  <pre>Changes the renewal settings of a subscription
+
+Args:
+  customerId: string, Id of the Customer (required)
+  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for a subscription renewal settings.
+  "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+  "renewalType": "A String", # Subscription renewal type.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a subscription.
+      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
+        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+        "renewalType": "A String", # Subscription renewal type.
+      },
+      "skuId": "A String", # Name of the sku for which this subscription is purchased.
+      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
+      "trialSettings": { # Trial Settings of the subscription.
+        "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.
+          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
+          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
+        },
+        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
+      },
+      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+      "subscriptionId": "A String", # The id of the subscription.
+      "customerId": "A String", # The id of the customer to whom the subscription belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="changeSeats">changeSeats(customerId, subscriptionId, body)</code>
+  <pre>Changes the seats configuration of a subscription
+
+Args:
+  customerId: string, Id of the Customer (required)
+  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for subscription seats.
+  "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.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a subscription.
+      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
+        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+        "renewalType": "A String", # Subscription renewal type.
+      },
+      "skuId": "A String", # Name of the sku for which this subscription is purchased.
+      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
+      "trialSettings": { # Trial Settings of the subscription.
+        "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.
+          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
+          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
+        },
+        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
+      },
+      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+      "subscriptionId": "A String", # The id of the subscription.
+      "customerId": "A String", # The id of the customer to whom the subscription belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(customerId, subscriptionId, deletionType)</code>
+  <pre>Cancels/Downgrades a subscription.
+
+Args:
+  customerId: string, Id of the Customer (required)
+  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
+  deletionType: string, Whether the subscription is to be fully cancelled or downgraded (required)
+    Allowed values
+      cancel - Cancels the subscription immediately
+      downgrade - Downgrades a Google Apps for Business subscription to Google Apps
+      suspend - Suspends the subscriptions for 4 days before cancelling it
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(customerId, subscriptionId)</code>
+  <pre>Gets a subscription of the customer.
+
+Args:
+  customerId: string, Id of the Customer (required)
+  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a subscription.
+      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
+        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+        "renewalType": "A String", # Subscription renewal type.
+      },
+      "skuId": "A String", # Name of the sku for which this subscription is purchased.
+      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
+      "trialSettings": { # Trial Settings of the subscription.
+        "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.
+          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
+          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
+        },
+        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
+      },
+      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+      "subscriptionId": "A String", # The id of the subscription.
+      "customerId": "A String", # The id of the customer to whom the subscription belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(customerId, body, customerAuthToken=None)</code>
+  <pre>Creates/Transfers a subscription for the customer.
+
+Args:
+  customerId: string, Id of the Customer (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # JSON template for a subscription.
+    "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
+      "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+      "renewalType": "A String", # Subscription renewal type.
+    },
+    "skuId": "A String", # Name of the sku for which this subscription is purchased.
+    "kind": "reseller#subscription", # Identifies the resource as a Subscription.
+    "trialSettings": { # Trial Settings of the subscription.
+      "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.
+        "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
+        "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
+      },
+      "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
+    },
+    "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+    "subscriptionId": "A String", # The id of the subscription.
+    "customerId": "A String", # The id of the customer to whom the subscription belongs.
+  }
+
+  customerAuthToken: string, An auth token needed for transferring a subscription. Can be generated at https://www.google.com/a/cpanel/customer-domain/TransferToken. Optional.
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a subscription.
+      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
+        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+        "renewalType": "A String", # Subscription renewal type.
+      },
+      "skuId": "A String", # Name of the sku for which this subscription is purchased.
+      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
+      "trialSettings": { # Trial Settings of the subscription.
+        "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.
+          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
+          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
+        },
+        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
+      },
+      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+      "subscriptionId": "A String", # The id of the subscription.
+      "customerId": "A String", # The id of the customer to whom the subscription belongs.
+    }</pre>
+</div>
+
+<div class="method">
+    <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:
+
+    { # JSON template for a subscription list.
+    "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.
+    "kind": "reseller#subscriptions", # Identifies the resource as a collection of subscriptions.
+    "subscriptions": [ # The subscriptions in this page of results.
+      { # JSON template for a subscription.
+          "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
+            "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+            "renewalType": "A String", # Subscription renewal type.
+          },
+          "skuId": "A String", # Name of the sku for which this subscription is purchased.
+          "kind": "reseller#subscription", # Identifies the resource as a Subscription.
+          "trialSettings": { # Trial Settings of the subscription.
+            "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.
+              "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
+              "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
+            },
+            "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
+          },
+          "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+          "subscriptionId": "A String", # The id of the subscription.
+          "customerId": "A String", # The id of the customer to whom the subscription belongs.
+        },
+    ],
+  }</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="startPaidService">startPaidService(customerId, subscriptionId)</code>
+  <pre>Starts paid service of a trial subscription
+
+Args:
+  customerId: string, Id of the Customer (required)
+  subscriptionId: string, Id of the subscription, which is unique for a customer (required)
+
+Returns:
+  An object of the form:
+
+    { # JSON template for a subscription.
+      "renewalSettings": { # JSON template for a subscription renewal settings. # Renewal settings of the subscription.
+        "kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting.
+        "renewalType": "A String", # Subscription renewal type.
+      },
+      "skuId": "A String", # Name of the sku for which this subscription is purchased.
+      "kind": "reseller#subscription", # Identifies the resource as a Subscription.
+      "trialSettings": { # Trial Settings of the subscription.
+        "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.
+          "endTime": "A String", # End time of the commitment interval in milliseconds since Unix epoch.
+          "startTime": "A String", # Start time of the commitment interval in milliseconds since Unix epoch.
+        },
+        "isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not.
+      },
+      "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes.
+      "subscriptionId": "A String", # The id of the subscription.
+      "customerId": "A String", # The id of the customer to whom the subscription belongs.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/siteVerification_v1.html b/docs/dyn/siteVerification_v1.html
new file mode 100644
index 0000000..a9eb596
--- /dev/null
+++ b/docs/dyn/siteVerification_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="siteVerification_v1.html">Google Site Verification API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="siteVerification_v1.webResource.html">webResource()</a></code>
+</p>
+<p class="firstline">Returns the webResource Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/siteVerification_v1.webResource.html b/docs/dyn/siteVerification_v1.webResource.html
new file mode 100644
index 0000000..7149825
--- /dev/null
+++ b/docs/dyn/siteVerification_v1.webResource.html
@@ -0,0 +1,289 @@
+<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="siteVerification_v1.html">Google Site Verification API</a> . <a href="siteVerification_v1.webResource.html">webResource</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id)</a></code></p>
+<p class="firstline">Relinquish ownership of a website or domain.</p>
+<p class="toc_element">
+  <code><a href="#get">get(id)</a></code></p>
+<p class="firstline">Get the most current data for a website or domain.</p>
+<p class="toc_element">
+  <code><a href="#getToken">getToken(body)</a></code></p>
+<p class="firstline">Get a verification token for placing on a website or domain.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(verificationMethod, body)</a></code></p>
+<p class="firstline">Attempt verification of a website or domain.</p>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">Get the list of your verified websites and domains.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(id, body)</a></code></p>
+<p class="firstline">Modify the list of owners for your website or domain. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(id, body)</a></code></p>
+<p class="firstline">Modify the list of owners for your website or domain.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id)</code>
+  <pre>Relinquish ownership of a website or domain.
+
+Args:
+  id: string, The id of a verified site or domain. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(id)</code>
+  <pre>Get the most current data for a website or domain.
+
+Args:
+  id: string, The id of a verified site or domain. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "owners": [ # The email addresses of all verified owners.
+        "A String",
+      ],
+      "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
+      "site": { # The address and type of a site that is verified or will be verified.
+        "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+        "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getToken">getToken(body)</code>
+  <pre>Get a verification token for placing on a website or domain.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "verificationMethod": "A String", # The verification method that will be used to verify this site. For sites, 'FILE' or 'META' methods may be used. For domains, only 'DNS' may be used.
+    "site": { # The site for which a verification token will be generated.
+      "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+      "type": "A String", # The type of resource to be verified. Can be SITE or INET_DOMAIN (domain name).
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "token": "A String", # The verification token. The token must be placed appropriately in order for verification to succeed.
+    "method": "A String", # The verification method to use in conjunction with this token. For FILE, the token should be placed in the top-level directory of the site, stored inside a file of the same name. For META, the token should be placed in the HEAD tag of the default page that is loaded for the site. For DNS, the token should be placed in a TXT record of the domain.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(verificationMethod, body)</code>
+  <pre>Attempt verification of a website or domain.
+
+Args:
+  verificationMethod: string, The method to use for verifying a site or domain. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "owners": [ # The email addresses of all verified owners.
+      "A String",
+    ],
+    "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
+    "site": { # The address and type of a site that is verified or will be verified.
+      "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+      "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "owners": [ # The email addresses of all verified owners.
+        "A String",
+      ],
+      "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
+      "site": { # The address and type of a site that is verified or will be verified.
+        "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+        "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>Get the list of your verified websites and domains.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The list of sites that are owned by the authenticated user.
+      {
+          "owners": [ # The email addresses of all verified owners.
+            "A String",
+          ],
+          "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
+          "site": { # The address and type of a site that is verified or will be verified.
+            "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+            "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
+          },
+        },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(id, body)</code>
+  <pre>Modify the list of owners for your website or domain. This method supports patch semantics.
+
+Args:
+  id: string, The id of a verified site or domain. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "owners": [ # The email addresses of all verified owners.
+      "A String",
+    ],
+    "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
+    "site": { # The address and type of a site that is verified or will be verified.
+      "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+      "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "owners": [ # The email addresses of all verified owners.
+        "A String",
+      ],
+      "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
+      "site": { # The address and type of a site that is verified or will be verified.
+        "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+        "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
+      },
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(id, body)</code>
+  <pre>Modify the list of owners for your website or domain.
+
+Args:
+  id: string, The id of a verified site or domain. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "owners": [ # The email addresses of all verified owners.
+      "A String",
+    ],
+    "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
+    "site": { # The address and type of a site that is verified or will be verified.
+      "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+      "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "owners": [ # The email addresses of all verified owners.
+        "A String",
+      ],
+      "id": "A String", # The string used to identify this site. This value should be used in the "id" portion of the REST URL for the Get, Update, and Delete operations.
+      "site": { # The address and type of a site that is verified or will be verified.
+        "identifier": "A String", # The site identifier. If the type is set to SITE, the identifier is a URL. If the type is set to INET_DOMAIN, the site identifier is a domain name.
+        "type": "A String", # The site type. Can be SITE or INET_DOMAIN (domain name).
+      },
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/spectrum_v1explorer.html b/docs/dyn/spectrum_v1explorer.html
new file mode 100644
index 0000000..6968837
--- /dev/null
+++ b/docs/dyn/spectrum_v1explorer.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="spectrum_v1explorer.html">Google Spectrum Database API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="spectrum_v1explorer.paws.html">paws()</a></code>
+</p>
+<p class="firstline">Returns the paws Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/spectrum_v1explorer.paws.html b/docs/dyn/spectrum_v1explorer.paws.html
new file mode 100644
index 0000000..cda5b8a
--- /dev/null
+++ b/docs/dyn/spectrum_v1explorer.paws.html
@@ -0,0 +1,981 @@
+<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="spectrum_v1explorer.html">Google Spectrum Database API</a> . <a href="spectrum_v1explorer.paws.html">paws</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#getSpectrum">getSpectrum(body)</a></code></p>
+<p class="firstline">Requests information about the available spectrum for a device at a location. Requests from a fixed-mode device must include owner information so the device can be registered with the database.</p>
+<p class="toc_element">
+  <code><a href="#getSpectrumBatch">getSpectrumBatch(body)</a></code></p>
+<p class="firstline">The Google Spectrum Database does not support batch requests, so this method always yields an UNIMPLEMENTED error.</p>
+<p class="toc_element">
+  <code><a href="#init">init(body)</a></code></p>
+<p class="firstline">Initializes the connection between a white space device and the database.</p>
+<p class="toc_element">
+  <code><a href="#notifySpectrumUse">notifySpectrumUse(body)</a></code></p>
+<p class="firstline">Notifies the database that the device has selected certain frequency ranges for transmission. Only to be invoked when required by the regulator. The Google Spectrum Database does not operate in domains that require notification, so this always yields an UNIMPLEMENTED error.</p>
+<p class="toc_element">
+  <code><a href="#register">register(body)</a></code></p>
+<p class="firstline">The Google Spectrum Database implements registration in the getSpectrum method. As such this always returns an UNIMPLEMENTED error.</p>
+<p class="toc_element">
+  <code><a href="#verifyDevice">verifyDevice(body)</a></code></p>
+<p class="firstline">Validates a device for white space use in accordance with regulatory rules. The Google Spectrum Database does not support master/slave configurations, so this always yields an UNIMPLEMENTED error.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="getSpectrum">getSpectrum(body)</code>
+  <pre>Requests information about the available spectrum for a device at a location. Requests from a fixed-mode device must include owner information so the device can be registered with the database.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request message for the available spectrum query protocol which must include the device's geolocation.
+    "deviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # When the available spectrum request is made on behalf of a specific device (a master or slave device), device descriptor information for that device is required (in such cases, the requestType parameter must be empty). When a requestType value is specified, device descriptor information may be optional or required according to the rules of the applicable regulatory domain.
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        # 
+        # Required field.
+    "antenna": { # Antenna characteristics provide additional information, such as the antenna height, antenna type, etc. Whether antenna characteristics must be provided in a request depends on the device type and regulatory domain. # Depending on device type and regulatory domain, the characteristics of the antenna may be required.
+      "heightType": "A String", # If the height is required, then the height type (AGL for above ground level or AMSL for above mean sea level) is also required. The default is AGL.
+      "heightUncertainty": 3.14, # The height uncertainty in meters. Whether this is required depends on the regulatory domain.
+      "height": 3.14, # The antenna height in meters. Whether the antenna height is required depends on the device type and the regulatory domain. Note that the height may be negative.
+    },
+    "requestType": "A String", # The request type parameter is an optional parameter that can be used to modify an available spectrum request, but its use depends on applicable regulatory rules. It may be used, for example, to request generic slave device parameters without having to specify the device descriptor for a specific device. When the requestType parameter is missing, the request is for a specific device (master or slave), and the deviceDesc parameter for the device on whose behalf the request is made is required.
+    "capabilities": { # Device capabilities provide additional information that may be used by a device to provide additional information to the database that may help it to determine available spectrum. If the database does not support device capabilities it will ignore the parameter altogether. # The master device may include its device capabilities to limit the available-spectrum response to the spectrum that is compatible with its capabilities. The database should not return spectrum that is incompatible with the specified capabilities.
+      "frequencyRanges": [ # An optional list of frequency ranges supported by the device. Each element must contain start and stop frequencies in which the device can operate. Channel identifiers are optional. When specified, the database should not return available spectrum that falls outside these ranges or channel IDs.
+        { # A specific range of frequencies together with the associated maximum power level and channel identifier.
+          "startHz": 3.14, # The required inclusive start of the frequency range (in Hertz).
+          "channelId": "A String", # The database may include a channel identifier, when applicable. When it is included, the device should treat it as informative. The length of the identifier should not exceed 16 characters.
+          "stopHz": 3.14, # The required exclusive end of the frequency range (in Hertz).
+          "maxPowerDBm": 3.14, # The maximum total power level (EIRP)—computed over the corresponding operating bandwidth—that is permitted within the frequency range. Depending on the context in which the frequency-range element appears, this value may be required. For example, it is required in the available-spectrum response, available-spectrum-batch response, and spectrum-use notification message, but it should not be present (it is not applicable) when the frequency range appears inside a device-capabilities message.
+        },
+      ],
+    },
+    "masterDeviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # When an available spectrum request is made by the master device (a device with geolocation capability) on behalf of a slave device (a device without geolocation capability), the rules of the applicable regulatory domain may require the master device to provide its own device descriptor information (in addition to device descriptor information for the slave device, which is provided in a separate parameter).
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "location": { # This parameter is used to specify the geolocation of the device. # The geolocation of the master device (a device with geolocation capability that makes an available spectrum request) is required whether the master device is making the request on its own behalf or on behalf of a slave device (one without geolocation capability). The location must be the location of the radiation center of the master device's antenna. To support mobile devices, a regulatory domain may allow the anticipated position of the master device to be given instead. If the location specifies a region, rather than a point, the database may return an UNIMPLEMENTED error code if it does not support query by region.
+      "confidence": 42, # The location confidence level, as an integer percentage, may be required, depending on the regulatory domain. When the parameter is optional and not provided, its value is assumed to be 95. Valid values range from 0 to 99, since, in practice, 100-percent confidence is not achievable. The confidence value is meaningful only when geolocation refers to a point with uncertainty.
+      "region": { # A region is represented using the polygonal shape. # If present, indicates that the geolocation represents a region. Database support for regions is optional.
+        "exterior": [ # When the geolocation describes a region, the exterior field refers to a list of latitude/longitude points that represent the vertices of a polygon. The first and last points must be the same. Thus, a minimum of four points is required. The following polygon restrictions from RFC5491 apply:
+            # - A connecting line shall not cross another connecting line of the same polygon.
+            # - The vertices must be defined in a counterclockwise order.
+            # - The edges of a polygon are defined by the shortest path between two points in space (not a geodesic curve). Consequently, the length between two adjacent vertices should be restricted to a maximum of 130 km.
+            # - All vertices are assumed to be at the same altitude.
+            # - Polygon shapes should be restricted to a maximum of 15 vertices (16 points that include the repeated vertex).
+          { # A single geolocation on the globe.
+            "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+            "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          },
+        ],
+      },
+      "point": { # A "point" with uncertainty is represented using the Ellipse shape. # If present, indicates that the geolocation represents a point. Paradoxically, a point is parameterized using an ellipse, where the center represents the location of the point and the distances along the major and minor axes represent the uncertainty. The uncertainty values may be required, depending on the regulatory domain.
+        "semiMajorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the major axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+        "center": { # A single geolocation on the globe. # A required geo-spatial point representing the center of the ellipse.
+          "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+        },
+        "semiMinorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the minor axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+        "orientation": 3.14, # A floating-point number that expresses the orientation of the ellipse, representing the rotation, in degrees, of the semi-major axis from North towards the East. For example, when the uncertainty is greatest along the North-South direction, orientation is 0 degrees; conversely, if the uncertainty is greatest along the East-West direction, orientation is 90 degrees. When orientation is not present, the orientation is assumed to be 0.
+      },
+    },
+    "owner": { # This parameter contains device-owner information required as part of device registration. The regulatory domains may require additional parameters. # Depending on device type and regulatory domain, device owner information may be included in an available spectrum request. This allows the device to register and get spectrum-availability information in a single request.
+        #
+        # All contact information must be expressed using the structure defined by the vCard format specification. Only the contact fields of vCard are supported:
+        # - fn: Full name of an individual
+        # - org: Name of the organization
+        # - adr: Address fields
+        # - tel: Telephone numbers
+        # - email: Email addresses
+        #
+        # Note that the vCard specification defines maximum lengths for each field.
+      "operator": { # A vCard-in-JSON message that contains only the fields needed for PAWS: # The vCard contact information for the device operator is optional, but may be required by specific regulatory domains.
+          # - fn: Full name of an individual
+          # - org: Name of the organization
+          # - adr: Address fields
+          # - tel: Telephone numbers
+          # - email: Email addresses
+        "org": { # The structure used to represent an organization and an email address. # The organization associated with the registering entity.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "tel": { # The structure used to represent a telephone number. # A telephone number that can be used to call the contact.
+          "uri": "A String", # A nested telephone URI of the form: tel:+1-123-456-7890.
+        },
+        "adr": { # The structure used to represent a street address. # The street address of the entity.
+          "code": "A String", # The postal code associated with the address. For example: 94423.
+          "locality": "A String", # The city or local equivalent portion of the address. For example: San Jose.
+          "country": "A String", # The country name. For example: US.
+          "region": "A String", # The state or local equivalent portion of the address. For example: CA.
+          "pobox": "A String", # An optional post office box number.
+          "street": "A String", # The street number and name. For example: 123 Any St.
+        },
+        "email": { # The structure used to represent an organization and an email address. # An email address that can be used to reach the contact.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "fn": "A String", # The full name of the contact person. For example: John A. Smith.
+      },
+      "owner": { # A vCard-in-JSON message that contains only the fields needed for PAWS: # The vCard contact information for the individual or business that owns the device is required.
+          # - fn: Full name of an individual
+          # - org: Name of the organization
+          # - adr: Address fields
+          # - tel: Telephone numbers
+          # - email: Email addresses
+        "org": { # The structure used to represent an organization and an email address. # The organization associated with the registering entity.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "tel": { # The structure used to represent a telephone number. # A telephone number that can be used to call the contact.
+          "uri": "A String", # A nested telephone URI of the form: tel:+1-123-456-7890.
+        },
+        "adr": { # The structure used to represent a street address. # The street address of the entity.
+          "code": "A String", # The postal code associated with the address. For example: 94423.
+          "locality": "A String", # The city or local equivalent portion of the address. For example: San Jose.
+          "country": "A String", # The country name. For example: US.
+          "region": "A String", # The state or local equivalent portion of the address. For example: CA.
+          "pobox": "A String", # An optional post office box number.
+          "street": "A String", # The street number and name. For example: 123 Any St.
+        },
+        "email": { # The structure used to represent an organization and an email address. # An email address that can be used to reach the contact.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "fn": "A String", # The full name of the contact person. For example: John A. Smith.
+      },
+    },
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        # 
+        # Required field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The response message for the available spectrum query which contains a schedule of available spectrum for the device.
+    "kind": "spectrum#pawsGetSpectrumResponse", # Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsGetSpectrumResponse".
+    "deviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # The database must return, in its available spectrum response, the device descriptor information it received in the master device's available spectrum request.
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        #
+        # Required field.
+    "timestamp": "A String", # The database includes a timestamp of the form YYYY-MM-DDThh:mm:ssZ (Internet timestamp format per RFC3339) in its available spectrum response. The timestamp should be used by the device as a reference for the start and stop times specified in the response spectrum schedules.
+    "databaseChange": { # This message is provided by the database to notify devices of an upcoming change to the database URI. # A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs.
+      "databases": [ # A required list of one or more databases. A device should update its preconfigured list of databases to replace (only) the database that provided the response with the specified entries.
+        { # This message contains the name and URI of a database.
+          "name": "A String", # The display name for a database.
+          "uri": "A String", # The corresponding URI of the database.
+        },
+      ],
+    },
+    "spectrumSchedules": [ # The available spectrum response must contain a spectrum schedule list. The list may be empty if spectrum is not available. The database may return more than one spectrum schedule to represent future changes to the available spectrum. How far in advance a schedule may be provided depends on the applicable regulatory domain.
+      { # The spectrum schedule element combines an event time with spectrum profile to define a time period in which the profile is valid.
+        "eventTime": { # The start and stop times of an event. This is used to indicate the time period for which a spectrum profile is valid. # The event time expresses when the spectrum profile is valid. It will always be present.
+            #
+            # Both times are expressed using the format, YYYY-MM-DDThh:mm:ssZ, as defined in RFC3339. The times must be expressed using UTC.
+          "stopTime": "A String", # The exclusive end of the event. It will be present.
+          "startTime": "A String", # The inclusive start of the event. It will be present.
+        },
+        "spectra": [ # A list of spectrum messages representing the usable profile. It will always be present, but may be empty when there is no available spectrum.
+          { # Available spectrum can be logically characterized by a list of frequency ranges and permissible power levels for each range.
+            "bandwidth": 3.14, # The bandwidth (in Hertz) for which permissible power levels are specified. For example, FCC regulation would require only one spectrum specification at 6MHz bandwidth, but Ofcom regulation would require two specifications, at 0.1MHz and 8MHz. This parameter may be empty if there is no available spectrum. It will be present otherwise.
+            "frequencyRanges": [ # The list of frequency ranges and permissible power levels. The list may be empty if there is no available spectrum, otherwise it will be present.
+              { # A specific range of frequencies together with the associated maximum power level and channel identifier.
+                "startHz": 3.14, # The required inclusive start of the frequency range (in Hertz).
+                "channelId": "A String", # The database may include a channel identifier, when applicable. When it is included, the device should treat it as informative. The length of the identifier should not exceed 16 characters.
+                "stopHz": 3.14, # The required exclusive end of the frequency range (in Hertz).
+                "maxPowerDBm": 3.14, # The maximum total power level (EIRP)—computed over the corresponding operating bandwidth—that is permitted within the frequency range. Depending on the context in which the frequency-range element appears, this value may be required. For example, it is required in the available-spectrum response, available-spectrum-batch response, and spectrum-use notification message, but it should not be present (it is not applicable) when the frequency range appears inside a device-capabilities message.
+              },
+            ],
+          },
+        ],
+      },
+    ],
+    "maxContiguousBwHz": 3.14, # The database may return a constraint on the allowed maximum contiguous bandwidth (in Hertz). A regulatory domain may require the database to return this parameter. When this parameter is present in the response, the device must apply this constraint to its spectrum-selection logic to ensure that no single block of spectrum has bandwidth that exceeds this value.
+    "needsSpectrumReport": True or False, # For regulatory domains that require a spectrum-usage report from devices, the database must return true for this parameter if the spectrum schedule list is not empty; otherwise, the database will either return false or omit this parameter. If this parameter is present and its value is true, the device must send a spectrum use notify message to the database; otherwise, the device must not send the notification.
+    "maxTotalBwHz": 3.14, # The database may return a constraint on the allowed maximum total bandwidth (in Hertz), which need not be contiguous. A regulatory domain may require the database to return this parameter. When this parameter is present in the available spectrum response, the device must apply this constraint to its spectrum-selection logic to ensure that total bandwidth does not exceed this value.
+    "rulesetInfo": { # This contains parameters for the ruleset of a regulatory domain that is communicated using the initialization and available-spectrum processes. # The database should return ruleset information, which identifies the applicable regulatory authority and ruleset for the available spectrum response. If included, the device must use the corresponding ruleset to interpret the response. Values provided in the returned ruleset information, such as maxLocationChange, take precedence over any conflicting values provided in the ruleset information returned in a prior initialization response sent by the database to the device.
+      "rulesetIds": [ # The identifiers of the rulesets supported for the device's location. The database should include at least one applicable ruleset in the initialization response. The device may use the ruleset identifiers to determine parameters to include in subsequent requests. Within the context of the available-spectrum responses, the database should include the identifier of the ruleset that it used to determine the available-spectrum response. If included, the device must use the specified ruleset to interpret the response. If the device does not support the indicated ruleset, it must not operate in the spectrum governed by the ruleset.
+        "A String",
+      ],
+      "maxPollingSecs": 42, # The maximum duration, in seconds, between requests for available spectrum. It is required in the initialization response, but optional otherwise. The device must contact the database to get available spectrum no less frequently than this duration. If the new spectrum information indicates that the device is using spectrum that is no longer available, it must immediately cease use of those frequencies under rules for database-managed spectrum. If this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response.
+      "maxLocationChange": 3.14, # The maximum location change in meters is required in the initialization response, but optional otherwise. When the device changes location by more than this specified distance, it must contact the database to get the available spectrum for the new location. If the device is using spectrum that is no longer available, it must immediately cease use of the spectrum under rules for database-managed spectrum. If this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response.
+      "authority": "A String", # The regulatory domain to which the ruleset belongs is required. It must be a 2-letter country code. The device should use this to determine additional device behavior required by the associated regulatory domain.
+    },
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        #
+        # Required field.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getSpectrumBatch">getSpectrumBatch(body)</code>
+  <pre>The Google Spectrum Database does not support batch requests, so this method always yields an UNIMPLEMENTED error.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request message for a batch available spectrum query protocol.
+    "deviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # When the available spectrum request is made on behalf of a specific device (a master or slave device), device descriptor information for the device on whose behalf the request is made is required (in such cases, the requestType parameter must be empty). When a requestType value is specified, device descriptor information may be optional or required according to the rules of the applicable regulatory domain.
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        # 
+        # Required field.
+    "antenna": { # Antenna characteristics provide additional information, such as the antenna height, antenna type, etc. Whether antenna characteristics must be provided in a request depends on the device type and regulatory domain. # Depending on device type and regulatory domain, antenna characteristics may be required.
+      "heightType": "A String", # If the height is required, then the height type (AGL for above ground level or AMSL for above mean sea level) is also required. The default is AGL.
+      "heightUncertainty": 3.14, # The height uncertainty in meters. Whether this is required depends on the regulatory domain.
+      "height": 3.14, # The antenna height in meters. Whether the antenna height is required depends on the device type and the regulatory domain. Note that the height may be negative.
+    },
+    "requestType": "A String", # The request type parameter is an optional parameter that can be used to modify an available spectrum batch request, but its use depends on applicable regulatory rules. For example, It may be used to request generic slave device parameters without having to specify the device descriptor for a specific device. When the requestType parameter is missing, the request is for a specific device (master or slave), and the device descriptor parameter for the device on whose behalf the batch request is made is required.
+    "locations": [ # A geolocation list is required. This allows a device to specify its current location plus additional anticipated locations when allowed by the regulatory domain. At least one location must be included. Geolocation must be given as the location of the radiation center of the device's antenna. If a location specifies a region, rather than a point, the database may return an UNIMPLEMENTED error if it does not support query by region.
+        # 
+        # There is no upper limit on the number of locations included in a available spectrum batch request, but the database may restrict the number of locations it supports by returning a response with fewer locations than specified in the batch request. Note that geolocations must be those of the master device (a device with geolocation capability that makes an available spectrum batch request), whether the master device is making the request on its own behalf or on behalf of a slave device (one without geolocation capability).
+      { # This parameter is used to specify the geolocation of the device.
+        "confidence": 42, # The location confidence level, as an integer percentage, may be required, depending on the regulatory domain. When the parameter is optional and not provided, its value is assumed to be 95. Valid values range from 0 to 99, since, in practice, 100-percent confidence is not achievable. The confidence value is meaningful only when geolocation refers to a point with uncertainty.
+        "region": { # A region is represented using the polygonal shape. # If present, indicates that the geolocation represents a region. Database support for regions is optional.
+          "exterior": [ # When the geolocation describes a region, the exterior field refers to a list of latitude/longitude points that represent the vertices of a polygon. The first and last points must be the same. Thus, a minimum of four points is required. The following polygon restrictions from RFC5491 apply:
+              # - A connecting line shall not cross another connecting line of the same polygon.
+              # - The vertices must be defined in a counterclockwise order.
+              # - The edges of a polygon are defined by the shortest path between two points in space (not a geodesic curve). Consequently, the length between two adjacent vertices should be restricted to a maximum of 130 km.
+              # - All vertices are assumed to be at the same altitude.
+              # - Polygon shapes should be restricted to a maximum of 15 vertices (16 points that include the repeated vertex).
+            { # A single geolocation on the globe.
+              "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+              "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+            },
+          ],
+        },
+        "point": { # A "point" with uncertainty is represented using the Ellipse shape. # If present, indicates that the geolocation represents a point. Paradoxically, a point is parameterized using an ellipse, where the center represents the location of the point and the distances along the major and minor axes represent the uncertainty. The uncertainty values may be required, depending on the regulatory domain.
+          "semiMajorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the major axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+          "center": { # A single geolocation on the globe. # A required geo-spatial point representing the center of the ellipse.
+            "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+            "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          },
+          "semiMinorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the minor axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+          "orientation": 3.14, # A floating-point number that expresses the orientation of the ellipse, representing the rotation, in degrees, of the semi-major axis from North towards the East. For example, when the uncertainty is greatest along the North-South direction, orientation is 0 degrees; conversely, if the uncertainty is greatest along the East-West direction, orientation is 90 degrees. When orientation is not present, the orientation is assumed to be 0.
+        },
+      },
+    ],
+    "capabilities": { # Device capabilities provide additional information that may be used by a device to provide additional information to the database that may help it to determine available spectrum. If the database does not support device capabilities it will ignore the parameter altogether. # The master device may include its device capabilities to limit the available-spectrum batch response to the spectrum that is compatible with its capabilities. The database should not return spectrum that is incompatible with the specified capabilities.
+      "frequencyRanges": [ # An optional list of frequency ranges supported by the device. Each element must contain start and stop frequencies in which the device can operate. Channel identifiers are optional. When specified, the database should not return available spectrum that falls outside these ranges or channel IDs.
+        { # A specific range of frequencies together with the associated maximum power level and channel identifier.
+          "startHz": 3.14, # The required inclusive start of the frequency range (in Hertz).
+          "channelId": "A String", # The database may include a channel identifier, when applicable. When it is included, the device should treat it as informative. The length of the identifier should not exceed 16 characters.
+          "stopHz": 3.14, # The required exclusive end of the frequency range (in Hertz).
+          "maxPowerDBm": 3.14, # The maximum total power level (EIRP)—computed over the corresponding operating bandwidth—that is permitted within the frequency range. Depending on the context in which the frequency-range element appears, this value may be required. For example, it is required in the available-spectrum response, available-spectrum-batch response, and spectrum-use notification message, but it should not be present (it is not applicable) when the frequency range appears inside a device-capabilities message.
+        },
+      ],
+    },
+    "masterDeviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # When an available spectrum batch request is made by the master device (a device with geolocation capability) on behalf of a slave device (a device without geolocation capability), the rules of the applicable regulatory domain may require the master device to provide its own device descriptor information (in addition to device descriptor information for the slave device in a separate parameter).
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "owner": { # This parameter contains device-owner information required as part of device registration. The regulatory domains may require additional parameters. # Depending on device type and regulatory domain, device owner information may be included in an available spectrum batch request. This allows the device to register and get spectrum-availability information in a single request.
+        #
+        # All contact information must be expressed using the structure defined by the vCard format specification. Only the contact fields of vCard are supported:
+        # - fn: Full name of an individual
+        # - org: Name of the organization
+        # - adr: Address fields
+        # - tel: Telephone numbers
+        # - email: Email addresses
+        #
+        # Note that the vCard specification defines maximum lengths for each field.
+      "operator": { # A vCard-in-JSON message that contains only the fields needed for PAWS: # The vCard contact information for the device operator is optional, but may be required by specific regulatory domains.
+          # - fn: Full name of an individual
+          # - org: Name of the organization
+          # - adr: Address fields
+          # - tel: Telephone numbers
+          # - email: Email addresses
+        "org": { # The structure used to represent an organization and an email address. # The organization associated with the registering entity.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "tel": { # The structure used to represent a telephone number. # A telephone number that can be used to call the contact.
+          "uri": "A String", # A nested telephone URI of the form: tel:+1-123-456-7890.
+        },
+        "adr": { # The structure used to represent a street address. # The street address of the entity.
+          "code": "A String", # The postal code associated with the address. For example: 94423.
+          "locality": "A String", # The city or local equivalent portion of the address. For example: San Jose.
+          "country": "A String", # The country name. For example: US.
+          "region": "A String", # The state or local equivalent portion of the address. For example: CA.
+          "pobox": "A String", # An optional post office box number.
+          "street": "A String", # The street number and name. For example: 123 Any St.
+        },
+        "email": { # The structure used to represent an organization and an email address. # An email address that can be used to reach the contact.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "fn": "A String", # The full name of the contact person. For example: John A. Smith.
+      },
+      "owner": { # A vCard-in-JSON message that contains only the fields needed for PAWS: # The vCard contact information for the individual or business that owns the device is required.
+          # - fn: Full name of an individual
+          # - org: Name of the organization
+          # - adr: Address fields
+          # - tel: Telephone numbers
+          # - email: Email addresses
+        "org": { # The structure used to represent an organization and an email address. # The organization associated with the registering entity.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "tel": { # The structure used to represent a telephone number. # A telephone number that can be used to call the contact.
+          "uri": "A String", # A nested telephone URI of the form: tel:+1-123-456-7890.
+        },
+        "adr": { # The structure used to represent a street address. # The street address of the entity.
+          "code": "A String", # The postal code associated with the address. For example: 94423.
+          "locality": "A String", # The city or local equivalent portion of the address. For example: San Jose.
+          "country": "A String", # The country name. For example: US.
+          "region": "A String", # The state or local equivalent portion of the address. For example: CA.
+          "pobox": "A String", # An optional post office box number.
+          "street": "A String", # The street number and name. For example: 123 Any St.
+        },
+        "email": { # The structure used to represent an organization and an email address. # An email address that can be used to reach the contact.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "fn": "A String", # The full name of the contact person. For example: John A. Smith.
+      },
+    },
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        # 
+        # Required field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The response message for the batch available spectrum query contains a schedule of available spectrum for the device at multiple locations.
+    "maxContiguousBwHz": 3.14, # The database may return a constraint on the allowed maximum contiguous bandwidth (in Hertz). A regulatory domain may require the database to return this parameter. When this parameter is present in the response, the device must apply this constraint to its spectrum-selection logic to ensure that no single block of spectrum has bandwidth that exceeds this value.
+    "kind": "spectrum#pawsGetSpectrumBatchResponse", # Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsGetSpectrumBatchResponse".
+    "deviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # The database must return in its available spectrum response the device descriptor information it received in the master device's available spectrum batch request.
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        #
+        # Required field.
+    "timestamp": "A String", # The database includes a timestamp of the form, YYYY-MM-DDThh:mm:ssZ (Internet timestamp format per RFC3339), in its available spectrum batch response. The timestamp should be used by the device as a reference for the start and stop times specified in the response spectrum schedules.
+    "databaseChange": { # This message is provided by the database to notify devices of an upcoming change to the database URI. # A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs.
+      "databases": [ # A required list of one or more databases. A device should update its preconfigured list of databases to replace (only) the database that provided the response with the specified entries.
+        { # This message contains the name and URI of a database.
+          "name": "A String", # The display name for a database.
+          "uri": "A String", # The corresponding URI of the database.
+        },
+      ],
+    },
+    "geoSpectrumSchedules": [ # The available spectrum batch response must contain a geo-spectrum schedule list, The list may be empty if spectrum is not available. The database may return more than one geo-spectrum schedule to represent future changes to the available spectrum. How far in advance a schedule may be provided depends upon the applicable regulatory domain. The database may return available spectrum for fewer geolocations than requested. The device must not make assumptions about the order of the entries in the list, and must use the geolocation value in each geo-spectrum schedule entry to match available spectrum to a location.
+      { # The schedule of spectrum profiles available at a particular geolocation.
+        "spectrumSchedules": [ # A list of available spectrum profiles and associated times. It will always be present, and at least one schedule must be included (though it may be empty if there is no available spectrum). More than one schedule may be included to represent future changes to the available spectrum.
+          { # The spectrum schedule element combines an event time with spectrum profile to define a time period in which the profile is valid.
+            "eventTime": { # The start and stop times of an event. This is used to indicate the time period for which a spectrum profile is valid. # The event time expresses when the spectrum profile is valid. It will always be present.
+                #
+                # Both times are expressed using the format, YYYY-MM-DDThh:mm:ssZ, as defined in RFC3339. The times must be expressed using UTC.
+              "stopTime": "A String", # The exclusive end of the event. It will be present.
+              "startTime": "A String", # The inclusive start of the event. It will be present.
+            },
+            "spectra": [ # A list of spectrum messages representing the usable profile. It will always be present, but may be empty when there is no available spectrum.
+              { # Available spectrum can be logically characterized by a list of frequency ranges and permissible power levels for each range.
+                "bandwidth": 3.14, # The bandwidth (in Hertz) for which permissible power levels are specified. For example, FCC regulation would require only one spectrum specification at 6MHz bandwidth, but Ofcom regulation would require two specifications, at 0.1MHz and 8MHz. This parameter may be empty if there is no available spectrum. It will be present otherwise.
+                "frequencyRanges": [ # The list of frequency ranges and permissible power levels. The list may be empty if there is no available spectrum, otherwise it will be present.
+                  { # A specific range of frequencies together with the associated maximum power level and channel identifier.
+                    "startHz": 3.14, # The required inclusive start of the frequency range (in Hertz).
+                    "channelId": "A String", # The database may include a channel identifier, when applicable. When it is included, the device should treat it as informative. The length of the identifier should not exceed 16 characters.
+                    "stopHz": 3.14, # The required exclusive end of the frequency range (in Hertz).
+                    "maxPowerDBm": 3.14, # The maximum total power level (EIRP)—computed over the corresponding operating bandwidth—that is permitted within the frequency range. Depending on the context in which the frequency-range element appears, this value may be required. For example, it is required in the available-spectrum response, available-spectrum-batch response, and spectrum-use notification message, but it should not be present (it is not applicable) when the frequency range appears inside a device-capabilities message.
+                  },
+                ],
+              },
+            ],
+          },
+        ],
+        "location": { # This parameter is used to specify the geolocation of the device. # The geolocation identifies the location at which the spectrum schedule applies. It will always be present.
+          "confidence": 42, # The location confidence level, as an integer percentage, may be required, depending on the regulatory domain. When the parameter is optional and not provided, its value is assumed to be 95. Valid values range from 0 to 99, since, in practice, 100-percent confidence is not achievable. The confidence value is meaningful only when geolocation refers to a point with uncertainty.
+          "region": { # A region is represented using the polygonal shape. # If present, indicates that the geolocation represents a region. Database support for regions is optional.
+            "exterior": [ # When the geolocation describes a region, the exterior field refers to a list of latitude/longitude points that represent the vertices of a polygon. The first and last points must be the same. Thus, a minimum of four points is required. The following polygon restrictions from RFC5491 apply:
+                # - A connecting line shall not cross another connecting line of the same polygon.
+                # - The vertices must be defined in a counterclockwise order.
+                # - The edges of a polygon are defined by the shortest path between two points in space (not a geodesic curve). Consequently, the length between two adjacent vertices should be restricted to a maximum of 130 km.
+                # - All vertices are assumed to be at the same altitude.
+                # - Polygon shapes should be restricted to a maximum of 15 vertices (16 points that include the repeated vertex).
+              { # A single geolocation on the globe.
+                "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+                "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+              },
+            ],
+          },
+          "point": { # A "point" with uncertainty is represented using the Ellipse shape. # If present, indicates that the geolocation represents a point. Paradoxically, a point is parameterized using an ellipse, where the center represents the location of the point and the distances along the major and minor axes represent the uncertainty. The uncertainty values may be required, depending on the regulatory domain.
+            "semiMajorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the major axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+            "center": { # A single geolocation on the globe. # A required geo-spatial point representing the center of the ellipse.
+              "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+              "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+            },
+            "semiMinorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the minor axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+            "orientation": 3.14, # A floating-point number that expresses the orientation of the ellipse, representing the rotation, in degrees, of the semi-major axis from North towards the East. For example, when the uncertainty is greatest along the North-South direction, orientation is 0 degrees; conversely, if the uncertainty is greatest along the East-West direction, orientation is 90 degrees. When orientation is not present, the orientation is assumed to be 0.
+          },
+        },
+      },
+    ],
+    "needsSpectrumReport": True or False, # For regulatory domains that require a spectrum-usage report from devices, the database must return true for this parameter if the geo-spectrum schedules list is not empty; otherwise, the database should either return false or omit this parameter. If this parameter is present and its value is true, the device must send a spectrum use notify message to the database; otherwise, the device should not send the notification.
+    "maxTotalBwHz": 3.14, # The database may return a constraint on the allowed maximum total bandwidth (in Hertz), which does not need to be contiguous. A regulatory domain may require the database to return this parameter. When this parameter is present in the available spectrum batch response, the device must apply this constraint to its spectrum-selection logic to ensure that total bandwidth does not exceed this value.
+    "rulesetInfo": { # This contains parameters for the ruleset of a regulatory domain that is communicated using the initialization and available-spectrum processes. # The database should return ruleset information, which identifies the applicable regulatory authority and ruleset for the available spectrum batch response. If included, the device must use the corresponding ruleset to interpret the response. Values provided in the returned ruleset information, such as maxLocationChange, take precedence over any conflicting values provided in the ruleset information returned in a prior initialization response sent by the database to the device.
+      "rulesetIds": [ # The identifiers of the rulesets supported for the device's location. The database should include at least one applicable ruleset in the initialization response. The device may use the ruleset identifiers to determine parameters to include in subsequent requests. Within the context of the available-spectrum responses, the database should include the identifier of the ruleset that it used to determine the available-spectrum response. If included, the device must use the specified ruleset to interpret the response. If the device does not support the indicated ruleset, it must not operate in the spectrum governed by the ruleset.
+        "A String",
+      ],
+      "maxPollingSecs": 42, # The maximum duration, in seconds, between requests for available spectrum. It is required in the initialization response, but optional otherwise. The device must contact the database to get available spectrum no less frequently than this duration. If the new spectrum information indicates that the device is using spectrum that is no longer available, it must immediately cease use of those frequencies under rules for database-managed spectrum. If this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response.
+      "maxLocationChange": 3.14, # The maximum location change in meters is required in the initialization response, but optional otherwise. When the device changes location by more than this specified distance, it must contact the database to get the available spectrum for the new location. If the device is using spectrum that is no longer available, it must immediately cease use of the spectrum under rules for database-managed spectrum. If this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response.
+      "authority": "A String", # The regulatory domain to which the ruleset belongs is required. It must be a 2-letter country code. The device should use this to determine additional device behavior required by the associated regulatory domain.
+    },
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        #
+        # Required field.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="init">init(body)</code>
+  <pre>Initializes the connection between a white space device and the database.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The initialization request message allows the master device to initiate exchange of capabilities with the database.
+    "deviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # The DeviceDescriptor parameter is required. If the database does not support the device or any of the rulesets specified in the device descriptor, it must return an UNSUPPORTED error code in the error response.
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        # 
+        # Required field.
+    "location": { # This parameter is used to specify the geolocation of the device. # A device's geolocation is required.
+      "confidence": 42, # The location confidence level, as an integer percentage, may be required, depending on the regulatory domain. When the parameter is optional and not provided, its value is assumed to be 95. Valid values range from 0 to 99, since, in practice, 100-percent confidence is not achievable. The confidence value is meaningful only when geolocation refers to a point with uncertainty.
+      "region": { # A region is represented using the polygonal shape. # If present, indicates that the geolocation represents a region. Database support for regions is optional.
+        "exterior": [ # When the geolocation describes a region, the exterior field refers to a list of latitude/longitude points that represent the vertices of a polygon. The first and last points must be the same. Thus, a minimum of four points is required. The following polygon restrictions from RFC5491 apply:
+            # - A connecting line shall not cross another connecting line of the same polygon.
+            # - The vertices must be defined in a counterclockwise order.
+            # - The edges of a polygon are defined by the shortest path between two points in space (not a geodesic curve). Consequently, the length between two adjacent vertices should be restricted to a maximum of 130 km.
+            # - All vertices are assumed to be at the same altitude.
+            # - Polygon shapes should be restricted to a maximum of 15 vertices (16 points that include the repeated vertex).
+          { # A single geolocation on the globe.
+            "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+            "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          },
+        ],
+      },
+      "point": { # A "point" with uncertainty is represented using the Ellipse shape. # If present, indicates that the geolocation represents a point. Paradoxically, a point is parameterized using an ellipse, where the center represents the location of the point and the distances along the major and minor axes represent the uncertainty. The uncertainty values may be required, depending on the regulatory domain.
+        "semiMajorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the major axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+        "center": { # A single geolocation on the globe. # A required geo-spatial point representing the center of the ellipse.
+          "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+        },
+        "semiMinorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the minor axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+        "orientation": 3.14, # A floating-point number that expresses the orientation of the ellipse, representing the rotation, in degrees, of the semi-major axis from North towards the East. For example, when the uncertainty is greatest along the North-South direction, orientation is 0 degrees; conversely, if the uncertainty is greatest along the East-West direction, orientation is 90 degrees. When orientation is not present, the orientation is assumed to be 0.
+      },
+    },
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        # 
+        # Required field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The initialization response message communicates database parameters to the requesting device.
+    "databaseChange": { # This message is provided by the database to notify devices of an upcoming change to the database URI. # A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs.
+      "databases": [ # A required list of one or more databases. A device should update its preconfigured list of databases to replace (only) the database that provided the response with the specified entries.
+        { # This message contains the name and URI of a database.
+          "name": "A String", # The display name for a database.
+          "uri": "A String", # The corresponding URI of the database.
+        },
+      ],
+    },
+    "kind": "spectrum#pawsInitResponse", # Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsInitResponse".
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        #
+        # Required field.
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        #
+        # Required field.
+    "rulesetInfo": { # This contains parameters for the ruleset of a regulatory domain that is communicated using the initialization and available-spectrum processes. # The rulesetInfo parameter must be included in the response. This parameter specifies the regulatory domain and parameters applicable to that domain. The database must include the authority field, which defines the regulatory domain for the location specified in the INIT_REQ message.
+      "rulesetIds": [ # The identifiers of the rulesets supported for the device's location. The database should include at least one applicable ruleset in the initialization response. The device may use the ruleset identifiers to determine parameters to include in subsequent requests. Within the context of the available-spectrum responses, the database should include the identifier of the ruleset that it used to determine the available-spectrum response. If included, the device must use the specified ruleset to interpret the response. If the device does not support the indicated ruleset, it must not operate in the spectrum governed by the ruleset.
+        "A String",
+      ],
+      "maxPollingSecs": 42, # The maximum duration, in seconds, between requests for available spectrum. It is required in the initialization response, but optional otherwise. The device must contact the database to get available spectrum no less frequently than this duration. If the new spectrum information indicates that the device is using spectrum that is no longer available, it must immediately cease use of those frequencies under rules for database-managed spectrum. If this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response.
+      "maxLocationChange": 3.14, # The maximum location change in meters is required in the initialization response, but optional otherwise. When the device changes location by more than this specified distance, it must contact the database to get the available spectrum for the new location. If the device is using spectrum that is no longer available, it must immediately cease use of the spectrum under rules for database-managed spectrum. If this value is provided within the context of an available-spectrum response, it takes precedence over the value within the initialization response.
+      "authority": "A String", # The regulatory domain to which the ruleset belongs is required. It must be a 2-letter country code. The device should use this to determine additional device behavior required by the associated regulatory domain.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="notifySpectrumUse">notifySpectrumUse(body)</code>
+  <pre>Notifies the database that the device has selected certain frequency ranges for transmission. Only to be invoked when required by the regulator. The Google Spectrum Database does not operate in domains that require notification, so this always yields an UNIMPLEMENTED error.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The spectrum-use notification message which must contain the geolocation of the Device and parameters required by the regulatory domain.
+    "deviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # Device descriptor information is required in the spectrum-use notification message.
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        # 
+        # Required field.
+    "location": { # This parameter is used to specify the geolocation of the device. # The geolocation of the master device (the device that is sending the spectrum-use notification) to the database is required in the spectrum-use notification message.
+      "confidence": 42, # The location confidence level, as an integer percentage, may be required, depending on the regulatory domain. When the parameter is optional and not provided, its value is assumed to be 95. Valid values range from 0 to 99, since, in practice, 100-percent confidence is not achievable. The confidence value is meaningful only when geolocation refers to a point with uncertainty.
+      "region": { # A region is represented using the polygonal shape. # If present, indicates that the geolocation represents a region. Database support for regions is optional.
+        "exterior": [ # When the geolocation describes a region, the exterior field refers to a list of latitude/longitude points that represent the vertices of a polygon. The first and last points must be the same. Thus, a minimum of four points is required. The following polygon restrictions from RFC5491 apply:
+            # - A connecting line shall not cross another connecting line of the same polygon.
+            # - The vertices must be defined in a counterclockwise order.
+            # - The edges of a polygon are defined by the shortest path between two points in space (not a geodesic curve). Consequently, the length between two adjacent vertices should be restricted to a maximum of 130 km.
+            # - All vertices are assumed to be at the same altitude.
+            # - Polygon shapes should be restricted to a maximum of 15 vertices (16 points that include the repeated vertex).
+          { # A single geolocation on the globe.
+            "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+            "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          },
+        ],
+      },
+      "point": { # A "point" with uncertainty is represented using the Ellipse shape. # If present, indicates that the geolocation represents a point. Paradoxically, a point is parameterized using an ellipse, where the center represents the location of the point and the distances along the major and minor axes represent the uncertainty. The uncertainty values may be required, depending on the regulatory domain.
+        "semiMajorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the major axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+        "center": { # A single geolocation on the globe. # A required geo-spatial point representing the center of the ellipse.
+          "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+        },
+        "semiMinorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the minor axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+        "orientation": 3.14, # A floating-point number that expresses the orientation of the ellipse, representing the rotation, in degrees, of the semi-major axis from North towards the East. For example, when the uncertainty is greatest along the North-South direction, orientation is 0 degrees; conversely, if the uncertainty is greatest along the East-West direction, orientation is 90 degrees. When orientation is not present, the orientation is assumed to be 0.
+      },
+    },
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        # 
+        # Required field.
+    "spectra": [ # A spectrum list is required in the spectrum-use notification. The list specifies the spectrum that the device expects to use, which includes frequency ranges and maximum power levels. The list may be empty if the device decides not to use any of spectrum. For consistency, the psdBandwidthHz value should match that from one of the spectrum elements in the corresponding available spectrum response previously sent to the device by the database. Note that maximum power levels in the spectrum element must be expressed as power spectral density over the specified psdBandwidthHz value. The actual bandwidth to be used (as computed from the start and stop frequencies) may be different from the psdBandwidthHz value. As an example, when regulatory rules express maximum power spectral density in terms of maximum power over any 100 kHz band, then the psdBandwidthHz value should be set to 100 kHz, even though the actual bandwidth used can be 20 kHz.
+      { # Available spectrum can be logically characterized by a list of frequency ranges and permissible power levels for each range.
+        "bandwidth": 3.14, # The bandwidth (in Hertz) for which permissible power levels are specified. For example, FCC regulation would require only one spectrum specification at 6MHz bandwidth, but Ofcom regulation would require two specifications, at 0.1MHz and 8MHz. This parameter may be empty if there is no available spectrum. It will be present otherwise.
+        "frequencyRanges": [ # The list of frequency ranges and permissible power levels. The list may be empty if there is no available spectrum, otherwise it will be present.
+          { # A specific range of frequencies together with the associated maximum power level and channel identifier.
+            "startHz": 3.14, # The required inclusive start of the frequency range (in Hertz).
+            "channelId": "A String", # The database may include a channel identifier, when applicable. When it is included, the device should treat it as informative. The length of the identifier should not exceed 16 characters.
+            "stopHz": 3.14, # The required exclusive end of the frequency range (in Hertz).
+            "maxPowerDBm": 3.14, # The maximum total power level (EIRP)—computed over the corresponding operating bandwidth—that is permitted within the frequency range. Depending on the context in which the frequency-range element appears, this value may be required. For example, it is required in the available-spectrum response, available-spectrum-batch response, and spectrum-use notification message, but it should not be present (it is not applicable) when the frequency range appears inside a device-capabilities message.
+          },
+        ],
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An empty response to the notification.
+    "kind": "spectrum#pawsNotifySpectrumUseResponse", # Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsNotifySpectrumUseResponse".
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        #
+        # Required field.
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        #
+        # Required field.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="register">register(body)</code>
+  <pre>The Google Spectrum Database implements registration in the getSpectrum method. As such this always returns an UNIMPLEMENTED error.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The registration request message contains the required registration parameters.
+    "deviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # A DeviceDescriptor is required.
+      "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+          #
+          # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+        "A String",
+      ],
+      "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+      "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+      "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+      "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+      "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+      "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+      "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+      "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+      "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+    },
+    "antenna": { # Antenna characteristics provide additional information, such as the antenna height, antenna type, etc. Whether antenna characteristics must be provided in a request depends on the device type and regulatory domain. # Antenna characteristics, including its height and height type.
+      "heightType": "A String", # If the height is required, then the height type (AGL for above ground level or AMSL for above mean sea level) is also required. The default is AGL.
+      "heightUncertainty": 3.14, # The height uncertainty in meters. Whether this is required depends on the regulatory domain.
+      "height": 3.14, # The antenna height in meters. Whether the antenna height is required depends on the device type and the regulatory domain. Note that the height may be negative.
+    },
+    "deviceOwner": { # This parameter contains device-owner information required as part of device registration. The regulatory domains may require additional parameters. # Device owner information is required.
+        #
+        # All contact information must be expressed using the structure defined by the vCard format specification. Only the contact fields of vCard are supported:
+        # - fn: Full name of an individual
+        # - org: Name of the organization
+        # - adr: Address fields
+        # - tel: Telephone numbers
+        # - email: Email addresses
+        #
+        # Note that the vCard specification defines maximum lengths for each field.
+      "operator": { # A vCard-in-JSON message that contains only the fields needed for PAWS: # The vCard contact information for the device operator is optional, but may be required by specific regulatory domains.
+          # - fn: Full name of an individual
+          # - org: Name of the organization
+          # - adr: Address fields
+          # - tel: Telephone numbers
+          # - email: Email addresses
+        "org": { # The structure used to represent an organization and an email address. # The organization associated with the registering entity.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "tel": { # The structure used to represent a telephone number. # A telephone number that can be used to call the contact.
+          "uri": "A String", # A nested telephone URI of the form: tel:+1-123-456-7890.
+        },
+        "adr": { # The structure used to represent a street address. # The street address of the entity.
+          "code": "A String", # The postal code associated with the address. For example: 94423.
+          "locality": "A String", # The city or local equivalent portion of the address. For example: San Jose.
+          "country": "A String", # The country name. For example: US.
+          "region": "A String", # The state or local equivalent portion of the address. For example: CA.
+          "pobox": "A String", # An optional post office box number.
+          "street": "A String", # The street number and name. For example: 123 Any St.
+        },
+        "email": { # The structure used to represent an organization and an email address. # An email address that can be used to reach the contact.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "fn": "A String", # The full name of the contact person. For example: John A. Smith.
+      },
+      "owner": { # A vCard-in-JSON message that contains only the fields needed for PAWS: # The vCard contact information for the individual or business that owns the device is required.
+          # - fn: Full name of an individual
+          # - org: Name of the organization
+          # - adr: Address fields
+          # - tel: Telephone numbers
+          # - email: Email addresses
+        "org": { # The structure used to represent an organization and an email address. # The organization associated with the registering entity.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "tel": { # The structure used to represent a telephone number. # A telephone number that can be used to call the contact.
+          "uri": "A String", # A nested telephone URI of the form: tel:+1-123-456-7890.
+        },
+        "adr": { # The structure used to represent a street address. # The street address of the entity.
+          "code": "A String", # The postal code associated with the address. For example: 94423.
+          "locality": "A String", # The city or local equivalent portion of the address. For example: San Jose.
+          "country": "A String", # The country name. For example: US.
+          "region": "A String", # The state or local equivalent portion of the address. For example: CA.
+          "pobox": "A String", # An optional post office box number.
+          "street": "A String", # The street number and name. For example: 123 Any St.
+        },
+        "email": { # The structure used to represent an organization and an email address. # An email address that can be used to reach the contact.
+          "text": "A String", # The text string associated with this item. For example, for an org field: ACME, inc. For an email field: smith@example.com.
+        },
+        "fn": "A String", # The full name of the contact person. For example: John A. Smith.
+      },
+    },
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        # 
+        # Required field.
+    "location": { # This parameter is used to specify the geolocation of the device. # A device's geolocation is required.
+      "confidence": 42, # The location confidence level, as an integer percentage, may be required, depending on the regulatory domain. When the parameter is optional and not provided, its value is assumed to be 95. Valid values range from 0 to 99, since, in practice, 100-percent confidence is not achievable. The confidence value is meaningful only when geolocation refers to a point with uncertainty.
+      "region": { # A region is represented using the polygonal shape. # If present, indicates that the geolocation represents a region. Database support for regions is optional.
+        "exterior": [ # When the geolocation describes a region, the exterior field refers to a list of latitude/longitude points that represent the vertices of a polygon. The first and last points must be the same. Thus, a minimum of four points is required. The following polygon restrictions from RFC5491 apply:
+            # - A connecting line shall not cross another connecting line of the same polygon.
+            # - The vertices must be defined in a counterclockwise order.
+            # - The edges of a polygon are defined by the shortest path between two points in space (not a geodesic curve). Consequently, the length between two adjacent vertices should be restricted to a maximum of 130 km.
+            # - All vertices are assumed to be at the same altitude.
+            # - Polygon shapes should be restricted to a maximum of 15 vertices (16 points that include the repeated vertex).
+          { # A single geolocation on the globe.
+            "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+            "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          },
+        ],
+      },
+      "point": { # A "point" with uncertainty is represented using the Ellipse shape. # If present, indicates that the geolocation represents a point. Paradoxically, a point is parameterized using an ellipse, where the center represents the location of the point and the distances along the major and minor axes represent the uncertainty. The uncertainty values may be required, depending on the regulatory domain.
+        "semiMajorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the major axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+        "center": { # A single geolocation on the globe. # A required geo-spatial point representing the center of the ellipse.
+          "latitude": 3.14, # A required floating-point number that expresses the latitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+          "longitude": 3.14, # A required floating-point number that expresses the longitude in degrees using the WGS84 datum. For details on this encoding, see the National Imagery and Mapping Agency's Technical Report TR8350.2.
+        },
+        "semiMinorAxis": 3.14, # A floating-point number that expresses the location uncertainty along the minor axis of the ellipse. May be required by the regulatory domain. When the uncertainty is optional, the default value is 0.
+        "orientation": 3.14, # A floating-point number that expresses the orientation of the ellipse, representing the rotation, in degrees, of the semi-major axis from North towards the East. For example, when the uncertainty is greatest along the North-South direction, orientation is 0 degrees; conversely, if the uncertainty is greatest along the East-West direction, orientation is 90 degrees. When orientation is not present, the orientation is assumed to be 0.
+      },
+    },
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        # 
+        # Required field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The registration response message simply acknowledges receipt of the request and is otherwise empty.
+    "databaseChange": { # This message is provided by the database to notify devices of an upcoming change to the database URI. # A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs.
+      "databases": [ # A required list of one or more databases. A device should update its preconfigured list of databases to replace (only) the database that provided the response with the specified entries.
+        { # This message contains the name and URI of a database.
+          "name": "A String", # The display name for a database.
+          "uri": "A String", # The corresponding URI of the database.
+        },
+      ],
+    },
+    "kind": "spectrum#pawsRegisterResponse", # Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsRegisterResponse".
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        #
+        # Required field.
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        #
+        # Required field.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="verifyDevice">verifyDevice(body)</code>
+  <pre>Validates a device for white space use in accordance with regulatory rules. The Google Spectrum Database does not support master/slave configurations, so this always yields an UNIMPLEMENTED error.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The device validation request message.
+    "deviceDescs": [ # A list of device descriptors, which specifies the slave devices to be validated, is required.
+      { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains.
+        "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+            #
+            # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+          "A String",
+        ],
+        "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+        "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+        "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+        "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+        "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+        "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+        "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+        "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+        "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+      },
+    ],
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        # 
+        # Required field.
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        # 
+        # Required field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # The device validation response message.
+    "databaseChange": { # This message is provided by the database to notify devices of an upcoming change to the database URI. # A database may include the databaseChange parameter to notify a device of a change to its database URI, providing one or more alternate database URIs. The device should use this information to update its list of pre-configured databases by (only) replacing its entry for the responding database with the list of alternate URIs.
+      "databases": [ # A required list of one or more databases. A device should update its preconfigured list of databases to replace (only) the database that provided the response with the specified entries.
+        { # This message contains the name and URI of a database.
+          "name": "A String", # The display name for a database.
+          "uri": "A String", # The corresponding URI of the database.
+        },
+      ],
+    },
+    "kind": "spectrum#pawsVerifyDeviceResponse", # Identifies what kind of resource this is. Value: the fixed string "spectrum#pawsVerifyDeviceResponse".
+    "version": "A String", # The PAWS version. Must be exactly 1.0.
+        #
+        # Required field.
+    "deviceValidities": [ # A device validities list is required in the device validation response to report whether each slave device listed in a previous device validation request is valid. The number of entries must match the number of device descriptors listed in the previous device validation request.
+      { # The device validity element describes whether a particular device is valid to operate in the regulatory domain.
+        "isValid": True or False, # The validity status: true if the device is valid for operation, false otherwise. It will always be present.
+        "reason": "A String", # If the device identifier is not valid, the database may include a reason. The reason may be in any language. The length of the value should not exceed 128 characters.
+        "deviceDesc": { # The device descriptor contains parameters that identify the specific device, such as its manufacturer serial number, regulatory-specific identifier (e.g., FCC ID), and any other device characteristics required by regulatory domains. # The descriptor of the device for which the validity check was requested. It will always be present.
+          "rulesetIds": [ # The list of identifiers for rulesets supported by the device. A database may require that the device provide this list before servicing the device requests. If the database does not support any of the rulesets specified in the list, the database may refuse to service the device requests. If present, the list must contain at least one entry.
+              #
+              # For information about the valid requests, see section 9.2 of the PAWS specification. Currently, FccTvBandWhiteSpace-2010 is the only supported ruleset.
+            "A String",
+          ],
+          "etsiEnDeviceType": "A String", # Specifies the ETSI white space device type. Valid values are single-letter strings, such as A, B, etc. Consult the ETSI documentation for details about the device types.
+          "fccId": "A String", # Specifies the device's FCC certification identifier. The value is an identifier string whose length should not exceed 32 characters. Note that, in practice, a valid FCC ID may be limited to 19 characters.
+          "serialNumber": "A String", # The manufacturer's device serial number; required by the applicable regulatory domain. The length of the value must not exceed 64 characters.
+          "etsiEnTechnologyId": "A String", # Specifies the ETSI white space device technology identifier. The string value must not exceed 64 characters in length. Consult the ETSI documentation for details about the device types.
+          "fccTvbdDeviceType": "A String", # Specifies the TV Band White Space device type, as defined by the FCC. Valid values are FIXED, MODE_1, MODE_2.
+          "etsiEnDeviceCategory": "A String", # Specifies the ETSI white space device category. Valid values are the strings master and slave. This field is case-insensitive. Consult the ETSI documentation for details about the device types.
+          "etsiEnDeviceEmissionsClass": "A String", # Specifies the ETSI white space device emissions class. The values are represented by numeric strings, such as 1, 2, etc. Consult the ETSI documentation for details about the device types.
+          "manufacturerId": "A String", # The manufacturer's ID may be required by the regulatory domain. This should represent the name of the device manufacturer, should be consistent across all devices from the same manufacturer, and should be distinct from that of other manufacturers. The string value must not exceed 64 characters in length.
+          "modelId": "A String", # The device's model ID may be required by the regulatory domain. The string value must not exceed 64 characters in length.
+        },
+      },
+    ],
+    "type": "A String", # The message type (e.g., INIT_REQ, AVAIL_SPECTRUM_REQ, ...).
+        #
+        # Required field.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta3.backupRuns.html b/docs/dyn/sqladmin_v1beta3.backupRuns.html
new file mode 100644
index 0000000..19f1276
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta3.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_v1beta3.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta3.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. (required)
+  instance: string, Cloud SQL 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. (required)
+  instance: string, Cloud SQL 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_v1beta3.flags.html b/docs/dyn/sqladmin_v1beta3.flags.html
new file mode 100644
index 0000000..fdaedc4
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta3.flags.html
@@ -0,0 +1,110 @@
+<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_v1beta3.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta3.flags.html">flags</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list()</a></code></p>
+<p class="firstline">List all available database flags for Google Cloud SQL instances.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list()</code>
+  <pre>List all available database flags for Google Cloud SQL instances.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # Flags list response.
+    "items": [ # List of flags.
+      { # A Google Cloud SQL service flag resource.
+        "kind": "sql#flag", # This is always sql#flag.
+        "name": "A String", # This is the name of the flag. Flag names always use underscores, not hyphens, e.g. max_allowed_packet
+        "allowedStringValues": [ # For STRING flags, a list of strings that the value can be set to.
+          "A String",
+        ],
+        "appliesTo": [ # The database version this flag applies to. Currently this can only be [MYSQL_5_5].
+          "A String",
+        ],
+        "maxValue": "A String", # For INTEGER flags, the maximum allowed value.
+        "minValue": "A String", # For INTEGER flags, the minimum allowed value.
+        "type": "A String", # The type of the flag. Flags are typed to being BOOLEAN, STRING, INTEGER or NONE. NONE is used for flags which do not take a value, such as skip_grant_tables.
+      },
+    ],
+    "kind": "sql#flagsList", # This is always sql#flagsList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta3.html b/docs/dyn/sqladmin_v1beta3.html
new file mode 100644
index 0000000..6d997af
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta3.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="sqladmin_v1beta3.html">Cloud SQL Administration API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta3.backupRuns.html">backupRuns()</a></code>
+</p>
+<p class="firstline">Returns the backupRuns Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta3.flags.html">flags()</a></code>
+</p>
+<p class="firstline">Returns the flags Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta3.instances.html">instances()</a></code>
+</p>
+<p class="firstline">Returns the instances Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta3.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta3.sslCerts.html">sslCerts()</a></code>
+</p>
+<p class="firstline">Returns the sslCerts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sqladmin_v1beta3.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_v1beta3.instances.html b/docs/dyn/sqladmin_v1beta3.instances.html
new file mode 100644
index 0000000..c17dcf9
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta3.instances.html
@@ -0,0 +1,786 @@
+<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_v1beta3.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta3.instances.html">instances</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#clone">clone(project, body)</a></code></p>
+<p class="firstline">Creates a Cloud SQL instance as a clone of the source instance.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, instance)</a></code></p>
+<p class="firstline">Deletes a Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#export">export(project, instance, body)</a></code></p>
+<p class="firstline">Exports data from a Cloud SQL 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 Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#import_">import_(project, instance, body)</a></code></p>
+<p class="firstline">Imports data into a Cloud SQL 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 Cloud SQL 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 Cloud SQL 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="#resetSslConfig">resetSslConfig(project, instance)</a></code></p>
+<p class="firstline">Deletes all client certificates and generates a new server SSL certificate for the instance. The changes will not take effect until the instance is restarted. Existing instances without a server certificate will need to call this once to set a server certificate.</p>
+<p class="toc_element">
+  <code><a href="#restart">restart(project, instance)</a></code></p>
+<p class="firstline">Restarts a Cloud SQL 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 Cloud SQL instance.</p>
+<p class="toc_element">
+  <code><a href="#setRootPassword">setRootPassword(project, instance, body)</a></code></p>
+<p class="firstline">Sets the password for the root user.</p>
+<p class="toc_element">
+  <code><a href="#update">update(project, instance, body)</a></code></p>
+<p class="firstline">Updates settings of a Cloud SQL 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="clone">clone(project, body)</code>
+  <pre>Creates a Cloud SQL instance as a clone of the source instance.
+
+Args:
+  project: string, Project ID of the source as well as the clone Cloud SQL instance. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Database instance clone request.
+    "cloneContext": { # Database instance clone context. # Contains details about the clone operation.
+      "sourceInstanceName": "A String", # Name of the Cloud SQL instance to be cloned.
+      "binLogCoordinates": { # Binary log coordinates. # Binary log coordinates, if specified, indentify the the position up to which the source instance should be cloned. If not specified, the source instance is cloned up to the most recent binary log coordintes.
+        "binLogPosition": "A String", # Position (offset) within the binary log file.
+        "kind": "sql#binLogCoordinates", # This is always sql#binLogCoordinates.
+        "binLogFileName": "A String", # Name of the binary log file for a Cloud SQL instance.
+      },
+      "kind": "sql#cloneContext", # This is always sql#cloneContext.
+      "destinationInstanceName": "A String", # Name of the Cloud SQL instance to be created as a clone.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Database instance clone response.
+    "kind": "sql#instancesClone", # This is always sql#instancesClone.
+    "operation": "A String", # An unique identifier for the operation associated with the cloned instance. You can use this identifier to retrieve the Operations resource, which has information about the operation.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, instance)</code>
+  <pre>Deletes a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be deleted. (required)
+  instance: string, Cloud SQL 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 Cloud SQL 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. (required)
+  instance: string, Cloud SQL 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 Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Database instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # A Cloud SQL instance resource.
+      "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+      "kind": "sql#instance", # This is always sql#instance.
+      "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+      "serverCaCert": { # SslCerts Resource # SSL configuration.
+        "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+        "kind": "sql#sslCert", # This is always sql#sslCert.
+        "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+        "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+        "instance": "A String", # Name of the database instance.
+        "cert": "A String", # PEM representation.
+        "expirationTime": "A String", # Time when the certificate expires.
+        "createTime": "A String", # Time when the certificate was created.
+      },
+      "region": "A String", # The geographical region. Can be us-east1, us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+      "settings": { # Database instance settings. # The user settings.
+        "databaseFlags": [ # The database flags passed to the instance at startup.
+          { # MySQL flags for Cloud SQL instances.
+            "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS.) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported. log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off wait_timeout 1..31536000
+            "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+          },
+        ],
+        "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.
+            "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+            "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.
+            "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+          },
+        ],
+        "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+          "enabled": True or False, # Whether the instance should be assigned an IP address or not.
+          "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+          "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+            "A String",
+          ],
+        },
+        "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.
+        "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+        "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an AppEngine app or GCE zone for better perfomance.
+          "kind": "sql#locationPreference", # This is always sql#locationPreference.
+          "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+          "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+        },
+      },
+      "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+      "instance": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+      "state": "A String", # The current serving state of the Cloud SQL 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", # HTTP 1.1 Entity tag for the resource.
+      "ipAddresses": [ # The assigned IP addresses for the instance.
+        { # Database instance IP Mapping.
+          "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+          "ipAddress": "A String", # The IP address assigned.
+        },
+      ],
+      "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 Cloud SQL instance from a MySQL dump file in Google Cloud Storage.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL 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 Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project to which the newly created Cloud SQL instances should belong. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Cloud SQL instance resource.
+    "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "serverCaCert": { # SslCerts Resource # SSL configuration.
+      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+      "kind": "sql#sslCert", # This is always sql#sslCert.
+      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+      "instance": "A String", # Name of the database instance.
+      "cert": "A String", # PEM representation.
+      "expirationTime": "A String", # Time when the certificate expires.
+      "createTime": "A String", # Time when the certificate was created.
+    },
+    "region": "A String", # The geographical region. Can be us-east1, us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+    "settings": { # Database instance settings. # The user settings.
+      "databaseFlags": [ # The database flags passed to the instance at startup.
+        { # MySQL flags for Cloud SQL instances.
+          "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS.) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported. log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off wait_timeout 1..31536000
+          "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+        },
+      ],
+      "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.
+          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+          "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.
+          "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+        },
+      ],
+      "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+        "enabled": True or False, # Whether the instance should be assigned an IP address or not.
+        "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+        "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+          "A String",
+        ],
+      },
+      "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.
+      "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+      "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an AppEngine app or GCE zone for better perfomance.
+        "kind": "sql#locationPreference", # This is always sql#locationPreference.
+        "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+        "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+      },
+    },
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "instance": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+    "state": "A String", # The current serving state of the Cloud SQL 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", # HTTP 1.1 Entity tag for the resource.
+    "ipAddresses": [ # The assigned IP addresses for the instance.
+      { # Database instance IP Mapping.
+        "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+        "ipAddress": "A String", # The IP address assigned.
+      },
+    ],
+    "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 Cloud SQL instances. (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 Cloud SQL instance resource.
+          "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+          "kind": "sql#instance", # This is always sql#instance.
+          "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+          "serverCaCert": { # SslCerts Resource # SSL configuration.
+            "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+            "kind": "sql#sslCert", # This is always sql#sslCert.
+            "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+            "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+            "instance": "A String", # Name of the database instance.
+            "cert": "A String", # PEM representation.
+            "expirationTime": "A String", # Time when the certificate expires.
+            "createTime": "A String", # Time when the certificate was created.
+          },
+          "region": "A String", # The geographical region. Can be us-east1, us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+          "settings": { # Database instance settings. # The user settings.
+            "databaseFlags": [ # The database flags passed to the instance at startup.
+              { # MySQL flags for Cloud SQL instances.
+                "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS.) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported. log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off wait_timeout 1..31536000
+                "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+              },
+            ],
+            "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.
+                "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+                "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.
+                "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+              },
+            ],
+            "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+              "enabled": True or False, # Whether the instance should be assigned an IP address or not.
+              "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+              "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+                "A String",
+              ],
+            },
+            "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.
+            "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+            "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an AppEngine app or GCE zone for better perfomance.
+              "kind": "sql#locationPreference", # This is always sql#locationPreference.
+              "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+              "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+            },
+          },
+          "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+          "instance": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+          "state": "A String", # The current serving state of the Cloud SQL 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", # HTTP 1.1 Entity tag for the resource.
+          "ipAddresses": [ # The assigned IP addresses for the instance.
+            { # Database instance IP Mapping.
+              "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+              "ipAddress": "A String", # The IP address assigned.
+            },
+          ],
+          "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 Cloud SQL 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. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Cloud SQL instance resource.
+    "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "serverCaCert": { # SslCerts Resource # SSL configuration.
+      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+      "kind": "sql#sslCert", # This is always sql#sslCert.
+      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+      "instance": "A String", # Name of the database instance.
+      "cert": "A String", # PEM representation.
+      "expirationTime": "A String", # Time when the certificate expires.
+      "createTime": "A String", # Time when the certificate was created.
+    },
+    "region": "A String", # The geographical region. Can be us-east1, us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+    "settings": { # Database instance settings. # The user settings.
+      "databaseFlags": [ # The database flags passed to the instance at startup.
+        { # MySQL flags for Cloud SQL instances.
+          "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS.) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported. log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off wait_timeout 1..31536000
+          "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+        },
+      ],
+      "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.
+          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+          "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.
+          "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+        },
+      ],
+      "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+        "enabled": True or False, # Whether the instance should be assigned an IP address or not.
+        "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+        "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+          "A String",
+        ],
+      },
+      "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.
+      "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+      "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an AppEngine app or GCE zone for better perfomance.
+        "kind": "sql#locationPreference", # This is always sql#locationPreference.
+        "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+        "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+      },
+    },
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "instance": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+    "state": "A String", # The current serving state of the Cloud SQL 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", # HTTP 1.1 Entity tag for the resource.
+    "ipAddresses": [ # The assigned IP addresses for the instance.
+      { # Database instance IP Mapping.
+        "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+        "ipAddress": "A String", # The IP address assigned.
+      },
+    ],
+    "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="resetSslConfig">resetSslConfig(project, instance)</code>
+  <pre>Deletes all client certificates and generates a new server SSL certificate for the instance. The changes will not take effect until the instance is restarted. Existing instances without a server certificate will need to call this once to set a server certificate.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Database instance resetSslConfig response.
+    "kind": "sql#instancesResetSslConfig", # This is always sql#instancesResetSslConfig.
+    "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. All ssl client certificates will be deleted and a new server certificate will be created. Does not take effect until the next instance restart.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="restart">restart(project, instance)</code>
+  <pre>Restarts a Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be restarted. (required)
+  instance: string, Cloud SQL 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 Cloud SQL instance.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL 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="setRootPassword">setRootPassword(project, instance, body)</code>
+  <pre>Sets the password for the root user.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Database instance set root password request.
+    "setRootPasswordContext": { # Database instance set root password context. # Set Root Password Context.
+      "kind": "sql#setRootUserContext", # This is always sql#setRootUserContext.
+      "password": "A String", # The password for the root user.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Database instance set root password response.
+    "kind": "sql#instancesSetRootPassword", # This is always sql#instancesSetRootPassword.
+    "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 Cloud SQL 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. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Cloud SQL instance resource.
+    "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.
+    "kind": "sql#instance", # This is always sql#instance.
+    "maxDiskSize": "A String", # The maximum disk size of the instance in bytes.
+    "serverCaCert": { # SslCerts Resource # SSL configuration.
+      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+      "kind": "sql#sslCert", # This is always sql#sslCert.
+      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+      "instance": "A String", # Name of the database instance.
+      "cert": "A String", # PEM representation.
+      "expirationTime": "A String", # Time when the certificate expires.
+      "createTime": "A String", # Time when the certificate was created.
+    },
+    "region": "A String", # The geographical region. Can be us-east1, us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation.
+    "settings": { # Database instance settings. # The user settings.
+      "databaseFlags": [ # The database flags passed to the instance at startup.
+        { # MySQL flags for Cloud SQL instances.
+          "name": "A String", # The name of the flag. These flags are passed at instance startup, so include both MySQL server options and MySQL system variables. Flags should be specified with underscores, not hyphens. Refer to the official MySQL documentation on server options and system variables for descriptions of what these flags do. Acceptable values are:  event_scheduler on or off (Note: The event scheduler will only work reliably if the instance activationPolicy is set to ALWAYS.) general_log on or off group_concat_max_len 4..17179869184 innodb_flush_log_at_trx_commit 0..2 innodb_lock_wait_timeout 1..1073741824 log_bin_trust_function_creators on or off log_output Can be either TABLE or NONE, FILE is not supported. log_queries_not_using_indexes on or off long_query_time 0..30000000 lower_case_table_names 0..2 max_allowed_packet 16384..1073741824 read_only on or off skip_show_database on or off slow_query_log on or off wait_timeout 1..31536000
+          "value": "A String", # The value of the flag. Booleans should be set using 1 for true, and 0 for false. This field must be omitted if the flag doesn't take a value.
+        },
+      ],
+      "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.
+          "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM.
+          "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.
+          "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well.
+        },
+      ],
+      "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance.
+        "enabled": True or False, # Whether the instance should be assigned an IP address or not.
+        "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP.
+        "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
+          "A String",
+        ],
+      },
+      "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.
+      "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value.
+      "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an AppEngine app or GCE zone for better perfomance.
+        "kind": "sql#locationPreference", # This is always sql#locationPreference.
+        "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
+        "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance.
+      },
+    },
+    "currentDiskSize": "A String", # The current disk usage of the instance in bytes.
+    "instance": "A String", # Name of the Cloud SQL instance. This does not include the project ID.
+    "state": "A String", # The current serving state of the Cloud SQL 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", # HTTP 1.1 Entity tag for the resource.
+    "ipAddresses": [ # The assigned IP addresses for the instance.
+      { # Database instance IP Mapping.
+        "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired.
+        "ipAddress": "A String", # The IP address assigned.
+      },
+    ],
+    "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_v1beta3.operations.html b/docs/dyn/sqladmin_v1beta3.operations.html
new file mode 100644
index 0000000..e5e528f
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta3.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_v1beta3.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta3.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 Cloud SQL 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. (required)
+  instance: string, Cloud SQL 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 Cloud SQL instance in the reverse chronological order of the start time.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL 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_v1beta3.sslCerts.html b/docs/dyn/sqladmin_v1beta3.sslCerts.html
new file mode 100644
index 0000000..939ed82
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta3.sslCerts.html
@@ -0,0 +1,206 @@
+<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_v1beta3.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta3.sslCerts.html">sslCerts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, instance, sha1Fingerprint)</a></code></p>
+<p class="firstline">Deletes the SSL certificate. The change will not take effect until the instance is restarted.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, instance, sha1Fingerprint)</a></code></p>
+<p class="firstline">Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, instance, body)</a></code></p>
+<p class="firstline">Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, instance)</a></code></p>
+<p class="firstline">Lists all of the current SSL certificates for the instance.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, instance, sha1Fingerprint)</code>
+  <pre>Deletes the SSL certificate. The change will not take effect until the instance is restarted.
+
+Args:
+  project: string, Project ID of the project that contains the instance to be deleted. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  sha1Fingerprint: string, Sha1 FingerPrint. (required)
+
+Returns:
+  An object of the form:
+
+    { # SslCert delete response.
+    "kind": "sql#sslCertsDelete", # This is always sql#sslCertsDelete.
+    "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, sha1Fingerprint)</code>
+  <pre>Retrieves a particular SSL certificate. Does not include the private key (required for usage). The private key must be saved from the response to initial creation.
+
+Args:
+  project: string, Project ID of the project that contains the instance. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  sha1Fingerprint: string, Sha1 FingerPrint. (required)
+
+Returns:
+  An object of the form:
+
+    { # SslCerts Resource
+    "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+    "kind": "sql#sslCert", # This is always sql#sslCert.
+    "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+    "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+    "instance": "A String", # Name of the database instance.
+    "cert": "A String", # PEM representation.
+    "expirationTime": "A String", # Time when the certificate expires.
+    "createTime": "A String", # Time when the certificate was created.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, instance, body)</code>
+  <pre>Creates an SSL certificate and returns it along with the private key and server certificate authority. The new certificate will not be usable until the instance is restarted.
+
+Args:
+  project: string, Project ID of the project to which the newly created Cloud SQL instances should belong. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SslCerts insert request.
+    "commonName": "A String", # User supplied name. Must be a distinct name from the other certificates for this instance. New certificates will not be usable until the instance is restarted.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # SslCert insert response.
+    "kind": "sql#sslCertsInsert", # This is always sql#sslCertsInsert.
+    "clientCert": { # SslCertDetail. # The new client certificate and private key. The new certificate will not work until the instance is restarted.
+      "certPrivateKey": "A String", # The private key for the client cert, in pem format. Keep private in order to protect your security.
+      "certInfo": { # SslCerts Resource # The public information about the cert.
+        "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+        "kind": "sql#sslCert", # This is always sql#sslCert.
+        "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+        "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+        "instance": "A String", # Name of the database instance.
+        "cert": "A String", # PEM representation.
+        "expirationTime": "A String", # Time when the certificate expires.
+        "createTime": "A String", # Time when the certificate was created.
+      },
+    },
+    "serverCaCert": { # SslCerts Resource # The server Certificate Authority's certificate. If this is missing you can force a new one to be generated by calling resetSslConfig method on instances resource..
+      "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+      "kind": "sql#sslCert", # This is always sql#sslCert.
+      "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+      "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+      "instance": "A String", # Name of the database instance.
+      "cert": "A String", # PEM representation.
+      "expirationTime": "A String", # Time when the certificate expires.
+      "createTime": "A String", # Time when the certificate was created.
+    },
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, instance)</code>
+  <pre>Lists all of the current SSL certificates for the instance.
+
+Args:
+  project: string, Project ID of the project for which to list Cloud SQL instances. (required)
+  instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # SslCerts list response.
+    "items": [ # List of client certificates for the instance.
+      { # SslCerts Resource
+        "certSerialNumber": "A String", # Serial number, as extracted from the certificate.
+        "kind": "sql#sslCert", # This is always sql#sslCert.
+        "sha1Fingerprint": "A String", # Sha1 Fingerprint.
+        "commonName": "A String", # User supplied name. Constrained to [a-zA-Z.-_ ]+.
+        "instance": "A String", # Name of the database instance.
+        "cert": "A String", # PEM representation.
+        "expirationTime": "A String", # Time when the certificate expires.
+        "createTime": "A String", # Time when the certificate was created.
+      },
+    ],
+    "kind": "sql#sslCertsList", # This is always sql#sslCertsList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sqladmin_v1beta3.tiers.html b/docs/dyn/sqladmin_v1beta3.tiers.html
new file mode 100644
index 0000000..b232569
--- /dev/null
+++ b/docs/dyn/sqladmin_v1beta3.tiers.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="sqladmin_v1beta3.html">Cloud SQL Administration API</a> . <a href="sqladmin_v1beta3.tiers.html">tiers</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(project)</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(project)</code>
+  <pre>Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related information, see Pricing.
+
+Args:
+  project: string, Project ID of the project for which to list tiers. (required)
+
+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, europe-west1, or asia-east1.
+          "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..b150aea
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.bucketAccessControls.html
@@ -0,0 +1,362 @@
+<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, user-emailAddress, group-groupId, group-emailAddress, 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, user-emailAddress, group-groupId, group-emailAddress, 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
+          # - domain-domain
+          # - allUsers
+          # - allAuthenticatedUsers Examples:
+          # - The user liz@example.com would be user-liz@example.com.
+          # - The group example@googlegroups.com would be group-example@googlegroups.com.
+          # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+      "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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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
+          # - domain-domain
+          # - allUsers
+          # - allAuthenticatedUsers Examples:
+          # - The user liz@example.com would be user-liz@example.com.
+          # - The group example@googlegroups.com would be group-example@googlegroups.com.
+          # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+      "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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, user-emailAddress, group-groupId, group-emailAddress, 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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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
+          # - domain-domain
+          # - allUsers
+          # - allAuthenticatedUsers Examples:
+          # - The user liz@example.com would be user-liz@example.com.
+          # - The group example@googlegroups.com would be group-example@googlegroups.com.
+          # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+      "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, user-emailAddress, group-groupId, group-emailAddress, 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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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
+          # - domain-domain
+          # - allUsers
+          # - allAuthenticatedUsers Examples:
+          # - The user liz@example.com would be user-liz@example.com.
+          # - The group example@googlegroups.com would be group-example@googlegroups.com.
+          # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+      "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..968b224
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.buckets.html
@@ -0,0 +1,1070 @@
+<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
+                # - domain-domain
+                # - allUsers
+                # - allAuthenticatedUsers Examples:
+                # - The user liz@example.com would be user-liz@example.com.
+                # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+            "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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
+                # - domain-domain
+                # - allUsers
+                # - allAuthenticatedUsers Examples:
+                # - The user liz@example.com would be user-liz@example.com.
+                # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+            "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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
+                    # - domain-domain
+                    # - allUsers
+                    # - allAuthenticatedUsers Examples:
+                    # - The user liz@example.com would be user-liz@example.com.
+                    # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                    # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+                "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
+                  # - domain-domain
+                  # - allUsers
+                  # - allAuthenticatedUsers Examples:
+                  # - The user liz@example.com would be user-liz@example.com.
+                  # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                  # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+              "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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
+                # - domain-domain
+                # - allUsers
+                # - allAuthenticatedUsers Examples:
+                # - The user liz@example.com would be user-liz@example.com.
+                # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+            "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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
+                # - domain-domain
+                # - allUsers
+                # - allAuthenticatedUsers Examples:
+                # - The user liz@example.com would be user-liz@example.com.
+                # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+            "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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..c8fc6e2
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.channels.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> . <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">Stop watching resources through this channel</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="stop">stop(body)</code>
+  <pre>Stop watching resources through this channel
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An notification channel used to watch for resource changes.
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this 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..4639e15
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.defaultObjectAccessControls.html
@@ -0,0 +1,357 @@
+<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, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</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, user-emailAddress, group-groupId, group-emailAddress, 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, user-emailAddress, group-groupId, group-emailAddress, 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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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
+      # - domain-domain
+      # - allUsers
+      # - allAuthenticatedUsers Examples:
+      # - The user liz@example.com would be user-liz@example.com.
+      # - The group example@googlegroups.com would be group-example@googlegroups.com.
+      # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+  "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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)</code>
+  <pre>Retrieves default object ACL entries on the specified bucket.
+
+Args:
+  bucket: string, Name of a bucket. (required)
+  ifMetagenerationMatch: string, Makes the operation conditional on whether the destination object's current metageneration matches the given value.
+  ifMetagenerationNotMatch: string, Makes the operation conditional on whether the destination object's current metageneration does not match the given value.
+
+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, user-emailAddress, group-groupId, group-emailAddress, 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
+      # - domain-domain
+      # - allUsers
+      # - allAuthenticatedUsers Examples:
+      # - The user liz@example.com would be user-liz@example.com.
+      # - The group example@googlegroups.com would be group-example@googlegroups.com.
+      # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+  "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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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, user-emailAddress, group-groupId, group-emailAddress, 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
+      # - domain-domain
+      # - allUsers
+      # - allAuthenticatedUsers Examples:
+      # - The user liz@example.com would be user-liz@example.com.
+      # - The group example@googlegroups.com would be group-example@googlegroups.com.
+      # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+  "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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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..85c5a08
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.objectAccessControls.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="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, user-emailAddress, group-groupId, group-emailAddress, 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, user-emailAddress, group-groupId, group-emailAddress, 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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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
+      # - domain-domain
+      # - allUsers
+      # - allAuthenticatedUsers Examples:
+      # - The user liz@example.com would be user-liz@example.com.
+      # - The group example@googlegroups.com would be group-example@googlegroups.com.
+      # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+  "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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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, user-emailAddress, group-groupId, group-emailAddress, 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
+      # - domain-domain
+      # - allUsers
+      # - allAuthenticatedUsers Examples:
+      # - The user liz@example.com would be user-liz@example.com.
+      # - The group example@googlegroups.com would be group-example@googlegroups.com.
+      # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+  "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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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, user-emailAddress, group-groupId, group-emailAddress, 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
+      # - domain-domain
+      # - allUsers
+      # - allAuthenticatedUsers Examples:
+      # - The user liz@example.com would be user-liz@example.com.
+      # - The group example@googlegroups.com would be group-example@googlegroups.com.
+      # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+  "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
+        # - domain-domain
+        # - allUsers
+        # - allAuthenticatedUsers Examples:
+        # - The user liz@example.com would be user-liz@example.com.
+        # - The group example@googlegroups.com would be group-example@googlegroups.com.
+        # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+    "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..cd957d7
--- /dev/null
+++ b/docs/dyn/storage_v1beta2.objects.html
@@ -0,0 +1,1436 @@
+<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
+                # - domain-domain
+                # - allUsers
+                # - allAuthenticatedUsers Examples:
+                # - The user liz@example.com would be user-liz@example.com.
+                # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+            "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.
+        "contentDisposition": "A String", # Content-Disposition 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.
+        "storageClass": "A String", # Storage class of the object.
+        "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": { # Conditions that must be met for this operation to execute.
+          "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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.
+      "contentDisposition": "A String", # Content-Disposition 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.
+      "storageClass": "A String", # Storage class of the object.
+      "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
+                # - domain-domain
+                # - allUsers
+                # - allAuthenticatedUsers Examples:
+                # - The user liz@example.com would be user-liz@example.com.
+                # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+            "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.
+        "contentDisposition": "A String", # Content-Disposition 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.
+        "storageClass": "A String", # Storage class of the object.
+        "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": { # Conditions that must be met for this operation to execute.
+          "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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.
+    "contentDisposition": "A String", # Content-Disposition 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.
+    "storageClass": "A String", # Storage class of the object.
+    "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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.
+      "contentDisposition": "A String", # Content-Disposition 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.
+      "storageClass": "A String", # Storage class of the object.
+      "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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.
+    "contentDisposition": "A String", # Content-Disposition 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.
+    "storageClass": "A String", # Storage class of the object.
+    "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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.
+      "contentDisposition": "A String", # Content-Disposition 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.
+      "storageClass": "A String", # Storage class of the object.
+      "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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.
+    "contentDisposition": "A String", # Content-Disposition 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.
+    "storageClass": "A String", # Storage class of the object.
+    "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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.
+      "contentDisposition": "A String", # Content-Disposition 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.
+      "storageClass": "A String", # Storage class of the object.
+      "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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.
+    "contentDisposition": "A String", # Content-Disposition 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.
+    "storageClass": "A String", # Storage class of the object.
+    "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
+                  # - domain-domain
+                  # - allUsers
+                  # - allAuthenticatedUsers Examples:
+                  # - The user liz@example.com would be user-liz@example.com.
+                  # - The group example@googlegroups.com would be group-example@googlegroups.com.
+                  # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+              "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.
+          "contentDisposition": "A String", # Content-Disposition 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.
+          "storageClass": "A String", # Storage class of the object.
+          "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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.
+    "contentDisposition": "A String", # Content-Disposition 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.
+    "storageClass": "A String", # Storage class of the object.
+    "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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.
+      "contentDisposition": "A String", # Content-Disposition 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.
+      "storageClass": "A String", # Storage class of the object.
+      "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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.
+    "contentDisposition": "A String", # Content-Disposition 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.
+    "storageClass": "A String", # Storage class of the object.
+    "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
+              # - domain-domain
+              # - allUsers
+              # - allAuthenticatedUsers Examples:
+              # - The user liz@example.com would be user-liz@example.com.
+              # - The group example@googlegroups.com would be group-example@googlegroups.com.
+              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+          "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.
+      "contentDisposition": "A String", # Content-Disposition 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.
+      "storageClass": "A String", # Storage class of the object.
+      "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
+            # - domain-domain
+            # - allUsers
+            # - allAuthenticatedUsers Examples:
+            # - The user liz@example.com would be user-liz@example.com.
+            # - The group example@googlegroups.com would be group-example@googlegroups.com.
+            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
+        "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.
+    "contentDisposition": "A String", # Content-Disposition 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.
+    "storageClass": "A String", # Storage class of the object.
+    "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:
+
+{ # An notification channel used to watch for resource changes.
+    "resourceUri": "A String", # A version-specific identifier for the watched resource.
+    "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+    "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+    "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+    "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+    "params": { # Additional parameters controlling delivery channel behavior. Optional.
+      "a_key": "A String", # Declares a new parameter by name.
+    },
+    "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+    "address": "A String", # The address where notifications are delivered for this channel.
+    "type": "A String", # The type of delivery mechanism used for this channel.
+    "id": "A String", # A UUID or similar unique string that identifies this 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:
+
+    { # An notification channel used to watch for resource changes.
+      "resourceUri": "A String", # A version-specific identifier for the watched resource.
+      "kind": "api#channel", # Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string "api#channel".
+      "resourceId": "A String", # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
+      "payload": True or False, # A Boolean value to indicate whether payload is wanted. Optional.
+      "token": "A String", # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
+      "params": { # Additional parameters controlling delivery channel behavior. Optional.
+        "a_key": "A String", # Declares a new parameter by name.
+      },
+      "expiration": "A String", # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
+      "address": "A String", # The address where notifications are delivered for this channel.
+      "type": "A String", # The type of delivery mechanism used for this channel.
+      "id": "A String", # A UUID or similar unique string that identifies this channel.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/taskqueue_v1beta2.html b/docs/dyn/taskqueue_v1beta2.html
new file mode 100644
index 0000000..243bcdf
--- /dev/null
+++ b/docs/dyn/taskqueue_v1beta2.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="taskqueue_v1beta2.html">TaskQueue API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="taskqueue_v1beta2.taskqueues.html">taskqueues()</a></code>
+</p>
+<p class="firstline">Returns the taskqueues Resource.</p>
+
+<p class="toc_element">
+  <code><a href="taskqueue_v1beta2.tasks.html">tasks()</a></code>
+</p>
+<p class="firstline">Returns the tasks Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/taskqueue_v1beta2.taskqueues.html b/docs/dyn/taskqueue_v1beta2.taskqueues.html
new file mode 100644
index 0000000..3b78252
--- /dev/null
+++ b/docs/dyn/taskqueue_v1beta2.taskqueues.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="taskqueue_v1beta2.html">TaskQueue API</a> . <a href="taskqueue_v1beta2.taskqueues.html">taskqueues</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(project, taskqueue, getStats=None)</a></code></p>
+<p class="firstline">Get detailed information about a TaskQueue.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(project, taskqueue, getStats=None)</code>
+  <pre>Get detailed information about a TaskQueue.
+
+Args:
+  project: string, The project under which the queue lies. (required)
+  taskqueue: string, The id of the taskqueue to get the properties of. (required)
+  getStats: boolean, Whether to get stats. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+    "kind": "taskqueues#taskqueue", # The kind of REST object returned, in this case taskqueue.
+    "stats": { # Statistics for the TaskQueue object in question.
+      "oldestTask": "A String", # The timestamp (in seconds since the epoch) of the oldest unfinished task.
+      "leasedLastMinute": "A String", # Number of tasks leased in the last minute.
+      "totalTasks": 42, # Number of tasks in the queue.
+      "leasedLastHour": "A String", # Number of tasks leased in the last hour.
+    },
+    "id": "A String", # Name of the taskqueue.
+    "maxLeases": 42, # The number of times we should lease out tasks before giving up on them. If unset we lease them out forever until a worker deletes the task.
+    "acl": { # ACLs that are applicable to this TaskQueue object.
+      "consumerEmails": [ # Email addresses of users who can "consume" tasks from the TaskQueue. This means they can Dequeue and Delete tasks from the queue.
+        "A String",
+      ],
+      "producerEmails": [ # Email addresses of users who can "produce" tasks into the TaskQueue. This means they can Insert tasks into the queue.
+        "A String",
+      ],
+      "adminEmails": [ # Email addresses of users who are "admins" of the TaskQueue. This means they can control the queue, eg set ACLs for the queue.
+        "A String",
+      ],
+    },
+  }</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
new file mode 100644
index 0000000..c9fbb64
--- /dev/null
+++ b/docs/dyn/taskqueue_v1beta2.tasks.html
@@ -0,0 +1,309 @@
+<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="taskqueue_v1beta2.html">TaskQueue API</a> . <a href="taskqueue_v1beta2.tasks.html">tasks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, taskqueue, task)</a></code></p>
+<p class="firstline">Delete a task from a TaskQueue.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, taskqueue, task)</a></code></p>
+<p class="firstline">Get a particular task from a TaskQueue.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, taskqueue, body)</a></code></p>
+<p class="firstline">Insert a new task in a TaskQueue</p>
+<p class="toc_element">
+  <code><a href="#lease">lease(project, taskqueue, numTasks, leaseSecs, groupByTag=None, tag=None)</a></code></p>
+<p class="firstline">Lease 1 or more tasks from a TaskQueue.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, taskqueue)</a></code></p>
+<p class="firstline">List Tasks in a TaskQueue</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(project, taskqueue, task, newLeaseSeconds, body)</a></code></p>
+<p class="firstline">Update tasks that are leased out of a TaskQueue. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(project, taskqueue, task, newLeaseSeconds, body)</a></code></p>
+<p class="firstline">Update tasks that are leased out of a TaskQueue.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(project, taskqueue, task)</code>
+  <pre>Delete a task from a TaskQueue.
+
+Args:
+  project: string, The project under which the queue lies. (required)
+  taskqueue: string, The taskqueue to delete a task from. (required)
+  task: string, The id of the task to delete. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, taskqueue, task)</code>
+  <pre>Get a particular task from a TaskQueue.
+
+Args:
+  project: string, The project under which the queue lies. (required)
+  taskqueue: string, The taskqueue in which the task belongs. (required)
+  task: string, The task to get properties of. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "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.
+      "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, taskqueue, body)</code>
+  <pre>Insert a new task in a TaskQueue
+
+Args:
+  project: string, The project under which the queue lies (required)
+  taskqueue: string, The taskqueue to insert the task into (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "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.
+    "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "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.
+      "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="lease">lease(project, taskqueue, numTasks, leaseSecs, groupByTag=None, tag=None)</code>
+  <pre>Lease 1 or more tasks from a TaskQueue.
+
+Args:
+  project: string, The project under which the queue lies. (required)
+  taskqueue: string, The taskqueue to lease a task from. (required)
+  numTasks: integer, The number of tasks to lease. (required)
+  leaseSecs: integer, The lease in seconds. (required)
+  groupByTag: boolean, When true, all returned tasks will have the same tag
+  tag: string, The tag allowed for tasks in the response. Must only be specified if group_by_tag is true. If group_by_tag is true and tag is not specified the tag will be that of the oldest task by eta, i.e. the first available tag
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The actual list of tasks returned as a result of the lease operation.
+      {
+          "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.
+          "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+        },
+    ],
+    "kind": "taskqueue#tasks", # The kind of object returned, a list of tasks.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, taskqueue)</code>
+  <pre>List Tasks in a TaskQueue
+
+Args:
+  project: string, The project under which the queue lies. (required)
+  taskqueue: string, The id of the taskqueue to list tasks from. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The actual list of tasks currently active in the TaskQueue.
+      {
+          "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.
+          "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+        },
+    ],
+    "kind": "taskqueues#tasks", # The kind of object returned, a list of tasks.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(project, taskqueue, task, newLeaseSeconds, body)</code>
+  <pre>Update tasks that are leased out of a TaskQueue. This method supports patch semantics.
+
+Args:
+  project: string, The project under which the queue lies. (required)
+  taskqueue: string, A parameter (required)
+  task: string, A parameter (required)
+  newLeaseSeconds: integer, The new lease in seconds. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "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.
+    "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "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.
+      "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(project, taskqueue, task, newLeaseSeconds, body)</code>
+  <pre>Update tasks that are leased out of a TaskQueue.
+
+Args:
+  project: string, The project under which the queue lies. (required)
+  taskqueue: string, A parameter (required)
+  task: string, A parameter (required)
+  newLeaseSeconds: integer, The new lease in seconds. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "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.
+    "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "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.
+      "enqueueTimestamp": "A String", # Time (in seconds since the epoch) at which the task was enqueued.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/tasks_v1.html b/docs/dyn/tasks_v1.html
new file mode 100644
index 0000000..5acf5d4
--- /dev/null
+++ b/docs/dyn/tasks_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="tasks_v1.html">Tasks API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="tasks_v1.tasklists.html">tasklists()</a></code>
+</p>
+<p class="firstline">Returns the tasklists Resource.</p>
+
+<p class="toc_element">
+  <code><a href="tasks_v1.tasks.html">tasks()</a></code>
+</p>
+<p class="firstline">Returns the tasks Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/tasks_v1.tasklists.html b/docs/dyn/tasks_v1.tasklists.html
new file mode 100644
index 0000000..3e70ee3
--- /dev/null
+++ b/docs/dyn/tasks_v1.tasklists.html
@@ -0,0 +1,265 @@
+<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="tasks_v1.html">Tasks API</a> . <a href="tasks_v1.tasklists.html">tasklists</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(tasklist)</a></code></p>
+<p class="firstline">Deletes the authenticated user's specified task list.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tasklist)</a></code></p>
+<p class="firstline">Returns the authenticated user's specified task list.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Creates a new task list and adds it to the authenticated user's task lists.</p>
+<p class="toc_element">
+  <code><a href="#list">list(pageToken=None, maxResults=None)</a></code></p>
+<p class="firstline">Returns all the authenticated user's task lists.</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(tasklist, body)</a></code></p>
+<p class="firstline">Updates the authenticated user's specified task list. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tasklist, body)</a></code></p>
+<p class="firstline">Updates the authenticated user's specified task list.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(tasklist)</code>
+  <pre>Deletes the authenticated user's specified task list.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tasklist)</code>
+  <pre>Returns the authenticated user's specified task list.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
+      "title": "A String", # Title of the task list.
+      "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
+      "etag": "A String", # ETag of the resource.
+      "id": "A String", # Task list identifier.
+      "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Creates a new task list and adds it to the authenticated user's task lists.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
+    "title": "A String", # Title of the task list.
+    "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
+    "etag": "A String", # ETag of the resource.
+    "id": "A String", # Task list identifier.
+    "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
+      "title": "A String", # Title of the task list.
+      "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
+      "etag": "A String", # ETag of the resource.
+      "id": "A String", # Task list identifier.
+      "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(pageToken=None, maxResults=None)</code>
+  <pre>Returns all the authenticated user's task lists.
+
+Args:
+  pageToken: string, Token specifying the result page to return. Optional.
+  maxResults: string, Maximum number of task lists returned on one page. Optional. The default is 100.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token that can be used to request the next page of this result.
+    "items": [ # Collection of task lists.
+      {
+          "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
+          "title": "A String", # Title of the task list.
+          "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
+          "etag": "A String", # ETag of the resource.
+          "id": "A String", # Task list identifier.
+          "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
+        },
+    ],
+    "kind": "tasks#taskLists", # Type of the resource. This is always "tasks#taskLists".
+    "etag": "A String", # ETag of the 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="patch">patch(tasklist, body)</code>
+  <pre>Updates the authenticated user's specified task list. This method supports patch semantics.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
+    "title": "A String", # Title of the task list.
+    "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
+    "etag": "A String", # ETag of the resource.
+    "id": "A String", # Task list identifier.
+    "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
+      "title": "A String", # Title of the task list.
+      "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
+      "etag": "A String", # ETag of the resource.
+      "id": "A String", # Task list identifier.
+      "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tasklist, body)</code>
+  <pre>Updates the authenticated user's specified task list.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
+    "title": "A String", # Title of the task list.
+    "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
+    "etag": "A String", # ETag of the resource.
+    "id": "A String", # Task list identifier.
+    "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "kind": "tasks#taskList", # Type of the resource. This is always "tasks#taskList".
+      "title": "A String", # Title of the task list.
+      "updated": "A String", # Last modification time of the task list (as a RFC 3339 timestamp).
+      "etag": "A String", # ETag of the resource.
+      "id": "A String", # Task list identifier.
+      "selfLink": "A String", # URL pointing to this task list. Used to retrieve, update, or delete this task list.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/tasks_v1.tasks.html b/docs/dyn/tasks_v1.tasks.html
new file mode 100644
index 0000000..d580833
--- /dev/null
+++ b/docs/dyn/tasks_v1.tasks.html
@@ -0,0 +1,454 @@
+<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="tasks_v1.html">Tasks API</a> . <a href="tasks_v1.tasks.html">tasks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#clear">clear(tasklist)</a></code></p>
+<p class="firstline">Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(tasklist, task)</a></code></p>
+<p class="firstline">Deletes the specified task from the task list.</p>
+<p class="toc_element">
+  <code><a href="#get">get(tasklist, task)</a></code></p>
+<p class="firstline">Returns the specified task.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(tasklist, body, parent=None, previous=None)</a></code></p>
+<p class="firstline">Creates a new task on the specified task list.</p>
+<p class="toc_element">
+  <code><a href="#list">list(tasklist, showCompleted=None, dueMin=None, dueMax=None, pageToken=None, updatedMin=None, showDeleted=None, completedMax=None, maxResults=None, completedMin=None, showHidden=None)</a></code></p>
+<p class="firstline">Returns all tasks in the specified task list.</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="#move">move(tasklist, task, parent=None, previous=None)</a></code></p>
+<p class="firstline">Moves the specified task to another position in the task list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(tasklist, task, body)</a></code></p>
+<p class="firstline">Updates the specified task. This method supports patch semantics.</p>
+<p class="toc_element">
+  <code><a href="#update">update(tasklist, task, body)</a></code></p>
+<p class="firstline">Updates the specified task.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="clear">clear(tasklist)</code>
+  <pre>Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(tasklist, task)</code>
+  <pre>Deletes the specified task from the task list.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  task: string, Task identifier. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(tasklist, task)</code>
+  <pre>Returns the specified task.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  task: string, Task identifier. (required)
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+      "links": [ # Collection of links. This collection is read-only.
+        {
+          "type": "A String", # Type of the link, e.g. "email".
+          "link": "A String", # The URL.
+          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+        },
+      ],
+      "title": "A String", # Title of the task.
+      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+      "etag": "A String", # ETag of the resource.
+      "notes": "A String", # Notes describing the task. Optional.
+      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+      "id": "A String", # Task identifier.
+      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(tasklist, body, parent=None, previous=None)</code>
+  <pre>Creates a new task on the specified task list.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+    "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+    "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+    "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+    "links": [ # Collection of links. This collection is read-only.
+      {
+        "type": "A String", # Type of the link, e.g. "email".
+        "link": "A String", # The URL.
+        "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+      },
+    ],
+    "title": "A String", # Title of the task.
+    "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+    "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+    "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+    "etag": "A String", # ETag of the resource.
+    "notes": "A String", # Notes describing the task. Optional.
+    "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+    "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+    "id": "A String", # Task identifier.
+    "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+  }
+
+  parent: string, Parent task identifier. If the task is created at the top level, this parameter is omitted. Optional.
+  previous: string, Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+      "links": [ # Collection of links. This collection is read-only.
+        {
+          "type": "A String", # Type of the link, e.g. "email".
+          "link": "A String", # The URL.
+          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+        },
+      ],
+      "title": "A String", # Title of the task.
+      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+      "etag": "A String", # ETag of the resource.
+      "notes": "A String", # Notes describing the task. Optional.
+      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+      "id": "A String", # Task identifier.
+      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(tasklist, showCompleted=None, dueMin=None, dueMax=None, pageToken=None, updatedMin=None, showDeleted=None, completedMax=None, maxResults=None, completedMin=None, showHidden=None)</code>
+  <pre>Returns all tasks in the specified task list.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  showCompleted: boolean, Flag indicating whether completed tasks are returned in the result. Optional. The default is True.
+  dueMin: string, Lower bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date.
+  dueMax: string, Upper bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date.
+  pageToken: string, Token specifying the result page to return. Optional.
+  updatedMin: string, Lower bound for a task's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time.
+  showDeleted: boolean, Flag indicating whether deleted tasks are returned in the result. Optional. The default is False.
+  completedMax: string, Upper bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date.
+  maxResults: string, Maximum number of task lists returned on one page. Optional. The default is 100.
+  completedMin: string, Lower bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date.
+  showHidden: boolean, Flag indicating whether hidden tasks are returned in the result. Optional. The default is False.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # Token used to access the next page of this result.
+    "items": [ # Collection of tasks.
+      {
+          "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+          "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+          "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+          "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+          "links": [ # Collection of links. This collection is read-only.
+            {
+              "type": "A String", # Type of the link, e.g. "email".
+              "link": "A String", # The URL.
+              "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+            },
+          ],
+          "title": "A String", # Title of the task.
+          "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+          "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+          "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+          "etag": "A String", # ETag of the resource.
+          "notes": "A String", # Notes describing the task. Optional.
+          "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+          "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+          "id": "A String", # Task identifier.
+          "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+        },
+    ],
+    "kind": "tasks#tasks", # Type of the resource. This is always "tasks#tasks".
+    "etag": "A String", # ETag of the 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="move">move(tasklist, task, parent=None, previous=None)</code>
+  <pre>Moves the specified task to another position in the task list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  task: string, Task identifier. (required)
+  parent: string, New parent task identifier. If the task is moved to the top level, this parameter is omitted. Optional.
+  previous: string, New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. Optional.
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+      "links": [ # Collection of links. This collection is read-only.
+        {
+          "type": "A String", # Type of the link, e.g. "email".
+          "link": "A String", # The URL.
+          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+        },
+      ],
+      "title": "A String", # Title of the task.
+      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+      "etag": "A String", # ETag of the resource.
+      "notes": "A String", # Notes describing the task. Optional.
+      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+      "id": "A String", # Task identifier.
+      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(tasklist, task, body)</code>
+  <pre>Updates the specified task. This method supports patch semantics.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  task: string, Task identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+    "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+    "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+    "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+    "links": [ # Collection of links. This collection is read-only.
+      {
+        "type": "A String", # Type of the link, e.g. "email".
+        "link": "A String", # The URL.
+        "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+      },
+    ],
+    "title": "A String", # Title of the task.
+    "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+    "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+    "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+    "etag": "A String", # ETag of the resource.
+    "notes": "A String", # Notes describing the task. Optional.
+    "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+    "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+    "id": "A String", # Task identifier.
+    "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+      "links": [ # Collection of links. This collection is read-only.
+        {
+          "type": "A String", # Type of the link, e.g. "email".
+          "link": "A String", # The URL.
+          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+        },
+      ],
+      "title": "A String", # Title of the task.
+      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+      "etag": "A String", # ETag of the resource.
+      "notes": "A String", # Notes describing the task. Optional.
+      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+      "id": "A String", # Task identifier.
+      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(tasklist, task, body)</code>
+  <pre>Updates the specified task.
+
+Args:
+  tasklist: string, Task list identifier. (required)
+  task: string, Task identifier. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+    "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+    "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+    "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+    "links": [ # Collection of links. This collection is read-only.
+      {
+        "type": "A String", # Type of the link, e.g. "email".
+        "link": "A String", # The URL.
+        "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+      },
+    ],
+    "title": "A String", # Title of the task.
+    "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+    "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+    "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+    "etag": "A String", # ETag of the resource.
+    "notes": "A String", # Notes describing the task. Optional.
+    "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+    "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+    "id": "A String", # Task identifier.
+    "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # Status of the task. This is either "needsAction" or "completed".
+      "kind": "tasks#task", # Type of the resource. This is always "tasks#task".
+      "updated": "A String", # Last modification time of the task (as a RFC 3339 timestamp).
+      "parent": "A String", # Parent task identifier. This field is omitted if it is a top-level task. This field is read-only. Use the "move" method to move the task under a different parent or to the top level.
+      "links": [ # Collection of links. This collection is read-only.
+        {
+          "type": "A String", # Type of the link, e.g. "email".
+          "link": "A String", # The URL.
+          "description": "A String", # The description. In HTML speak: Everything between <a> and </a>.
+        },
+      ],
+      "title": "A String", # Title of the task.
+      "deleted": True or False, # Flag indicating whether the task has been deleted. The default if False.
+      "completed": "A String", # Completion date of the task (as a RFC 3339 timestamp). This field is omitted if the task has not been completed.
+      "due": "A String", # Due date of the task (as a RFC 3339 timestamp). Optional.
+      "etag": "A String", # ETag of the resource.
+      "notes": "A String", # Notes describing the task. Optional.
+      "position": "A String", # String indicating the position of the task among its sibling tasks under the same parent task or at the top level. If this string is greater than another task's corresponding position string according to lexicographical ordering, the task is positioned after the other task under the same parent task (or at the top level). This field is read-only. Use the "move" method to move the task to another position.
+      "hidden": True or False, # Flag indicating whether the task is hidden. This is the case if the task had been marked completed when the task list was last cleared. The default is False. This field is read-only.
+      "id": "A String", # Task identifier.
+      "selfLink": "A String", # URL pointing to this task. Used to retrieve, update, or delete this task.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/translate_v2.detections.html b/docs/dyn/translate_v2.detections.html
new file mode 100644
index 0000000..7c20f82
--- /dev/null
+++ b/docs/dyn/translate_v2.detections.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="translate_v2.html">Translate API</a> . <a href="translate_v2.detections.html">detections</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(q)</a></code></p>
+<p class="firstline">Detect the language of text.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(q)</code>
+  <pre>Detect the language of text.
+
+Args:
+  q: string, The text to detect (required) (repeated)
+
+Returns:
+  An object of the form:
+
+    {
+    "detections": [ # A detections contains detection results of several text
+      [ # An array of languages which we detect for the given text The most likely language list first.
+        {
+          "isReliable": True or False, # A boolean to indicate is the language detection result reliable.
+          "confidence": 3.14, # The confidence of the detection resul of this language.
+          "language": "A String", # The language we detect
+        },
+      ],
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/translate_v2.html b/docs/dyn/translate_v2.html
new file mode 100644
index 0000000..fbb90f7
--- /dev/null
+++ b/docs/dyn/translate_v2.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="translate_v2.html">Translate API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="translate_v2.detections.html">detections()</a></code>
+</p>
+<p class="firstline">Returns the detections Resource.</p>
+
+<p class="toc_element">
+  <code><a href="translate_v2.languages.html">languages()</a></code>
+</p>
+<p class="firstline">Returns the languages Resource.</p>
+
+<p class="toc_element">
+  <code><a href="translate_v2.translations.html">translations()</a></code>
+</p>
+<p class="firstline">Returns the translations Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/translate_v2.languages.html b/docs/dyn/translate_v2.languages.html
new file mode 100644
index 0000000..9bb4afd
--- /dev/null
+++ b/docs/dyn/translate_v2.languages.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="translate_v2.html">Translate API</a> . <a href="translate_v2.languages.html">languages</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(target=None)</a></code></p>
+<p class="firstline">List the source/target languages supported by the API</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(target=None)</code>
+  <pre>List the source/target languages supported by the API
+
+Args:
+  target: string, the language and collation in which the localized results should be returned
+
+Returns:
+  An object of the form:
+
+    {
+    "languages": [ # List of source/target languages supported by the translation API. If target parameter is unspecified, the list is sorted by the ASCII code point order of the language code. If target parameter is specified, the list is sorted by the collation order of the language name in the target language.
+      {
+        "name": "A String", # The localized name of the language if target parameter is given.
+        "language": "A String", # The language code.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/translate_v2.translations.html b/docs/dyn/translate_v2.translations.html
new file mode 100644
index 0000000..1783dc6
--- /dev/null
+++ b/docs/dyn/translate_v2.translations.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="translate_v2.html">Translate API</a> . <a href="translate_v2.translations.html">translations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(q, target, format=None, cid=None, source=None)</a></code></p>
+<p class="firstline">Returns text translations from one language to another.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(q, target, format=None, cid=None, source=None)</code>
+  <pre>Returns text translations from one language to another.
+
+Args:
+  q: string, The text to translate (required) (repeated)
+  target: string, The target language into which the text should be translated (required)
+  format: string, The format of the text
+    Allowed values
+      html - Specifies the input is in HTML
+      text - Specifies the input is in plain textual format
+  cid: string, The customization id for translate (repeated)
+  source: string, The source language of the text
+
+Returns:
+  An object of the form:
+
+    {
+    "translations": [ # Translations contains list of translation results of given text
+      {
+        "detectedSourceLanguage": "A String", # Detected source language if source parameter is unspecified.
+        "translatedText": "A String", # The translation.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/urlshortener_v1.html b/docs/dyn/urlshortener_v1.html
new file mode 100644
index 0000000..1ef8ccd
--- /dev/null
+++ b/docs/dyn/urlshortener_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="urlshortener_v1.html">URL Shortener API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="urlshortener_v1.url.html">url()</a></code>
+</p>
+<p class="firstline">Returns the url Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/urlshortener_v1.url.html b/docs/dyn/urlshortener_v1.url.html
new file mode 100644
index 0000000..bb004fc
--- /dev/null
+++ b/docs/dyn/urlshortener_v1.url.html
@@ -0,0 +1,739 @@
+<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="urlshortener_v1.html">URL Shortener API</a> . <a href="urlshortener_v1.url.html">url</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#get">get(shortUrl, projection=None)</a></code></p>
+<p class="firstline">Expands a short URL or gets creation time and analytics.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(body)</a></code></p>
+<p class="firstline">Creates a new short URL.</p>
+<p class="toc_element">
+  <code><a href="#list">list(start_token=None, projection=None)</a></code></p>
+<p class="firstline">Retrieves a list of URLs shortened by a user.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="get">get(shortUrl, projection=None)</code>
+  <pre>Expands a short URL or gets creation time and analytics.
+
+Args:
+  shortUrl: string, The short URL, including the protocol. (required)
+  projection: string, Additional information to return.
+    Allowed values
+      ANALYTICS_CLICKS - Returns only click counts.
+      ANALYTICS_TOP_STRINGS - Returns only top string counts.
+      FULL - Returns the creation timestamp and all available analytics.
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # Status of the target URL. Possible values: "OK", "MALWARE", "PHISHING", or "REMOVED". A URL might be marked "REMOVED" if it was flagged as spam, for example.
+      "kind": "urlshortener#url", # The fixed string "urlshortener#url".
+      "created": "A String", # Time the short URL was created; ISO 8601 representation using the yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. "2010-10-14T19:01:24.944+00:00".
+      "analytics": { # A summary of the click analytics for the short and long URL. Might not be present if not requested or currently unavailable.
+        "week": { # Click analytics over the last week.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+        "allTime": { # Click analytics over all time.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+        "twoHours": { # Click analytics over the last two hours.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+        "day": { # Click analytics over the last day.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+        "month": { # Click analytics over the last month.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+      },
+      "longUrl": "A String", # Long URL, e.g. "http://www.google.com/". Might not be present if the status is "REMOVED".
+      "id": "A String", # Short URL, e.g. "http://goo.gl/l6MS".
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(body)</code>
+  <pre>Creates a new short URL.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "status": "A String", # Status of the target URL. Possible values: "OK", "MALWARE", "PHISHING", or "REMOVED". A URL might be marked "REMOVED" if it was flagged as spam, for example.
+    "kind": "urlshortener#url", # The fixed string "urlshortener#url".
+    "created": "A String", # Time the short URL was created; ISO 8601 representation using the yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. "2010-10-14T19:01:24.944+00:00".
+    "analytics": { # A summary of the click analytics for the short and long URL. Might not be present if not requested or currently unavailable.
+      "week": { # Click analytics over the last week.
+        "shortUrlClicks": "A String", # Number of clicks on this short URL.
+        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+      },
+      "allTime": { # Click analytics over all time.
+        "shortUrlClicks": "A String", # Number of clicks on this short URL.
+        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+      },
+      "twoHours": { # Click analytics over the last two hours.
+        "shortUrlClicks": "A String", # Number of clicks on this short URL.
+        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+      },
+      "day": { # Click analytics over the last day.
+        "shortUrlClicks": "A String", # Number of clicks on this short URL.
+        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+      },
+      "month": { # Click analytics over the last month.
+        "shortUrlClicks": "A String", # Number of clicks on this short URL.
+        "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+          {
+            "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+            "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+          },
+        ],
+        "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+      },
+    },
+    "longUrl": "A String", # Long URL, e.g. "http://www.google.com/". Might not be present if the status is "REMOVED".
+    "id": "A String", # Short URL, e.g. "http://goo.gl/l6MS".
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+      "status": "A String", # Status of the target URL. Possible values: "OK", "MALWARE", "PHISHING", or "REMOVED". A URL might be marked "REMOVED" if it was flagged as spam, for example.
+      "kind": "urlshortener#url", # The fixed string "urlshortener#url".
+      "created": "A String", # Time the short URL was created; ISO 8601 representation using the yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. "2010-10-14T19:01:24.944+00:00".
+      "analytics": { # A summary of the click analytics for the short and long URL. Might not be present if not requested or currently unavailable.
+        "week": { # Click analytics over the last week.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+        "allTime": { # Click analytics over all time.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+        "twoHours": { # Click analytics over the last two hours.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+        "day": { # Click analytics over the last day.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+        "month": { # Click analytics over the last month.
+          "shortUrlClicks": "A String", # Number of clicks on this short URL.
+          "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+            {
+              "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+              "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+            },
+          ],
+          "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+        },
+      },
+      "longUrl": "A String", # Long URL, e.g. "http://www.google.com/". Might not be present if the status is "REMOVED".
+      "id": "A String", # Short URL, e.g. "http://goo.gl/l6MS".
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(start_token=None, projection=None)</code>
+  <pre>Retrieves a list of URLs shortened by a user.
+
+Args:
+  start_token: string, Token for requesting successive pages of results.
+  projection: string, Additional information to return.
+    Allowed values
+      ANALYTICS_CLICKS - Returns short URL click counts.
+      FULL - Returns short URL click counts.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token to provide to get the next page of results.
+    "items": [ # A list of URL resources.
+      {
+          "status": "A String", # Status of the target URL. Possible values: "OK", "MALWARE", "PHISHING", or "REMOVED". A URL might be marked "REMOVED" if it was flagged as spam, for example.
+          "kind": "urlshortener#url", # The fixed string "urlshortener#url".
+          "created": "A String", # Time the short URL was created; ISO 8601 representation using the yyyy-MM-dd'T'HH:mm:ss.SSSZZ format, e.g. "2010-10-14T19:01:24.944+00:00".
+          "analytics": { # A summary of the click analytics for the short and long URL. Might not be present if not requested or currently unavailable.
+            "week": { # Click analytics over the last week.
+              "shortUrlClicks": "A String", # Number of clicks on this short URL.
+              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+            },
+            "allTime": { # Click analytics over all time.
+              "shortUrlClicks": "A String", # Number of clicks on this short URL.
+              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+            },
+            "twoHours": { # Click analytics over the last two hours.
+              "shortUrlClicks": "A String", # Number of clicks on this short URL.
+              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+            },
+            "day": { # Click analytics over the last day.
+              "shortUrlClicks": "A String", # Number of clicks on this short URL.
+              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+            },
+            "month": { # Click analytics over the last month.
+              "shortUrlClicks": "A String", # Number of clicks on this short URL.
+              "countries": [ # Top countries (expressed as country codes), e.g. "US" or "DE"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "platforms": [ # Top platforms or OSes, e.g. "Windows"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "browsers": [ # Top browsers, e.g. "Chrome"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "referrers": [ # Top referring hosts, e.g. "www.google.com"; sorted by (descending) click counts. Only present if this data is available.
+                {
+                  "count": "A String", # Number of clicks for this top entry, e.g. for this particular country or browser.
+                  "id": "A String", # Label assigned to this top entry, e.g. "US" or "Chrome".
+                },
+              ],
+              "longUrlClicks": "A String", # Number of clicks on all goo.gl short URLs pointing to this long URL.
+            },
+          },
+          "longUrl": "A String", # Long URL, e.g. "http://www.google.com/". Might not be present if the status is "REMOVED".
+          "id": "A String", # Short URL, e.g. "http://goo.gl/l6MS".
+        },
+    ],
+    "kind": "urlshortener#urlHistory", # The fixed string "urlshortener#urlHistory".
+    "itemsPerPage": 42, # Number of items returned with each full "page" of results. Note that the last page could have fewer items than the "itemsPerPage" value.
+    "totalItems": 42, # Total number of short URLs associated with this user (may be approximate).
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/webfonts_v1.html b/docs/dyn/webfonts_v1.html
new file mode 100644
index 0000000..2ae835b
--- /dev/null
+++ b/docs/dyn/webfonts_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="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>
+</p>
+<p class="firstline">Returns the webfonts Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/webfonts_v1.webfonts.html b/docs/dyn/webfonts_v1.webfonts.html
new file mode 100644
index 0000000..5e04ae5
--- /dev/null
+++ b/docs/dyn/webfonts_v1.webfonts.html
@@ -0,0 +1,120 @@
+<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="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 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 Fonts Developer API
+
+Args:
+  sort: string, Enables sorting of the list
+    Allowed values
+      alpha - Sort alphabetically
+      date - Sort by date added
+      popularity - Sort by popularity
+      style - Sort by number of styles
+      trending - Sort by trending
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # The list of fonts currently served by the Google Fonts API.
+      {
+        "category": "A String", # The category of the font.
+        "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.
+        "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.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtubeAnalytics_v1.batchReportDefinitions.html b/docs/dyn/youtubeAnalytics_v1.batchReportDefinitions.html
new file mode 100644
index 0000000..9f34031
--- /dev/null
+++ b/docs/dyn/youtubeAnalytics_v1.batchReportDefinitions.html
@@ -0,0 +1,110 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="youtubeAnalytics_v1.html">YouTube Analytics API</a> . <a href="youtubeAnalytics_v1.batchReportDefinitions.html">batchReportDefinitions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(onBehalfOfContentOwner)</a></code></p>
+<p class="firstline">Retrieves a list of available batch report definitions.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(onBehalfOfContentOwner)</code>
+  <pre>Retrieves a list of available batch report definitions.
+
+Args:
+  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter identifies the content owner that the user is acting on behalf of. (required)
+
+Returns:
+  An object of the form:
+
+    { # A paginated list of batchReportDefinition resources returned in response to a youtubeAnalytics.batchReportDefinitions.list request.
+    "items": [ # A list of batchReportDefinition resources that match the request criteria.
+      { # Contains single batchReportDefinition resource.
+        "status": "A String", # Status of the report definition.
+        "defaultOutput": [ # Default report definition's output.
+          {
+            "type": "cloudStorageOutput", # Type of the output.
+            "format": "A String", # Format of the output.
+          },
+        ],
+        "type": "A String", # Type of the report definition.
+        "id": "A String", # The ID that YouTube assigns and uses to uniquely identify the report definition.
+        "name": "A String", # Name of the report definition.
+      },
+    ],
+    "kind": "youtubeAnalytics#batchReportDefinitionList", # This value specifies the type of data included in the API response. For the list method, the kind property value is youtubeAnalytics#batchReportDefinitionList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtubeAnalytics_v1.batchReports.html b/docs/dyn/youtubeAnalytics_v1.batchReports.html
new file mode 100644
index 0000000..a43d960
--- /dev/null
+++ b/docs/dyn/youtubeAnalytics_v1.batchReports.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="youtubeAnalytics_v1.html">YouTube Analytics API</a> . <a href="youtubeAnalytics_v1.batchReports.html">batchReports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(batchReportDefinitionId, onBehalfOfContentOwner)</a></code></p>
+<p class="firstline">Retrieves a list of processed batch reports.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(batchReportDefinitionId, onBehalfOfContentOwner)</code>
+  <pre>Retrieves a list of processed batch reports.
+
+Args:
+  batchReportDefinitionId: string, The batchReportDefinitionId parameter specifies the ID of the batch reportort definition for which you are retrieving reports. (required)
+  onBehalfOfContentOwner: string, The onBehalfOfContentOwner parameter identifies the content owner that the user is acting on behalf of. (required)
+
+Returns:
+  An object of the form:
+
+    { # A paginated list of batchReport resources returned in response to a youtubeAnalytics.batchReport.list request.
+    "items": [ # A list of batchReport resources that match the request criteria.
+      { # Contains single batchReport resource.
+        "outputs": [ # Report outputs.
+          {
+            "downloadUrl": "A String", # Cloud storage URL to download this report. This URL is valid for 30 minutes.
+            "type": "cloudStorageOutput", # Type of the output.
+            "format": "A String", # Format of the output.
+          },
+        ],
+        "timeSpan": { # Period included in the report. For reports containing all entities endTime is not set. Both startTime and endTime are inclusive.
+          "endTime": "A String", # End of the period included in the report. Inclusive. For reports containing all entities endTime is not set.
+          "startTime": "A String", # Start of the period included in the report. Inclusive.
+        },
+        "timeUpdated": "A String", # The time when the report was updated.
+        "id": "A String", # The ID that YouTube assigns and uses to uniquely identify the report.
+        "report_id": "A String", # The ID of the the report definition.
+      },
+    ],
+    "kind": "youtubeAnalytics#batchReportList", # This value specifies the type of data included in the API response. For the list method, the kind property value is youtubeAnalytics#batchReportList.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtubeAnalytics_v1.html b/docs/dyn/youtubeAnalytics_v1.html
new file mode 100644
index 0000000..09b5912
--- /dev/null
+++ b/docs/dyn/youtubeAnalytics_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="youtubeAnalytics_v1.html">YouTube Analytics API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="youtubeAnalytics_v1.batchReportDefinitions.html">batchReportDefinitions()</a></code>
+</p>
+<p class="firstline">Returns the batchReportDefinitions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtubeAnalytics_v1.batchReports.html">batchReports()</a></code>
+</p>
+<p class="firstline">Returns the batchReports Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtubeAnalytics_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/youtubeAnalytics_v1.reports.html b/docs/dyn/youtubeAnalytics_v1.reports.html
new file mode 100644
index 0000000..d389b5b
--- /dev/null
+++ b/docs/dyn/youtubeAnalytics_v1.reports.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="youtubeAnalytics_v1.html">YouTube Analytics API</a> . <a href="youtubeAnalytics_v1.reports.html">reports</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#query">query(ids=None, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</a></code></p>
+<p class="firstline">Retrieve your YouTube Analytics reports.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="query">query(ids=None, start_date, end_date, metrics, sort=None, dimensions=None, filters=None, max_results=None, start_index=None)</code>
+  <pre>Retrieve your YouTube Analytics reports.
+
+Args:
+  ids: string, Identifies the YouTube channel or content owner for which you are retrieving YouTube Analytics data.
+- To request data for a YouTube user, set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID specifies the unique YouTube channel ID.
+- To request data for a YouTube CMS content owner, set the ids parameter value to contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content owner. (required)
+  start_date: string, The start date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. (required)
+  end_date: string, The end date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. (required)
+  metrics: string, A comma-separated list of YouTube Analytics metrics, such as views or likes,dislikes. See the Available Reports document for a list of the reports that you can retrieve and the metrics available in each report, and see the Metrics document for definitions of those metrics. (required)
+  sort: string, A comma-separated list of dimensions or metrics that determine the sort order for YouTube Analytics data. By default the sort order is ascending. The '-' prefix causes descending sort order.
+  dimensions: string, A comma-separated list of YouTube Analytics dimensions, such as views or ageGroup,gender. See the Available Reports document for a list of the reports that you can retrieve and the dimensions used for those reports. Also see the Dimensions document for definitions of those dimensions.
+  filters: string, A list of filters that should be applied when retrieving YouTube Analytics data. The Available Reports document identifies the dimensions that can be used to filter each report, and the Dimensions document defines those dimensions. If a request uses multiple filters, join them together with a semicolon (;), and the returned result table will satisfy both filters. For example, a filters parameter value of video==dMH0bHeiRNg;country==IT restricts the result set to include data for the given video in Italy.
+  max_results: integer, The maximum number of rows to include in the 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 (one-based, inclusive).
+
+Returns:
+  An object of the form:
+
+    { # Contains a single result table. The table is returned as an array of rows that contain the values for the cells of the table. Depending on the metric or dimension, the cell can contain a string (video ID, country code) or a number (number of views or number of likes).
+    "kind": "youtubeAnalytics#resultTable", # This value specifies the type of data included in the API response. For the query method, the kind property value will be youtubeAnalytics#resultTable.
+    "rows": [ # The list contains all rows of the result table. Each item in the list is an array that contains comma-delimited data corresponding to a single row of data. The order of the comma-delimited data fields will match the order of the columns listed in the columnHeaders field. If no data is available for the given query, the rows element will be omitted from the response. The response for a query with the day dimension will not contain rows for the most recent days.
+      [
+        "",
+      ],
+    ],
+    "columnHeaders": [ # This value specifies information about the data returned in the rows fields. Each item in the columnHeaders list identifies a field returned in the rows value, which contains a list of comma-delimited data. The columnHeaders list will begin with the dimensions specified in the API request, which will be followed by the metrics specified in the API request. The order of both dimensions and metrics will match the ordering in the API request. For example, if the API request contains the parameters dimensions=ageGroup,gender&metrics=viewerPercentage, the API response will return columns in this order: ageGroup,gender,viewerPercentage.
+      {
+        "dataType": "A String", # The type of the data in the column (STRING, INTEGER, FLOAT, etc.).
+        "columnType": "A String", # The type of the column (DIMENSION or METRIC).
+        "name": "A String", # The name of the dimension or metric.
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.activities.html b/docs/dyn/youtube_v3.activities.html
new file mode 100644
index 0000000..c965e66
--- /dev/null
+++ b/docs/dyn/youtube_v3.activities.html
@@ -0,0 +1,600 @@
+<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.activities.html">activities</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <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, 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>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body)</code>
+  <pre>Posts a bulletin for a specific channel. (The user submitting the request must be authorized to act on the channel's behalf.)
+
+Note: Even though an activity resource can contain information about actions like a user rating a video or marking a video as a favorite, you need to use other API methods to generate those activity resources. For example, you would use the API's videos.rate() method to rate a video and the playlistItems.insert() method to mark a video as a favorite.
+
+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 snippet and contentDetails. (required)
+  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.
+    "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": { # 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.
+        },
+      },
+      "title": "A String", # The title of the resource primarily associated with the activity.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel associated with the activity.
+      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "channelTitle": "A String", # Channel title for the channel responsible for this activity
+      "type": "A String", # The type of activity that the resource describes.
+      "groupId": "A String", # The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.
+      "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": { # 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 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": { # 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 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.
+        },
+        "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
+        "playlistItemId": "A String", # ID of the item within the playlist.
+      },
+      "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 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.
+        },
+      },
+      "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.
+        "forecastingUrl": [ # The list of forecasting URLs. The client should ping all of these URLs when a promoted item is not available, to indicate that a promoted item could have been shown.
+          "A String",
+        ],
+        "impressionUrl": [ # The list of impression URLs. The client should ping all of these URLs to indicate that the user was shown this promoted item.
+          "A String",
+        ],
+        "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.
+        "customCtaButtonText": "A String", # The custom call-to-action button text. If specified, it will override the default button text for the cta_type.
+        "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 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.
+        },
+        "imageUrl": "A String", # An image of the post's author.
+        "type": "A String", # The name of the social network.
+        "referenceUrl": "A String", # The URL of the social network post.
+        "author": "A String", # The author of the social network post.
+      },
+      "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 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": { # 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": { # 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 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 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": { # 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 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": { # 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 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": { # 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 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", # Identifies what kind of resource this is. Value: the fixed string "youtube#activity".
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the activity.
+  }
+
+
+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.
+      "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": { # 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.
+          },
+        },
+        "title": "A String", # The title of the resource primarily associated with the activity.
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel associated with the activity.
+        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "channelTitle": "A String", # Channel title for the channel responsible for this activity
+        "type": "A String", # The type of activity that the resource describes.
+        "groupId": "A String", # The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.
+        "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": { # 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 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": { # 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 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.
+          },
+          "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
+          "playlistItemId": "A String", # ID of the item within the playlist.
+        },
+        "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 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.
+          },
+        },
+        "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.
+          "forecastingUrl": [ # The list of forecasting URLs. The client should ping all of these URLs when a promoted item is not available, to indicate that a promoted item could have been shown.
+            "A String",
+          ],
+          "impressionUrl": [ # The list of impression URLs. The client should ping all of these URLs to indicate that the user was shown this promoted item.
+            "A String",
+          ],
+          "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.
+          "customCtaButtonText": "A String", # The custom call-to-action button text. If specified, it will override the default button text for the cta_type.
+          "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 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.
+          },
+          "imageUrl": "A String", # An image of the post's author.
+          "type": "A String", # The name of the social network.
+          "referenceUrl": "A String", # The URL of the social network post.
+          "author": "A String", # The author of the social network post.
+        },
+        "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 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": { # 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": { # 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 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 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": { # 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 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": { # 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 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": { # 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 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", # Identifies what kind of resource this is. Value: the fixed string "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, 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:
+  part: string, The part parameter specifies a comma-separated list of one or more activity resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails.
+
+If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a activity resource, the snippet property contains other properties that identify the type of activity, a display title for the activity, and so forth. If you set part=snippet, the API response will also contain all of those nested properties. (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.
+  publishedBefore: string, The publishedBefore parameter specifies the date and time before which an activity must 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 excluded from the result set. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+  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, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
+  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. YouTube uses this value when the authorized user's previous activity on YouTube does not provide enough information to generate the activity feed.
+  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:
+
+    {
+    "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", # Identifies what kind of resource this is. Value: the fixed string "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.
+          "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": { # 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.
+              },
+            },
+            "title": "A String", # The title of the resource primarily associated with the activity.
+            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel associated with the activity.
+            "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "channelTitle": "A String", # Channel title for the channel responsible for this activity
+            "type": "A String", # The type of activity that the resource describes.
+            "groupId": "A String", # The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.
+            "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": { # 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 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": { # 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 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.
+              },
+              "playlistId": "A String", # The value that YouTube uses to uniquely identify the playlist.
+              "playlistItemId": "A String", # ID of the item within the playlist.
+            },
+            "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 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.
+              },
+            },
+            "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.
+              "forecastingUrl": [ # The list of forecasting URLs. The client should ping all of these URLs when a promoted item is not available, to indicate that a promoted item could have been shown.
+                "A String",
+              ],
+              "impressionUrl": [ # The list of impression URLs. The client should ping all of these URLs to indicate that the user was shown this promoted item.
+                "A String",
+              ],
+              "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.
+              "customCtaButtonText": "A String", # The custom call-to-action button text. If specified, it will override the default button text for the cta_type.
+              "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 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.
+              },
+              "imageUrl": "A String", # An image of the post's author.
+              "type": "A String", # The name of the social network.
+              "referenceUrl": "A String", # The URL of the social network post.
+              "author": "A String", # The author of the social network post.
+            },
+            "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 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": { # 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": { # 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 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 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": { # 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 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": { # 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 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": { # 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 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", # Identifies what kind of resource this is. Value: the fixed string "youtube#activity".
+          "etag": "A String", # Etag of this resource.
+          "id": "A String", # The ID that YouTube uses to uniquely identify the activity.
+        },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.channelBanners.html b/docs/dyn/youtube_v3.channelBanners.html
new file mode 100644
index 0000000..029b80e
--- /dev/null
+++ b/docs/dyn/youtube_v3.channelBanners.html
@@ -0,0 +1,114 @@
+<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 image to YouTube. This method represents the first two steps in a three-step process to update the banner image for a channel:</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 image to YouTube. This method represents the first two steps in a three-step process to update the banner image for a channel:
+
+- Call the channelBanners.insert method to upload the binary image data to YouTube. The image must have a 16:9 aspect ratio and be at least 2120x1192 pixels.
+- Extract the url property's value from the response that the API returns for step 1.
+- Call the channels.update method to update the channel's branding settings. Set the brandingSettings.image.bannerExternalUrl property's value to the URL obtained in step 2.
+
+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", # Identifies what kind of resource this is. Value: the fixed string "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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+
+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", # Identifies what kind of resource this is. Value: the fixed string "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.channelSections.html b/docs/dyn/youtube_v3.channelSections.html
new file mode 100644
index 0000000..9fda7ae
--- /dev/null
+++ b/docs/dyn/youtube_v3.channelSections.html
@@ -0,0 +1,268 @@
+<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.channelSections.html">channelSections</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id)</a></code></p>
+<p class="firstline">Deletes a channelSection.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(part=None, body, onBehalfOfContentOwnerChannel=None)</a></code></p>
+<p class="firstline">Adds a channelSection for the authenticated user's channel.</p>
+<p class="toc_element">
+  <code><a href="#list">list(part=None, onBehalfOfContentOwner=None, channelId=None, mine=None, id=None)</a></code></p>
+<p class="firstline">Returns channelSection resources that match the API request criteria.</p>
+<p class="toc_element">
+  <code><a href="#update">update(part=None, body)</a></code></p>
+<p class="firstline">Update a channelSection.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id)</code>
+  <pre>Deletes a channelSection.
+
+Args:
+  id: string, The id parameter specifies the YouTube channelSection ID for the resource that is being deleted. In a channelSection resource, the id property specifies the YouTube channelSection ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body, onBehalfOfContentOwnerChannel=None)</code>
+  <pre>Adds a channelSection for the authenticated user's channel.
+
+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 snippet and contentDetails. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
+    "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
+      "position": 42, # The position of the channelSection in the channel.
+      "style": "A String", # The style of the channelSection.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
+      "type": "A String", # The type of the channelSection.
+      "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
+    },
+    "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+      "channels": [ # The channel ids for type multiple_channels.
+        "A String",
+      ],
+      "playlists": [ # The playlist ids for type single_playlist and multiple_playlists. For singlePlaylist, only one playlistId is allowed.
+        "A String",
+      ],
+    },
+    "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+  }
+
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+
+Returns:
+  An object of the form:
+
+    { # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
+      "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
+        "position": 42, # The position of the channelSection in the channel.
+        "style": "A String", # The style of the channelSection.
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
+        "type": "A String", # The type of the channelSection.
+        "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
+      },
+      "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+        "channels": [ # The channel ids for type multiple_channels.
+          "A String",
+        ],
+        "playlists": [ # The playlist ids for type single_playlist and multiple_playlists. For singlePlaylist, only one playlistId is allowed.
+          "A String",
+        ],
+      },
+      "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+      "etag": "A String", # Etag of this resource.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(part=None, onBehalfOfContentOwner=None, channelId=None, mine=None, id=None)</code>
+  <pre>Returns channelSection resources that match the API request criteria.
+
+Args:
+  part: string, The part parameter specifies a comma-separated list of one or more channelSection resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails.
+
+If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channelSection resource, the snippet property contains other properties, such as a display title for the channelSection. If you set part=snippet, the API response will also contain all of those nested properties. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  channelId: string, The channelId parameter specifies a YouTube channel ID. The API will only return that channel's channelSections.
+  mine: boolean, Set this parameter's value to true to retrieve a feed of the authenticated user's channelSections.
+  id: string, The id parameter specifies a comma-separated list of the YouTube channelSection ID(s) for the resource(s) that are being retrieved. In a channelSection resource, the id property specifies the YouTube channelSection ID.
+
+Returns:
+  An object of the form:
+
+    {
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
+    "items": [ # A list of ChannelSections that match the request criteria.
+      { # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
+          "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
+            "position": 42, # The position of the channelSection in the channel.
+            "style": "A String", # The style of the channelSection.
+            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
+            "type": "A String", # The type of the channelSection.
+            "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
+          },
+          "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+            "channels": [ # The channel ids for type multiple_channels.
+              "A String",
+            ],
+            "playlists": [ # The playlist ids for type single_playlist and multiple_playlists. For singlePlaylist, only one playlistId is allowed.
+              "A String",
+            ],
+          },
+          "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+          "etag": "A String", # Etag of this resource.
+          "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+        },
+    ],
+    "kind": "youtube#channelSectionListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSectionListResponse".
+    "etag": "A String", # Etag of this resource.
+    "visitorId": "A String", # The visitorId identifies the visitor.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(part=None, body)</code>
+  <pre>Update a channelSection.
+
+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 snippet and contentDetails. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
+    "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
+      "position": 42, # The position of the channelSection in the channel.
+      "style": "A String", # The style of the channelSection.
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
+      "type": "A String", # The type of the channelSection.
+      "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
+    },
+    "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+      "channels": [ # The channel ids for type multiple_channels.
+        "A String",
+      ],
+      "playlists": [ # The playlist ids for type single_playlist and multiple_playlists. For singlePlaylist, only one playlistId is allowed.
+        "A String",
+      ],
+    },
+    "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # TODO(lxz) follow up with adiamondstein@ to fullfill the doc before deploying
+      "snippet": { # Basic details about a channelsection, including title, style and position. # The snippet object contains basic details about the ChannelSection, such as its type, style and title.
+        "position": 42, # The position of the channelSection in the channel.
+        "style": "A String", # The style of the channelSection.
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that published the channelSection.
+        "type": "A String", # The type of the channelSection.
+        "title": "A String", # The channelSection's title for multiple_playlists and multiple_channels.
+      },
+      "contentDetails": { # Details about a channelsection, including playlists and channels. # The contentDetails object contains details about the ChannelSection content, such as playlists and channels.
+        "channels": [ # The channel ids for type multiple_channels.
+          "A String",
+        ],
+        "playlists": [ # The playlist ids for type single_playlist and multiple_playlists. For singlePlaylist, only one playlistId is allowed.
+          "A String",
+        ],
+      },
+      "kind": "youtube#channelSection", # Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".
+      "etag": "A String", # Etag of this resource.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the ChannelSection.
+    }</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
new file mode 100644
index 0000000..5797fcc
--- /dev/null
+++ b/docs/dyn/youtube_v3.channels.html
@@ -0,0 +1,767 @@
+<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.channels.html">channels</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <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, 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, 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: 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:
+
+    {
+    "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", # Identifies what kind of resource this is. Value: the fixed string "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.
+        },
+        "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.
+              },
+              "promotedByContentOwner": True or False, # If true, the content owner's name will be used when displaying the promotion. This field can only be set when the update is made on behalf of the content owner.
+              "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.
+                "recentlyUploadedBy": "A String", # If type is recentUpload, this field identifies the channel from which to take the recent upload. If missing, the channel is assumed to be the same channel for which the invideoPromotion is set.
+                "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", # Identifies what kind of resource this is. Value: the fixed string "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.
+          "hiddenSubscriberCount": True or False, # Whether or not the number of subscribers is shown for this user.
+          "viewCount": "A String", # The number of times the channel has been viewed.
+        },
+        "contentOwnerDetails": { # The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel. # The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel.
+          "contentOwner": "A String", # The ID of the content owner linked to the channel.
+          "timeLinked": "A String", # The date and time of when the channel was linked to the content owner. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        },
+        "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.
+            "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.
+                },
+              ],
+            },
+            "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.
+                },
+              ],
+            },
+            "bannerTvImageUrl": "A String", # Banner image. TV size extra high resolution (2120x1192).
+            "bannerTvLowImageUrl": "A String", # Banner image. TV size low resolution (854x480).
+            "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.
+                },
+              ],
+            },
+            "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.
+                },
+              ],
+            },
+            "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.
+            "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.
+            "bannerTvMediumImageUrl": "A String", # Banner image. TV size medium resolution (1280x720).
+            "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
+            "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
+            "bannerTvHighImageUrl": "A String", # Banner image. TV size high resolution (1920x1080).
+            "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.
+            "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
+            "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
+            "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
+            "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
+            "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
+            "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
+            "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
+          },
+          "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.
+            },
+          },
+        },
+        "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process.
+          "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines.
+          "contentIdClaimsGoodStanding": True or False, # Whether or not the channel has any unresolved claims.
+          "overallGoodStanding": True or False, # Describes the general state of the channel. This field will always show if there are any issues whatsoever with the channel. Currently this field represents the result of the logical and operation over the community guidelines good standing, the copyright strikes good standing and the content ID claims good standing, but this may change in the future.
+          "copyrightStrikesGoodStanding": True or False, # Whether or not the channel has any copyright strikes.
+        },
+        "etag": "A String", # Etag of this resource.
+        "id": "A String", # The ID that YouTube uses to uniquely identify the channel.
+      },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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="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.
+        },
+        "promotedByContentOwner": True or False, # If true, the content owner's name will be used when displaying the promotion. This field can only be set when the update is made on behalf of the content owner.
+        "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.
+          "recentlyUploadedBy": "A String", # If type is recentUpload, this field identifies the channel from which to take the recent upload. If missing, the channel is assumed to be the same channel for which the invideoPromotion is set.
+          "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", # Identifies what kind of resource this is. Value: the fixed string "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.
+    "hiddenSubscriberCount": True or False, # Whether or not the number of subscribers is shown for this user.
+    "viewCount": "A String", # The number of times the channel has been viewed.
+  },
+  "contentOwnerDetails": { # The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel. # The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel.
+    "contentOwner": "A String", # The ID of the content owner linked to the channel.
+    "timeLinked": "A String", # The date and time of when the channel was linked to the content owner. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+  },
+  "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.
+      "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.
+          },
+        ],
+      },
+      "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.
+          },
+        ],
+      },
+      "bannerTvImageUrl": "A String", # Banner image. TV size extra high resolution (2120x1192).
+      "bannerTvLowImageUrl": "A String", # Banner image. TV size low resolution (854x480).
+      "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.
+          },
+        ],
+      },
+      "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.
+          },
+        ],
+      },
+      "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.
+      "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.
+      "bannerTvMediumImageUrl": "A String", # Banner image. TV size medium resolution (1280x720).
+      "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
+      "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
+      "bannerTvHighImageUrl": "A String", # Banner image. TV size high resolution (1920x1080).
+      "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.
+      "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
+      "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
+      "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
+      "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
+      "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
+      "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
+      "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
+    },
+    "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.
+      },
+    },
+  },
+  "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process.
+    "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines.
+    "contentIdClaimsGoodStanding": True or False, # Whether or not the channel has any unresolved claims.
+    "overallGoodStanding": True or False, # Describes the general state of the channel. This field will always show if there are any issues whatsoever with the channel. Currently this field represents the result of the logical and operation over the community guidelines good standing, the copyright strikes good standing and the content ID claims good standing, but this may change in the future.
+    "copyrightStrikesGoodStanding": True or False, # Whether or not the channel has any copyright strikes.
+  },
+  "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.
+          },
+          "promotedByContentOwner": True or False, # If true, the content owner's name will be used when displaying the promotion. This field can only be set when the update is made on behalf of the content owner.
+          "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.
+            "recentlyUploadedBy": "A String", # If type is recentUpload, this field identifies the channel from which to take the recent upload. If missing, the channel is assumed to be the same channel for which the invideoPromotion is set.
+            "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", # Identifies what kind of resource this is. Value: the fixed string "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.
+      "hiddenSubscriberCount": True or False, # Whether or not the number of subscribers is shown for this user.
+      "viewCount": "A String", # The number of times the channel has been viewed.
+    },
+    "contentOwnerDetails": { # The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel. # The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel.
+      "contentOwner": "A String", # The ID of the content owner linked to the channel.
+      "timeLinked": "A String", # The date and time of when the channel was linked to the content owner. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    },
+    "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.
+        "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.
+            },
+          ],
+        },
+        "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.
+            },
+          ],
+        },
+        "bannerTvImageUrl": "A String", # Banner image. TV size extra high resolution (2120x1192).
+        "bannerTvLowImageUrl": "A String", # Banner image. TV size low resolution (854x480).
+        "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.
+            },
+          ],
+        },
+        "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.
+            },
+          ],
+        },
+        "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.
+        "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.
+        "bannerTvMediumImageUrl": "A String", # Banner image. TV size medium resolution (1280x720).
+        "bannerMobileImageUrl": "A String", # Banner image. Mobile size (640x175).
+        "bannerTabletHdImageUrl": "A String", # Banner image. Tablet size high resolution (2276x377).
+        "bannerTvHighImageUrl": "A String", # Banner image. TV size high resolution (1920x1080).
+        "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.
+        "bannerTabletLowImageUrl": "A String", # Banner image. Tablet size low resolution (1138x188).
+        "bannerMobileExtraHdImageUrl": "A String", # Banner image. Mobile size high resolution (1440x395).
+        "bannerTabletImageUrl": "A String", # Banner image. Tablet size (1707x283).
+        "bannerMobileLowImageUrl": "A String", # Banner image. Mobile size low resolution (320x88).
+        "bannerMobileMediumHdImageUrl": "A String", # Banner image. Mobile size medium/high resolution (960x263).
+        "bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424).
+        "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360).
+      },
+      "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.
+        },
+      },
+    },
+    "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process.
+      "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines.
+      "contentIdClaimsGoodStanding": True or False, # Whether or not the channel has any unresolved claims.
+      "overallGoodStanding": True or False, # Describes the general state of the channel. This field will always show if there are any issues whatsoever with the channel. Currently this field represents the result of the logical and operation over the community guidelines good standing, the copyright strikes good standing and the content ID claims good standing, but this may change in the future.
+      "copyrightStrikesGoodStanding": True or False, # Whether or not the channel has any copyright strikes.
+    },
+    "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
new file mode 100644
index 0000000..68a4d1d
--- /dev/null
+++ b/docs/dyn/youtube_v3.guideCategories.html
@@ -0,0 +1,123 @@
+<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.guideCategories.html">guideCategories</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(part=None, regionCode=None, hl=None, id=None)</a></code></p>
+<p class="firstline">Returns a list of categories that can be associated with YouTube channels.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(part=None, regionCode=None, hl=None, id=None)</code>
+  <pre>Returns a list of categories that can be associated with YouTube channels.
+
+Args:
+  part: string, The part parameter specifies a comma-separated list of one or more guideCategory resource properties that the API response will include. The part names that you can include in the parameter value are id and snippet.
+
+If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a guideCategory resource, the snippet property contains other properties, such as the category's title. If you set part=snippet, the API response will also contain all of those nested properties. (required)
+  regionCode: string, The regionCode parameter instructs the API to return the list of guide categories available in the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
+  hl: string, The hl parameter specifies the language that will be used for text values in the API response.
+  id: string, The id parameter specifies a comma-separated list of the YouTube channel category ID(s) for the resource(s) that are being retrieved. In a guideCategory resource, the id property specifies the YouTube channel category ID.
+
+Returns:
+  An object of the form:
+
+    {
+    "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#guideCategoryListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#guideCategoryListResponse".
+    "visitorId": "A String", # The visitorId identifies the visitor.
+    "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",
+          "title": "A String", # Description of the guide category.
+        },
+        "kind": "youtube#guideCategory", # Identifies what kind of resource this is. Value: the fixed string "youtube#guideCategory".
+        "etag": "A String", # Etag of this resource.
+        "id": "A String", # The ID that YouTube uses to uniquely identify the guide category.
+      },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "totalResults": 42, # The total number of results in the result set.
+      "resultsPerPage": 42, # The number of results included in the API response.
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.html b/docs/dyn/youtube_v3.html
new file mode 100644
index 0000000..b69a986
--- /dev/null
+++ b/docs/dyn/youtube_v3.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="youtube_v3.html">YouTube Data API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="youtube_v3.activities.html">activities()</a></code>
+</p>
+<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.channelSections.html">channelSections()</a></code>
+</p>
+<p class="firstline">Returns the channelSections 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>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.guideCategories.html">guideCategories()</a></code>
+</p>
+<p class="firstline">Returns the guideCategories Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.i18nLanguages.html">i18nLanguages()</a></code>
+</p>
+<p class="firstline">Returns the i18nLanguages Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.i18nRegions.html">i18nRegions()</a></code>
+</p>
+<p class="firstline">Returns the i18nRegions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.liveBroadcasts.html">liveBroadcasts()</a></code>
+</p>
+<p class="firstline">Returns the liveBroadcasts Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.liveStreams.html">liveStreams()</a></code>
+</p>
+<p class="firstline">Returns the liveStreams Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.playlistItems.html">playlistItems()</a></code>
+</p>
+<p class="firstline">Returns the playlistItems Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.playlists.html">playlists()</a></code>
+</p>
+<p class="firstline">Returns the playlists Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.search.html">search()</a></code>
+</p>
+<p class="firstline">Returns the search Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.subscriptions.html">subscriptions()</a></code>
+</p>
+<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>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.videos.html">videos()</a></code>
+</p>
+<p class="firstline">Returns the videos Resource.</p>
+
+<p class="toc_element">
+  <code><a href="youtube_v3.watermarks.html">watermarks()</a></code>
+</p>
+<p class="firstline">Returns the watermarks Resource.</p>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.i18nLanguages.html b/docs/dyn/youtube_v3.i18nLanguages.html
new file mode 100644
index 0000000..41d29f3
--- /dev/null
+++ b/docs/dyn/youtube_v3.i18nLanguages.html
@@ -0,0 +1,111 @@
+<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.i18nLanguages.html">i18nLanguages</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(part, hl=None)</a></code></p>
+<p class="firstline">Returns a list of supported languages.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(part, hl=None)</code>
+  <pre>Returns a list of supported languages.
+
+Args:
+  part: string, The part parameter specifies a comma-separated list of one or more i18nLanguage resource properties that the API response will include. The part names that you can include in the parameter value are id and snippet. (required)
+  hl: string, The hl parameter specifies the language that should be used for text values in the API response.
+
+Returns:
+  An object of the form:
+
+    {
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
+    "items": [ # A list of supported i18n languages. In this map, the i18n language ID is the map key, and its value is the corresponding i18nLanguage resource.
+      { # An i18nLanguage resource identifies a UI language currently supported by YouTube.
+        "snippet": { # Basic details about an i18n language, such as language code and human-readable name. # The snippet object contains basic details about the i18n language, such as language code and human-readable name.
+          "name": "A String", # The human-readable name of the language in the language itself.
+          "hl": "A String", # A short BCP-47 code that uniquely identifies a language.
+        },
+        "kind": "youtube#i18nLanguage", # Identifies what kind of resource this is. Value: the fixed string "youtube#i18nLanguage".
+        "etag": "A String", # Etag of this resource.
+        "id": "A String", # The ID that YouTube uses to uniquely identify the i18n language.
+      },
+    ],
+    "kind": "youtube#i18nLanguageListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#i18nLanguageListResponse".
+    "etag": "A String", # Etag of this resource.
+    "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.i18nRegions.html b/docs/dyn/youtube_v3.i18nRegions.html
new file mode 100644
index 0000000..6537a23
--- /dev/null
+++ b/docs/dyn/youtube_v3.i18nRegions.html
@@ -0,0 +1,111 @@
+<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.i18nRegions.html">i18nRegions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(part, hl=None)</a></code></p>
+<p class="firstline">Returns a list of supported regions.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(part, hl=None)</code>
+  <pre>Returns a list of supported regions.
+
+Args:
+  part: string, The part parameter specifies a comma-separated list of one or more i18nRegion resource properties that the API response will include. The part names that you can include in the parameter value are id and snippet. (required)
+  hl: string, The hl parameter specifies the language that should be used for text values in the API response.
+
+Returns:
+  An object of the form:
+
+    {
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
+    "items": [ # A list of regions where YouTube is available. In this map, the i18n region ID is the map key, and its value is the corresponding i18nRegion resource.
+      { # A i18nRegion resource identifies a region where YouTube is available.
+        "snippet": { # Basic details about an i18n region, such as region code and human-readable name. # The snippet object contains basic details about the i18n region, such as region code and human-readable name.
+          "gl": "A String", # The region code as a 2-letter ISO country code.
+          "name": "A String", # The human-readable name of the region.
+        },
+        "kind": "youtube#i18nRegion", # Identifies what kind of resource this is. Value: the fixed string "youtube#i18nRegion".
+        "etag": "A String", # Etag of this resource.
+        "id": "A String", # The ID that YouTube uses to uniquely identify the i18n region.
+      },
+    ],
+    "kind": "youtube#i18nRegionListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#i18nRegionListResponse".
+    "etag": "A String", # Etag of this resource.
+    "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.liveBroadcasts.html b/docs/dyn/youtube_v3.liveBroadcasts.html
new file mode 100644
index 0000000..c6248be
--- /dev/null
+++ b/docs/dyn/youtube_v3.liveBroadcasts.html
@@ -0,0 +1,893 @@
+<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.liveBroadcasts.html">liveBroadcasts</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#bind">bind(id, part, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=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="#control">control(id, part, onBehalfOfContentOwner=None, displaySlate=None, onBehalfOfContentOwnerChannel=None, offsetTimeMs=None, walltime=None)</a></code></p>
+<p class="firstline">Controls the settings for a slate that can be displayed in the broadcast stream.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</a></code></p>
+<p class="firstline">Deletes a broadcast.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</a></code></p>
+<p class="firstline">Creates a broadcast.</p>
+<p class="toc_element">
+  <code><a href="#list">list(part, broadcastStatus=None, onBehalfOfContentOwner=None, pageToken=None, onBehalfOfContentOwnerChannel=None, maxResults=None, mine=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, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=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. Before calling this method, you should confirm that the value of the status.streamStatus property for the stream bound to your broadcast is active.</p>
+<p class="toc_element">
+  <code><a href="#update">update(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=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, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=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, 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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+  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 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", # Identifies what kind of resource this is. Value: the fixed string "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="control">control(id, part, onBehalfOfContentOwner=None, displaySlate=None, onBehalfOfContentOwnerChannel=None, offsetTimeMs=None, walltime=None)</code>
+  <pre>Controls the settings for a slate that can be displayed in the broadcast stream.
+
+Args:
+  id: string, The id parameter specifies the YouTube live broadcast ID that uniquely identifies the broadcast in which the slate is being updated. (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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  displaySlate: boolean, The displaySlate parameter specifies whether the slate is being enabled or disabled.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+  offsetTimeMs: string, The offsetTimeMs parameter specifies a positive time offset when the specified slate change will occur. The value is measured in milliseconds from the beginning of the broadcast's monitor stream, which is the time that the testing phase for the broadcast began. Even though it is specified in milliseconds, the value is actually an approximation, and YouTube completes the requested action as closely as possible to that time.
+
+If you do not specify a value for this parameter, then YouTube performs the action as soon as possible. See the Getting started guide for more details.
+
+Important: You should only specify a value for this parameter if your broadcast stream is delayed.
+  walltime: string, The walltime parameter specifies the wall clock time at which the specified slate change will occur.
+
+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", # Identifies what kind of resource this is. Value: the fixed string "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="delete">delete(id, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</code>
+  <pre>Deletes a broadcast.
+
+Args:
+  id: string, The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=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", # Identifies what kind of resource this is. Value: the fixed string "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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+
+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", # Identifies what kind of resource this is. Value: the fixed string "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, onBehalfOfContentOwner=None, pageToken=None, onBehalfOfContentOwnerChannel=None, maxResults=None, mine=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 current live broadcasts.
+      all - Return all broadcasts.
+      completed - Return broadcasts that have already ended.
+      upcoming - Return broadcasts that have not yet started.
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
+  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.
+  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:
+
+    {
+    "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#liveBroadcastListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcastListResponse".
+    "visitorId": "A String", # The visitorId identifies the visitor.
+    "items": [ # A list of broadcasts that match the request criteria.
+      { # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+      },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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="transition">transition(broadcastStatus, id, part, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=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. Before calling this method, you should confirm that the value of the status.streamStatus property for the stream bound to your broadcast is active.
+
+Args:
+  broadcastStatus: string, The broadcastStatus parameter identifies the state to which the broadcast is changing. Note that to transition a broadcast to either the testing or live state, the status.streamStatus must be active for the stream that the broadcast is bound to. (required)
+    Allowed values
+      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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+
+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", # Identifies what kind of resource this is. Value: the fixed string "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="update">update(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=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", # Identifies what kind of resource this is. Value: the fixed string "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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+
+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", # Identifies what kind of resource this is. Value: the fixed string "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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.liveStreams.html b/docs/dyn/youtube_v3.liveStreams.html
new file mode 100644
index 0000000..faeb3fd
--- /dev/null
+++ b/docs/dyn/youtube_v3.liveStreams.html
@@ -0,0 +1,368 @@
+<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.liveStreams.html">liveStreams</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</a></code></p>
+<p class="firstline">Deletes a video stream.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</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, onBehalfOfContentOwner=None, pageToken=None, onBehalfOfContentOwnerChannel=None, maxResults=None, mine=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, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</a></code></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, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</code>
+  <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)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</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, 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. # The status object contains information about live stream's status.
+      "streamStatus": "A String",
+    },
+    "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "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
+      },
+      "format": "A String", # The format of the video stream that you are sending to Youtube.
+    },
+    "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", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
+  }
+
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+
+Returns:
+  An object of the form:
+
+    { # A live stream describes a live ingestion point.
+      "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
+        "streamStatus": "A String",
+      },
+      "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "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
+        },
+        "format": "A String", # The format of the video stream that you are sending to Youtube.
+      },
+      "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", # 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, onBehalfOfContentOwner=None, pageToken=None, onBehalfOfContentOwnerChannel=None, maxResults=None, mine=None, id=None)</code>
+  <pre>Returns a list of video streams that match the API request parameters.
+
+Args:
+  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)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+  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.
+  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.
+  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:
+
+    {
+    "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#liveStreamListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveStreamListResponse".
+    "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. # The status object contains information about live stream's status.
+            "streamStatus": "A String",
+          },
+          "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "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
+            },
+            "format": "A String", # The format of the video stream that you are sending to Youtube.
+          },
+          "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", # Etag of this resource.
+          "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
+        },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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="update">update(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</code>
+  <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 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. # The status object contains information about live stream's status.
+      "streamStatus": "A String",
+    },
+    "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "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
+      },
+      "format": "A String", # The format of the video stream that you are sending to Youtube.
+    },
+    "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", # Etag of this resource.
+    "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
+  }
+
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+
+Returns:
+  An object of the form:
+
+    { # A live stream describes a live ingestion point.
+      "status": { # Brief description of the live stream status. # The status object contains information about live stream's status.
+        "streamStatus": "A String",
+      },
+      "kind": "youtube#liveStream", # Identifies what kind of resource this is. Value: the fixed string "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
+        },
+        "format": "A String", # The format of the video stream that you are sending to Youtube.
+      },
+      "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", # Etag of this resource.
+      "id": "A String", # The ID that YouTube assigns to uniquely identify the stream.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.playlistItems.html b/docs/dyn/youtube_v3.playlistItems.html
new file mode 100644
index 0000000..5e250ba
--- /dev/null
+++ b/docs/dyn/youtube_v3.playlistItems.html
@@ -0,0 +1,520 @@
+<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.playlistItems.html">playlistItems</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id)</a></code></p>
+<p class="firstline">Deletes a playlist item.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(part=None, body, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Adds a resource to a playlist.</p>
+<p class="toc_element">
+  <code><a href="#list">list(part=None, onBehalfOfContentOwner=None, pageToken=None, playlistId=None, videoId=None, maxResults=None, id=None)</a></code></p>
+<p class="firstline">Returns a collection of playlist items that match the API request parameters. You can retrieve all of the playlist items in a specified playlist or retrieve one or more playlist items by their unique IDs.</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">Modifies a playlist item. For example, you could update the item's position in the playlist.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id)</code>
+  <pre>Deletes a playlist item.
+
+Args:
+  id: string, The id parameter specifies the YouTube playlist item ID for the playlist item that is being deleted. In a playlistItem resource, the id property specifies the playlist item's ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body, onBehalfOfContentOwner=None)</code>
+  <pre>Adds a resource to a playlist.
+
+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 snippet, contentDetails, and status. (required)
+  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.
+      # 
+      # YouTube uses playlists to identify special collections of videos for a channel, such as:
+      # - uploaded videos
+      # - 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. 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", # Identifies what kind of resource this is. Value: the fixed string "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 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": { # 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.
+        },
+      },
+    },
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
+  }
+
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+
+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.
+        #
+        # YouTube uses playlists to identify special collections of videos for a channel, such as:
+        # - uploaded videos
+        # - 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. 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", # Identifies what kind of resource this is. Value: the fixed string "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 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": { # 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.
+          },
+        },
+      },
+      "etag": "A String", # Etag of this resource.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(part=None, onBehalfOfContentOwner=None, pageToken=None, playlistId=None, videoId=None, maxResults=None, id=None)</code>
+  <pre>Returns a collection of playlist items that match the API request parameters. You can retrieve all of the playlist items in a specified playlist or retrieve one or more playlist items by their unique IDs.
+
+Args:
+  part: string, The part parameter specifies a comma-separated list of one or more playlistItem 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.
+
+If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlistItem resource, the snippet property contains numerous fields, including the title, description, position, and resourceId properties. As such, if you set part=snippet, the API response will contain all of those properties. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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.
+  playlistId: string, The playlistId parameter specifies the unique ID of the playlist for which you want to retrieve playlist items. Note that even though this is an optional parameter, every request to retrieve playlist items must specify a value for either the id parameter or the playlistId parameter.
+  videoId: string, The videoId parameter specifies that the request should return only the playlist items that contain the specified video.
+  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
+  id: string, The id parameter specifies a comma-separated list of one or more unique playlist item IDs.
+
+Returns:
+  An object of the form:
+
+    {
+    "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#playlistItemListResponse", # Identifies what kind of resource this is. Value: the fixed string "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.
+            #
+            # YouTube uses playlists to identify special collections of videos for a channel, such as:
+            # - uploaded videos
+            # - 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. 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", # Identifies what kind of resource this is. Value: the fixed string "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 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": { # 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.
+              },
+            },
+          },
+          "etag": "A String", # Etag of this resource.
+          "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
+        },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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="update">update(part=None, body)</code>
+  <pre>Modifies a playlist item. For example, you could update the item's position in the playlist.
+
+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 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 playlist item can specify a start time and end time, which identify the times portion of the video that should play when users watch the video in the playlist. If your request is updating a playlist item that sets these values, and the request's part parameter value includes the contentDetails part, the playlist item's start and end times will be updated to whatever value the request body specifies. If the request body does not specify values, the existing start and end times will be removed and replaced with the default settings. (required)
+  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.
+      # 
+      # YouTube uses playlists to identify special collections of videos for a channel, such as:
+      # - uploaded videos
+      # - 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. 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", # Identifies what kind of resource this is. Value: the fixed string "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 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": { # 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.
+        },
+      },
+    },
+    "etag": "A String", # Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
+  }
+
+
+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.
+        #
+        # YouTube uses playlists to identify special collections of videos for a channel, such as:
+        # - uploaded videos
+        # - 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. 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", # Identifies what kind of resource this is. Value: the fixed string "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 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": { # 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.
+          },
+        },
+      },
+      "etag": "A String", # Etag of this resource.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the playlist item.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.playlists.html b/docs/dyn/youtube_v3.playlists.html
new file mode 100644
index 0000000..52bc5df
--- /dev/null
+++ b/docs/dyn/youtube_v3.playlists.html
@@ -0,0 +1,511 @@
+<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.playlists.html">playlists</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#delete">delete(id, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Deletes a playlist.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</a></code></p>
+<p class="firstline">Creates a playlist.</p>
+<p class="toc_element">
+  <code><a href="#list">list(part=None, onBehalfOfContentOwner=None, pageToken=None, onBehalfOfContentOwnerChannel=None, channelId=None, mine=None, maxResults=None, id=None)</a></code></p>
+<p class="firstline">Returns a collection of playlists that match the API request parameters. For example, you can retrieve all playlists that the authenticated user owns, or you can retrieve one or more playlists by their unique IDs.</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">Modifies a playlist. For example, you could change a playlist's title, description, or privacy status.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="delete">delete(id, onBehalfOfContentOwner=None)</code>
+  <pre>Deletes a playlist.
+
+Args:
+  id: string, The id parameter specifies the YouTube playlist ID for the playlist that is being deleted. In a playlist resource, the id property specifies the playlist's ID. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None)</code>
+  <pre>Creates a playlist.
+
+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 snippet and status. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+      # 
+      # YouTube also uses playlists to identify special collections of videos for a channel, such as:
+      # - uploaded videos
+      # - 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.
+      # 
+      # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+      "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": { # 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", # Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+  }
+
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+
+Returns:
+  An object of the form:
+
+    { # 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.
+        #
+        # YouTube also uses playlists to identify special collections of videos for a channel, such as:
+        # - uploaded videos
+        # - 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.
+        #
+        # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+        "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": { # 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", # Etag of this resource.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(part=None, onBehalfOfContentOwner=None, pageToken=None, onBehalfOfContentOwnerChannel=None, channelId=None, mine=None, maxResults=None, id=None)</code>
+  <pre>Returns a collection of playlists that match the API request parameters. For example, you can retrieve all playlists that the authenticated user owns, or you can retrieve one or more playlists by their unique IDs.
+
+Args:
+  part: string, The part parameter specifies a comma-separated list of one or more playlist resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and status.
+
+If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlist resource, the snippet property contains properties like author, title, description, tags, and timeCreated. As such, if you set part=snippet, the API response will contain all of those properties. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+  channelId: string, This value indicates that the API should only return the specified channel's playlists.
+  mine: boolean, Set this parameter's value to true to instruct the API to only return playlists owned by the authenticated user.
+  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
+  id: string, The id parameter specifies a comma-separated list of the YouTube playlist ID(s) for the resource(s) that are being retrieved. In a playlist resource, the id property specifies the playlist's YouTube playlist ID.
+
+Returns:
+  An object of the form:
+
+    {
+    "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", # Identifies what kind of resource this is. Value: the fixed string "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.
+            #
+            # YouTube also uses playlists to identify special collections of videos for a channel, such as:
+            # - uploaded videos
+            # - 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.
+            #
+            # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+            "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": { # 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", # Etag of this resource.
+          "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+        },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
+  <pre>Modifies a playlist. For example, you could change a playlist's title, description, or privacy status.
+
+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 snippet 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 playlist's privacy setting is contained in the status part. As such, if your request is updating a private playlist, and the request's part parameter value includes the status part, the playlist'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 playlist will revert to the default privacy setting. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # 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.
+      # 
+      # YouTube also uses playlists to identify special collections of videos for a channel, such as:
+      # - uploaded videos
+      # - 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.
+      # 
+      # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+      "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": { # 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", # Etag of this resource.
+    "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+  }
+
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+
+Returns:
+  An object of the form:
+
+    { # 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.
+        #
+        # YouTube also uses playlists to identify special collections of videos for a channel, such as:
+        # - uploaded videos
+        # - 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.
+        #
+        # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+        "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": { # 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", # Etag of this resource.
+      "id": "A String", # The ID that YouTube uses to uniquely identify the playlist.
+    }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.search.html b/docs/dyn/youtube_v3.search.html
new file mode 100644
index 0000000..650ad9e
--- /dev/null
+++ b/docs/dyn/youtube_v3.search.html
@@ -0,0 +1,252 @@
+<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.search.html">search</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(part=None, eventType=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, eventType=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:
+  part: string, The part parameter specifies a comma-separated list of one or more search resource properties that the API response will include. The part names that you can include in the parameter value are id and snippet.
+
+If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a search result, the snippet property contains other properties that identify the result's title, description, and so forth. If you set part=snippet, the API response will also contain all of those nested properties. (required)
+  eventType: string, The eventType parameter restricts a search to broadcast events.
+    Allowed values
+      completed - Only include completed broadcasts.
+      live - Only include active broadcasts.
+      upcoming - Only include upcoming broadcasts.
+  channelId: string, The channelId parameter indicates that the API response should only contain resources created by the channel
+  videoSyndicated: string, The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com.
+    Allowed values
+      any - Return all videos, syndicated or not.
+      true - Only retrieve syndicated videos.
+  channelType: string, The channelType parameter lets you restrict a search to a particular type of channel.
+    Allowed values
+      any - Return all channels.
+      show - Only retrieve shows.
+  videoCaption: string, The videoCaption parameter indicates whether the API should filter video search results based on whether they have captions.
+    Allowed values
+      any - Do not filter results based on caption availability.
+      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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  forContentOwner: boolean, Note: This parameter is intended exclusively for YouTube content partners.
+
+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 using 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. The value is a comma-separated list of resource types.
+  topicId: string, The topicId parameter indicates that the API response should only contain resources associated with the specified topic. The value identifies a Freebase topic ID.
+  publishedBefore: string, The publishedBefore parameter indicates that the API response should only contain resources created before the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
+  videoDimension: string, The videoDimension parameter lets you restrict a search to only retrieve 2D or 3D videos.
+    Allowed values
+      2d - Restrict search results to exclude 3D videos.
+      3d - Restrict search results to only include 3D videos.
+      any - Include both 3D and non-3D videos in returned results. This is the default value.
+  videoLicense: string, The videoLicense parameter filters search results to only include videos with a particular license. YouTube lets video uploaders choose to attach either the Creative Commons license or the standard YouTube license to each of their videos.
+    Allowed values
+      any - Return all videos, regardless of which license they have, that match the query parameters.
+      creativeCommon - Only return videos that have a Creative Commons license. Users can reuse videos with this license in other videos that they create. Learn more.
+      youtube - Only return videos that have the standard YouTube license.
+  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
+  videoType: string, The videoType parameter lets you restrict a search to a particular type of videos.
+    Allowed values
+      any - Return all videos.
+      episode - Only retrieve episodes of shows.
+      movie - Only retrieve movies.
+  videoDefinition: string, The videoDefinition parameter lets you restrict a search to only include either high definition (HD) or standard definition (SD) videos. HD videos are available for playback in at least 720p, though higher resolutions, like 1080p, might also be available.
+    Allowed values
+      any - Return all videos, regardless of their resolution.
+      high - Only retrieve HD videos.
+      standard - Only retrieve videos in standard definition.
+  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.
+  relatedToVideoId: string, The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies. The parameter value must be set to a YouTube video ID and, if you are using this parameter, the type parameter must be set to video.
+  videoDuration: string, The videoDuration parameter filters video search results based on their duration.
+    Allowed values
+      any - Do not filter video search results based on their duration. This is the default value.
+      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. If you set this parameter to true, then the type parameter's value must also be set to video.
+  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. This is the default parameter value.
+      none - YouTube will not filter 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.
+      true - Only retrieve embeddable videos.
+  videoCategoryId: string, The videoCategoryId parameter filters video search results based on their category.
+  order: string, The order parameter specifies the method that will be used to order resources in the API response.
+    Allowed values
+      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 alphabetically by title.
+      videoCount - Channels are sorted in descending order of their number of uploaded videos.
+      viewCount - Resources are sorted from highest to lowest number of views.
+
+Returns:
+  An object of the form:
+
+    {
+    "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", # Identifies what kind of resource this is. Value: the fixed string "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": { # 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.
+            },
+          },
+          "title": "A String", # The title of the search result.
+          "channelId": "A String", # The value that YouTube uses to uniquely identify the channel that published the resource that the search result identifies.
+          "publishedAt": "A String", # The creation date and time of the resource that the search result identifies. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+          "liveBroadcastContent": "A String", # It indicates if the resource (video or channel) has upcoming/active live broadcast content. Or it's "none" if there is not any upcoming/active live broadcasts.
+          "channelTitle": "A String", # The title of the channel that published the resource that the search result identifies.
+          "description": "A String", # A description of the search result.
+        },
+        "kind": "youtube#searchResult", # Identifies what kind of resource this is. Value: the fixed string "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", # 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.
+        },
+      },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.subscriptions.html b/docs/dyn/youtube_v3.subscriptions.html
new file mode 100644
index 0000000..0bda050
--- /dev/null
+++ b/docs/dyn/youtube_v3.subscriptions.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="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.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(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, channelId=None, mine=None, mySubscribers=None, id=None, onBehalfOfContentOwner=None, pageToken=None, forChannelId=None, onBehalfOfContentOwnerChannel=None, maxResults=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>
+<p class="firstline">Retrieves the next page of results.</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 parameter specifies the YouTube subscription ID for the resource that is being deleted. In a subscription resource, the id property specifies the YouTube subscription ID. (required)
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body)</code>
+  <pre>Adds a subscription for the authenticated user's channel.
+
+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 snippet and contentDetails. (required)
+  body: object, The request body. (required)
+    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", # Identifies what kind of resource this is. Value: the fixed string "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.
+      "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 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.
+      "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.
+        },
+      },
+    },
+    "id": "A String", # The ID that YouTube uses to uniquely identify the subscription.
+  }
+
+
+Returns:
+  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", # Identifies what kind of resource this is. Value: the fixed string "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.
+        "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 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.
+        "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.
+          },
+        },
+      },
+      "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, channelId=None, mine=None, mySubscribers=None, id=None, onBehalfOfContentOwner=None, pageToken=None, forChannelId=None, onBehalfOfContentOwnerChannel=None, maxResults=None, order=None)</code>
+  <pre>Returns subscription resources that match the API request criteria.
+
+Args:
+  part: string, The part parameter specifies a comma-separated list of one or more subscription resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails.
+
+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)
+  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.
+  mySubscribers: boolean, Set this parameter's value to true to retrieve a feed of the subscribers of the authenticated user.
+  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.
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  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.
+  forChannelId: string, The forChannelId parameter specifies a comma-separated list of channel IDs. The API response will then only contain subscriptions matching those channels.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
+  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.
+
+Returns:
+  An object of the form:
+
+    {
+    "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", # Identifies what kind of resource this is. Value: the fixed string "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", # Identifies what kind of resource this is. Value: the fixed string "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.
+            "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 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.
+            "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.
+              },
+            },
+          },
+          "id": "A String", # The ID that YouTube uses to uniquely identify the subscription.
+        },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.thumbnails.html b/docs/dyn/youtube_v3.thumbnails.html
new file mode 100644
index 0000000..24d40ed
--- /dev/null
+++ b/docs/dyn/youtube_v3.thumbnails.html
@@ -0,0 +1,130 @@
+<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, onBehalfOfContentOwner=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, onBehalfOfContentOwner=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.
+  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:
+
+    {
+    "eventId": "A String", # Serialized EventId of the request which produced this response.
+    "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#thumbnailSetResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#thumbnailSetResponse".
+    "etag": "A String", # Etag of this resource.
+    "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
new file mode 100644
index 0000000..9d682b3
--- /dev/null
+++ b/docs/dyn/youtube_v3.videoCategories.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="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.videoCategories.html">videoCategories</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#list">list(part, regionCode=None, hl=None, id=None)</a></code></p>
+<p class="firstline">Returns a list of categories that can be associated with YouTube videos.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="list">list(part, regionCode=None, hl=None, id=None)</code>
+  <pre>Returns a list of categories that can be associated with YouTube videos.
+
+Args:
+  part: string, The part parameter specifies the videoCategory resource parts that the API response will include. Supported values are id and snippet. (required)
+  regionCode: string, The regionCode parameter instructs the API to return the list of video categories available in the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
+  hl: string, The hl parameter specifies the language that should be used for text values in the API response.
+  id: string, The id parameter specifies a comma-separated list of video category IDs for the resources that you are retrieving.
+
+Returns:
+  An object of the form:
+
+    {
+    "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#videoCategoryListResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#videoCategoryListResponse".
+    "visitorId": "A String", # The visitorId identifies the visitor.
+    "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": { # Basic details about a video category, such as its localized title. # The snippet object contains basic details about the video category, including its title.
+          "assignable": True or False,
+          "channelId": "UCBR8-60-B28hp2BmDPdntcQ", # The YouTube channel that created the video category.
+          "title": "A String", # The video category's title.
+        },
+        "kind": "youtube#videoCategory", # Identifies what kind of resource this is. Value: the fixed string "youtube#videoCategory".
+        "etag": "A String", # Etag of this resource.
+        "id": "A String", # The ID that YouTube uses to uniquely identify the video category.
+      },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "totalResults": 42, # The total number of results in the result set.
+      "resultsPerPage": 42, # The number of results included in the API response.
+    },
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.videos.html b/docs/dyn/youtube_v3.videos.html
new file mode 100644
index 0000000..a4364e8
--- /dev/null
+++ b/docs/dyn/youtube_v3.videos.html
@@ -0,0 +1,1442 @@
+<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.videos.html">videos</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <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="#getRating">getRating(id, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Retrieves the ratings that the authorized user gave to a list of specified videos.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, notifySubscribers=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(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, regionCode=None, myRating=None, videoCategoryId=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">Add a like or dislike rating to a video or remove a 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>
+<div class="method">
+    <code class="details" id="delete">delete(id, onBehalfOfContentOwner=None)</code>
+  <pre>Deletes a YouTube video.
+
+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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 must be linked to the specified YouTube content owner.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getRating">getRating(id, onBehalfOfContentOwner=None)</code>
+  <pre>Retrieves the ratings that the authorized user gave to a list of specified videos.
+
+Args:
+  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) for which you are retrieving rating data. In a video resource, the id property specifies the video's ID. (required)
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+
+Returns:
+  An object of the form:
+
+    {
+    "items": [ # A list of ratings that match the request criteria.
+      {
+        "rating": "A String",
+        "videoId": "A String",
+      },
+    ],
+    "kind": "youtube#videoGetRatingResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#videoGetRatingResponse".
+    "etag": "A String", # Etag of this resource.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, notifySubscribers=None, autoLevels=None)</code>
+  <pre>Uploads a video to YouTube and optionally sets the video'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 snippet, contentDetails, fileDetails, liveStreamingDetails, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails. However, not all of those parts contain properties that can be set when setting or updating a video's metadata. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A video resource represents a YouTube video.
+    "liveStreamingDetails": { # Details about the live streaming metadata. # The liveStreamingDetails object contains metadata about a live video broadcast. The object will only be present in a video resource if the video is an upcoming, live, or completed live broadcast.
+      "scheduledEndTime": "A String", # The time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. If the value is empty or the property is not present, then the broadcast is scheduled to continue indefinitely.
+      "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
+      "actualStartTime": "A String", # The time that the broadcast actually started. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast begins.
+      "actualEndTime": "A String", # The time that the broadcast actually ended. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast is over.
+      "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    },
+    "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+      "description": "A String", # The video's description.
+      "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
+        "A String",
+      ],
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
+      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
+      "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": { # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+      "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
+      "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
+      "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 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",
+      ],
+    },
+    "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
+      "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
+        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+          "A String",
+        ],
+        "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
+      },
+    },
+    "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
+      "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
+      "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
+        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+          "A String",
+        ],
+        "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.
+        "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
+        "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
+        "russiaRating": "A String", # Rating system in Russia
+        "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
+        "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
+        "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+        "mibacRating": "A String", # Rating system in Italy - Ministero dei Beni e delle Attivita Culturali e del Turismo
+        "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.
+          "A String",
+        ],
+        "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
+          "A String",
+        ],
+      },
+      "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
+      "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.
+    },
+    "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": { # 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.
+        "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.
+      "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
+          # - Date only: YYYY-MM-DD
+          # - Naive time: YYYY-MM-DDTHH:MM:SS
+          # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
+      "durationMs": "A String", # The length of the uploaded video in milliseconds.
+      "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
+      "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
+      "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
+        { # Information about a video stream.
+          "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
+          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+          "codec": "A String", # The video codec that the stream uses.
+          "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
+          "heightPixels": 42, # The encoded video content's height in pixels.
+          "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
+          "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
+          "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
+        },
+      ],
+      "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
+        { # Information about an audio stream.
+          "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
+          "codec": "A String", # The audio codec that the stream uses.
+          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+          "channelCount": 42, # The number of audio channels that the stream contains.
+        },
+      ],
+    },
+    "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
+        # 
+        # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
+      "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
+      "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+      "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
+      "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+      "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
+      "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
+      "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
+        "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
+        "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
+            # 100 * parts_processed / parts_total
+            #
+            # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
+        "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
+      },
+      "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+    },
+    "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", # Etag of this resource.
+    "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.
+      "publishAt": "A String", # The date and time when the video is scheduled to publish. It can be set only if the privacy status of the video is private. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "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.
+    },
+    "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",
+      ],
+    },
+    "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": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
+        "latitude": 3.14, # Latitude in degrees.
+        "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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  stabilize: boolean, The stabilize parameter indicates whether YouTube should adjust the video to remove shaky camera motions.
+  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 specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, 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.
+  notifySubscribers: boolean, The notifySubscribers parameter indicates whether YouTube should send notification to subscribers about the inserted video.
+  autoLevels: boolean, The autoLevels parameter indicates whether YouTube should automatically enhance the video's lighting and color.
+
+Returns:
+  An object of the form:
+
+    { # A video resource represents a YouTube video.
+      "liveStreamingDetails": { # Details about the live streaming metadata. # The liveStreamingDetails object contains metadata about a live video broadcast. The object will only be present in a video resource if the video is an upcoming, live, or completed live broadcast.
+        "scheduledEndTime": "A String", # The time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. If the value is empty or the property is not present, then the broadcast is scheduled to continue indefinitely.
+        "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
+        "actualStartTime": "A String", # The time that the broadcast actually started. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast begins.
+        "actualEndTime": "A String", # The time that the broadcast actually ended. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast is over.
+        "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      },
+      "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+        "description": "A String", # The video's description.
+        "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
+          "A String",
+        ],
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
+        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
+        "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": { # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+        "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
+        "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
+        "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 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",
+        ],
+      },
+      "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
+        "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
+          "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+            "A String",
+          ],
+          "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
+        },
+      },
+      "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
+        "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
+        "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
+          "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+            "A String",
+          ],
+          "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.
+          "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
+          "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
+          "russiaRating": "A String", # Rating system in Russia
+          "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
+          "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
+          "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+          "mibacRating": "A String", # Rating system in Italy - Ministero dei Beni e delle Attivita Culturali e del Turismo
+          "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.
+            "A String",
+          ],
+          "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
+            "A String",
+          ],
+        },
+        "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
+        "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.
+      },
+      "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": { # 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.
+          "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.
+        "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
+            # - Date only: YYYY-MM-DD
+            # - Naive time: YYYY-MM-DDTHH:MM:SS
+            # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
+        "durationMs": "A String", # The length of the uploaded video in milliseconds.
+        "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
+        "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
+        "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
+          { # Information about a video stream.
+            "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
+            "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+            "codec": "A String", # The video codec that the stream uses.
+            "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
+            "heightPixels": 42, # The encoded video content's height in pixels.
+            "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
+            "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
+            "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
+          },
+        ],
+        "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
+          { # Information about an audio stream.
+            "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
+            "codec": "A String", # The audio codec that the stream uses.
+            "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+            "channelCount": 42, # The number of audio channels that the stream contains.
+          },
+        ],
+      },
+      "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
+          #
+          # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
+        "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
+        "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+        "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
+        "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+        "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
+        "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
+        "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
+          "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
+          "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
+              # 100 * parts_processed / parts_total
+              #
+              # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
+          "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
+        },
+        "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+      },
+      "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", # Etag of this resource.
+      "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.
+        "publishAt": "A String", # The date and time when the video is scheduled to publish. It can be set only if the privacy status of the video is private. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "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.
+      },
+      "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",
+        ],
+      },
+      "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": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
+          "latitude": 3.14, # Latitude in degrees.
+          "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(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, regionCode=None, myRating=None, videoCategoryId=None, id=None)</code>
+  <pre>Returns a list of videos that match the API request parameters.
+
+Args:
+  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, fileDetails, liveStreamingDetails, player, processingDetails, recordingDetails, statistics, status, suggestions, 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)
+  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.
+
+Note: This parameter is supported for use in conjunction with the myRating parameter, but it is not supported for use in conjunction with the id parameter.
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  locale: string, DEPRECATED
+  chart: string, The chart parameter identifies the chart that you want to retrieve.
+    Allowed values
+      mostPopular - Return the most popular videos for the specified content region and video category.
+  maxResults: integer, The maxResults parameter specifies the maximum number of items that should be returned in the result set.
+
+Note: This parameter is supported for use in conjunction with the myRating parameter, but it is not supported for use in conjunction with the id parameter.
+  regionCode: string, The regionCode parameter instructs the API to select a video chart available in the specified region. This parameter can only be used in conjunction with the chart parameter. The parameter value is an ISO 3166-1 alpha-2 country code.
+  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.
+  videoCategoryId: string, The videoCategoryId parameter identifies the video category for which the chart should be retrieved. This parameter can only be used in conjunction with the chart parameter. By default, charts are not restricted to a particular category.
+  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:
+
+    {
+    "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", # Identifies what kind of resource this is. Value: the fixed string "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.
+          "liveStreamingDetails": { # Details about the live streaming metadata. # The liveStreamingDetails object contains metadata about a live video broadcast. The object will only be present in a video resource if the video is an upcoming, live, or completed live broadcast.
+            "scheduledEndTime": "A String", # The time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. If the value is empty or the property is not present, then the broadcast is scheduled to continue indefinitely.
+            "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
+            "actualStartTime": "A String", # The time that the broadcast actually started. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast begins.
+            "actualEndTime": "A String", # The time that the broadcast actually ended. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast is over.
+            "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+          },
+          "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+            "description": "A String", # The video's description.
+            "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
+              "A String",
+            ],
+            "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
+            "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
+            "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": { # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+            "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
+            "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
+            "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 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",
+            ],
+          },
+          "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
+            "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
+              "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+                "A String",
+              ],
+              "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
+            },
+          },
+          "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
+            "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
+            "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
+              "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+                "A String",
+              ],
+              "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.
+              "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
+              "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
+              "russiaRating": "A String", # Rating system in Russia
+              "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
+              "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
+              "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+              "mibacRating": "A String", # Rating system in Italy - Ministero dei Beni e delle Attivita Culturali e del Turismo
+              "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.
+                "A String",
+              ],
+              "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
+                "A String",
+              ],
+            },
+            "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
+            "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.
+          },
+          "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": { # 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.
+              "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.
+            "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
+                # - Date only: YYYY-MM-DD
+                # - Naive time: YYYY-MM-DDTHH:MM:SS
+                # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
+            "durationMs": "A String", # The length of the uploaded video in milliseconds.
+            "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
+            "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
+            "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
+              { # Information about a video stream.
+                "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
+                "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+                "codec": "A String", # The video codec that the stream uses.
+                "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
+                "heightPixels": 42, # The encoded video content's height in pixels.
+                "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
+                "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
+                "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
+              },
+            ],
+            "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
+              { # Information about an audio stream.
+                "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
+                "codec": "A String", # The audio codec that the stream uses.
+                "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+                "channelCount": 42, # The number of audio channels that the stream contains.
+              },
+            ],
+          },
+          "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
+              #
+              # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
+            "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
+            "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+            "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
+            "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+            "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
+            "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
+            "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
+              "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
+              "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
+                  # 100 * parts_processed / parts_total
+                  #
+                  # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
+              "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
+            },
+            "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+          },
+          "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", # Etag of this resource.
+          "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.
+            "publishAt": "A String", # The date and time when the video is scheduled to publish. It can be set only if the privacy status of the video is private. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+            "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.
+          },
+          "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",
+            ],
+          },
+          "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": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
+              "latitude": 3.14, # Latitude in degrees.
+              "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.
+              },
+            ],
+          },
+        },
+    ],
+    "tokenPagination": { # Stub token pagination template to suppress results.
+    },
+    "etag": "A String", # Etag of this resource.
+    "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.
+      "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>Add a like or dislike rating to a video or remove a rating from a video.
+
+Args:
+  id: string, The id parameter specifies the YouTube video ID of the video that is being rated or having its rating removed. (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 rating that the authenticated user had previously set for the video.
+  onBehalfOfContentOwner: string, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(part=None, body, onBehalfOfContentOwner=None)</code>
+  <pre>Updates a video'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 snippet, contentDetails, fileDetails, liveStreamingDetails, player, processingDetails, recordingDetails, statistics, status, suggestions, and topicDetails.
+
+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 video's privacy setting is contained in the status part. As such, if your request is updating a private video, and the request's part parameter value includes the status part, the video'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 video will revert to the default privacy setting.
+
+In addition, not all of those parts contain properties that can be set when setting or updating a video's metadata. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A video resource represents a YouTube video.
+    "liveStreamingDetails": { # Details about the live streaming metadata. # The liveStreamingDetails object contains metadata about a live video broadcast. The object will only be present in a video resource if the video is an upcoming, live, or completed live broadcast.
+      "scheduledEndTime": "A String", # The time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. If the value is empty or the property is not present, then the broadcast is scheduled to continue indefinitely.
+      "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
+      "actualStartTime": "A String", # The time that the broadcast actually started. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast begins.
+      "actualEndTime": "A String", # The time that the broadcast actually ended. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast is over.
+      "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+    },
+    "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+      "description": "A String", # The video's description.
+      "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
+        "A String",
+      ],
+      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
+      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
+      "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": { # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+      "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
+      "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
+      "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 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",
+      ],
+    },
+    "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
+      "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
+        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+          "A String",
+        ],
+        "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
+      },
+    },
+    "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
+      "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
+      "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
+        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+          "A String",
+        ],
+        "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.
+        "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
+        "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
+        "russiaRating": "A String", # Rating system in Russia
+        "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
+        "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
+        "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+        "mibacRating": "A String", # Rating system in Italy - Ministero dei Beni e delle Attivita Culturali e del Turismo
+        "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.
+          "A String",
+        ],
+        "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
+          "A String",
+        ],
+      },
+      "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
+      "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.
+    },
+    "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": { # 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.
+        "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.
+      "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
+          # - Date only: YYYY-MM-DD
+          # - Naive time: YYYY-MM-DDTHH:MM:SS
+          # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
+      "durationMs": "A String", # The length of the uploaded video in milliseconds.
+      "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
+      "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
+      "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
+        { # Information about a video stream.
+          "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
+          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+          "codec": "A String", # The video codec that the stream uses.
+          "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
+          "heightPixels": 42, # The encoded video content's height in pixels.
+          "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
+          "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
+          "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
+        },
+      ],
+      "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
+        { # Information about an audio stream.
+          "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
+          "codec": "A String", # The audio codec that the stream uses.
+          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+          "channelCount": 42, # The number of audio channels that the stream contains.
+        },
+      ],
+    },
+    "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
+        # 
+        # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
+      "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
+      "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+      "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
+      "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+      "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
+      "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
+      "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
+        "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
+        "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
+            # 100 * parts_processed / parts_total
+            #
+            # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
+        "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
+      },
+      "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+    },
+    "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", # Etag of this resource.
+    "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.
+      "publishAt": "A String", # The date and time when the video is scheduled to publish. It can be set only if the privacy status of the video is private. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      "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.
+    },
+    "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",
+      ],
+    },
+    "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": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
+        "latitude": 3.14, # Latitude in degrees.
+        "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, Note: This parameter is intended exclusively for YouTube content partners.
+
+The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube CMS user who 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 must be linked to the specified YouTube content owner.
+
+Returns:
+  An object of the form:
+
+    { # A video resource represents a YouTube video.
+      "liveStreamingDetails": { # Details about the live streaming metadata. # The liveStreamingDetails object contains metadata about a live video broadcast. The object will only be present in a video resource if the video is an upcoming, live, or completed live broadcast.
+        "scheduledEndTime": "A String", # The time that the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. If the value is empty or the property is not present, then the broadcast is scheduled to continue indefinitely.
+        "concurrentViewers": "A String", # The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
+        "actualStartTime": "A String", # The time that the broadcast actually started. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast begins.
+        "actualEndTime": "A String", # The time that the broadcast actually ended. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. This value will not be available until the broadcast is over.
+        "scheduledStartTime": "A String", # The time that the broadcast is scheduled to begin. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+      },
+      "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
+        "description": "A String", # The video's description.
+        "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
+          "A String",
+        ],
+        "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
+        "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "liveBroadcastContent": "A String", # Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
+        "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": { # 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", # Identifies what kind of resource this is. Value: the fixed string "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.
+        "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
+        "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
+        "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 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",
+        ],
+      },
+      "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
+        "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
+          "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+            "A String",
+          ],
+          "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
+        },
+      },
+      "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
+        "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
+        "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
+          "exception": [ # A list of region codes that identify countries where the default policy do not apply.
+            "A String",
+          ],
+          "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.
+          "catvfrRating": "A String", # Rating system for French Canadian TV - Regie du cinema
+          "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
+          "russiaRating": "A String", # Rating system in Russia
+          "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
+          "catvRating": "A String", # Rating system for Canadian TV - Canadian TV Classification System
+          "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
+          "mibacRating": "A String", # Rating system in Italy - Ministero dei Beni e delle Attivita Culturali e del Turismo
+          "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.
+            "A String",
+          ],
+          "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
+            "A String",
+          ],
+        },
+        "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
+        "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.
+      },
+      "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": { # 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.
+          "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.
+        "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
+            # - Date only: YYYY-MM-DD
+            # - Naive time: YYYY-MM-DDTHH:MM:SS
+            # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
+        "durationMs": "A String", # The length of the uploaded video in milliseconds.
+        "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
+        "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
+        "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
+          { # Information about a video stream.
+            "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
+            "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+            "codec": "A String", # The video codec that the stream uses.
+            "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
+            "heightPixels": 42, # The encoded video content's height in pixels.
+            "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
+            "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
+            "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
+          },
+        ],
+        "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
+          { # Information about an audio stream.
+            "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
+            "codec": "A String", # The audio codec that the stream uses.
+            "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
+            "channelCount": 42, # The number of audio channels that the stream contains.
+          },
+        ],
+      },
+      "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
+          #
+          # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
+        "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
+        "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+        "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
+        "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+        "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
+        "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
+        "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
+          "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
+          "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
+              # 100 * parts_processed / parts_total
+              #
+              # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
+          "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
+        },
+        "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
+      },
+      "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", # Etag of this resource.
+      "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.
+        "publishAt": "A String", # The date and time when the video is scheduled to publish. It can be set only if the privacy status of the video is private. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
+        "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.
+      },
+      "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",
+        ],
+      },
+      "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": { # Geographical coordinates of a point, in WGS84. # The geolocation information associated with the video.
+          "latitude": 3.14, # Latitude in degrees.
+          "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>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/youtube_v3.watermarks.html b/docs/dyn/youtube_v3.watermarks.html
new file mode 100644
index 0000000..5820bf8
--- /dev/null
+++ b/docs/dyn/youtube_v3.watermarks.html
@@ -0,0 +1,123 @@
+<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.watermarks.html">watermarks</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#set">set(channelId, body=None, media_body=None, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Uploads a watermark image to YouTube and sets it for a channel.</p>
+<p class="toc_element">
+  <code><a href="#unset">unset(channelId, onBehalfOfContentOwner=None)</a></code></p>
+<p class="firstline">Deletes a watermark.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="set">set(channelId, body=None, media_body=None, onBehalfOfContentOwner=None)</code>
+  <pre>Uploads a watermark image to YouTube and sets it for a channel.
+
+Args:
+  channelId: string, The channelId parameter specifies a YouTube channel ID for which the watermark is being provided. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{
+    "targetChannelId": "A String",
+    "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.
+      "cornerPosition": "A String", # Describes in which corner of the video the visual widget will appear.
+      "type": "A String", # Defines the position type.
+    },
+    "imageUrl": "A String",
+    "timing": { # Describes a temporal position of a visual widget inside a video.
+      "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.
+    },
+    "imageBytes": "A String",
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+  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.
+</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="unset">unset(channelId, onBehalfOfContentOwner=None)</code>
+  <pre>Deletes a watermark.
+
+Args:
+  channelId: string, The channelId parameter specifies a YouTube channel ID for which the watermark is being unset. (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.
+</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/epy/api-objects.txt b/docs/epy/api-objects.txt
new file mode 100644
index 0000000..f1ef59e
--- /dev/null
+++ b/docs/epy/api-objects.txt
@@ -0,0 +1,280 @@
+googleapiclient	googleapiclient-module.html
+googleapiclient.channel	googleapiclient.channel-module.html
+googleapiclient.channel.CHANNEL_PARAMS	googleapiclient.channel-module.html#CHANNEL_PARAMS
+googleapiclient.channel.notification_from_headers	googleapiclient.channel-module.html#notification_from_headers
+googleapiclient.channel._upper_header_keys	googleapiclient.channel-module.html#_upper_header_keys
+googleapiclient.channel.X_GOOG_RESOURCE_STATE	googleapiclient.channel-module.html#X_GOOG_RESOURCE_STATE
+googleapiclient.channel.X_GOOG_MESSAGE_NUMBER	googleapiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER
+googleapiclient.channel.EPOCH	googleapiclient.channel-module.html#EPOCH
+googleapiclient.channel.X_GOOG_RESOURCE_URI	googleapiclient.channel-module.html#X_GOOG_RESOURCE_URI
+googleapiclient.channel.X_GOOG_CHANNEL_ID	googleapiclient.channel-module.html#X_GOOG_CHANNEL_ID
+googleapiclient.channel.new_webhook_channel	googleapiclient.channel-module.html#new_webhook_channel
+googleapiclient.channel.X_GOOG_RESOURCE_ID	googleapiclient.channel-module.html#X_GOOG_RESOURCE_ID
+googleapiclient.discovery	googleapiclient.discovery-module.html
+googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE	googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE
+googleapiclient.discovery._cast	googleapiclient.discovery-module.html#_cast
+googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS	googleapiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS
+googleapiclient.discovery._fix_up_parameters	googleapiclient.discovery-module.html#_fix_up_parameters
+googleapiclient.discovery.HTTP_PAYLOAD_METHODS	googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS
+googleapiclient.discovery._media_path_url_from_info	googleapiclient.discovery-module.html#_media_path_url_from_info
+googleapiclient.discovery._fix_up_media_upload	googleapiclient.discovery-module.html#_fix_up_media_upload
+googleapiclient.discovery.build	googleapiclient.discovery-module.html#build
+googleapiclient.discovery.key2param	googleapiclient.discovery-module.html#key2param
+googleapiclient.discovery.VARNAME	googleapiclient.discovery-module.html#VARNAME
+googleapiclient.discovery.createNextMethod	googleapiclient.discovery-module.html#createNextMethod
+googleapiclient.discovery.logger	googleapiclient.discovery-module.html#logger
+googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE	googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE
+googleapiclient.discovery._media_size_to_long	googleapiclient.discovery-module.html#_media_size_to_long
+googleapiclient.discovery._fix_up_method_description	googleapiclient.discovery-module.html#_fix_up_method_description
+googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE	googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE
+googleapiclient.discovery.createMethod	googleapiclient.discovery-module.html#createMethod
+googleapiclient.discovery.DEFAULT_METHOD_DOC	googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC
+googleapiclient.discovery.RESERVED_WORDS	googleapiclient.discovery-module.html#RESERVED_WORDS
+googleapiclient.discovery.build_from_document	googleapiclient.discovery-module.html#build_from_document
+googleapiclient.discovery.fix_method_name	googleapiclient.discovery-module.html#fix_method_name
+googleapiclient.discovery.STACK_QUERY_PARAMETERS	googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS
+googleapiclient.discovery.DISCOVERY_URI	googleapiclient.discovery-module.html#DISCOVERY_URI
+googleapiclient.discovery.URITEMPLATE	googleapiclient.discovery-module.html#URITEMPLATE
+googleapiclient.errors	googleapiclient.errors-module.html
+googleapiclient.http	googleapiclient.http-module.html
+googleapiclient.http.set_user_agent	googleapiclient.http-module.html#set_user_agent
+googleapiclient.http.tunnel_patch	googleapiclient.http-module.html#tunnel_patch
+googleapiclient.http.DEFAULT_CHUNK_SIZE	googleapiclient.http-module.html#DEFAULT_CHUNK_SIZE
+googleapiclient.http.MAX_URI_LENGTH	googleapiclient.http-module.html#MAX_URI_LENGTH
+googleapiclient.mimeparse	googleapiclient.mimeparse-module.html
+googleapiclient.mimeparse.__credits__	googleapiclient.mimeparse-module.html#__credits__
+googleapiclient.mimeparse.fitness_and_quality_parsed	googleapiclient.mimeparse-module.html#fitness_and_quality_parsed
+googleapiclient.mimeparse.parse_media_range	googleapiclient.mimeparse-module.html#parse_media_range
+googleapiclient.mimeparse.best_match	googleapiclient.mimeparse-module.html#best_match
+googleapiclient.mimeparse.quality_parsed	googleapiclient.mimeparse-module.html#quality_parsed
+googleapiclient.mimeparse.__email__	googleapiclient.mimeparse-module.html#__email__
+googleapiclient.mimeparse.parse_mime_type	googleapiclient.mimeparse-module.html#parse_mime_type
+googleapiclient.mimeparse.quality	googleapiclient.mimeparse-module.html#quality
+googleapiclient.mimeparse._filter_blank	googleapiclient.mimeparse-module.html#_filter_blank
+googleapiclient.model	googleapiclient.model-module.html
+googleapiclient.model._abstract	googleapiclient.model-module.html#_abstract
+googleapiclient.model.dump_request_response	googleapiclient.model-module.html#dump_request_response
+googleapiclient.model.makepatch	googleapiclient.model-module.html#makepatch
+googleapiclient.sample_tools	googleapiclient.sample_tools-module.html
+googleapiclient.sample_tools.init	googleapiclient.sample_tools-module.html#init
+googleapiclient.schema	googleapiclient.schema-module.html
+googleapiclient.channel.Channel	googleapiclient.channel.Channel-class.html
+googleapiclient.channel.Channel.body	googleapiclient.channel.Channel-class.html#body
+googleapiclient.channel.Channel.update	googleapiclient.channel.Channel-class.html#update
+googleapiclient.channel.Channel.__init__	googleapiclient.channel.Channel-class.html#__init__
+googleapiclient.channel.Notification	googleapiclient.channel.Notification-class.html
+googleapiclient.channel.Notification.__init__	googleapiclient.channel.Notification-class.html#__init__
+googleapiclient.discovery.Resource	googleapiclient.discovery.Resource-class.html
+googleapiclient.discovery.Resource._add_nested_resources	googleapiclient.discovery.Resource-class.html#_add_nested_resources
+googleapiclient.discovery.Resource._set_dynamic_attr	googleapiclient.discovery.Resource-class.html#_set_dynamic_attr
+googleapiclient.discovery.Resource._add_next_methods	googleapiclient.discovery.Resource-class.html#_add_next_methods
+googleapiclient.discovery.Resource.__setstate__	googleapiclient.discovery.Resource-class.html#__setstate__
+googleapiclient.discovery.Resource.__init__	googleapiclient.discovery.Resource-class.html#__init__
+googleapiclient.discovery.Resource._set_service_methods	googleapiclient.discovery.Resource-class.html#_set_service_methods
+googleapiclient.discovery.Resource.__getstate__	googleapiclient.discovery.Resource-class.html#__getstate__
+googleapiclient.discovery.Resource._add_basic_methods	googleapiclient.discovery.Resource-class.html#_add_basic_methods
+googleapiclient.discovery.ResourceMethodParameters	googleapiclient.discovery.ResourceMethodParameters-class.html
+googleapiclient.discovery.ResourceMethodParameters.set_parameters	googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters
+googleapiclient.discovery.ResourceMethodParameters.__init__	googleapiclient.discovery.ResourceMethodParameters-class.html#__init__
+googleapiclient.errors.BatchError	googleapiclient.errors.BatchError-class.html
+googleapiclient.errors.BatchError.__str__	googleapiclient.errors.BatchError-class.html#__str__
+googleapiclient.errors.BatchError.__repr__	googleapiclient.errors.BatchError-class.html#__repr__
+googleapiclient.errors.BatchError.__init__	googleapiclient.errors.BatchError-class.html#__init__
+googleapiclient.errors.HttpError._get_reason	googleapiclient.errors.HttpError-class.html#_get_reason
+googleapiclient.errors.Error	googleapiclient.errors.Error-class.html
+googleapiclient.errors.HttpError	googleapiclient.errors.HttpError-class.html
+googleapiclient.errors.HttpError.__str__	googleapiclient.errors.HttpError-class.html#__str__
+googleapiclient.errors.HttpError.__repr__	googleapiclient.errors.HttpError-class.html#__repr__
+googleapiclient.errors.HttpError.__init__	googleapiclient.errors.HttpError-class.html#__init__
+googleapiclient.errors.HttpError._get_reason	googleapiclient.errors.HttpError-class.html#_get_reason
+googleapiclient.errors.InvalidChunkSizeError	googleapiclient.errors.InvalidChunkSizeError-class.html
+googleapiclient.errors.InvalidJsonError	googleapiclient.errors.InvalidJsonError-class.html
+googleapiclient.errors.InvalidNotificationError	googleapiclient.errors.InvalidNotificationError-class.html
+googleapiclient.errors.MediaUploadSizeError	googleapiclient.errors.MediaUploadSizeError-class.html
+googleapiclient.errors.ResumableUploadError	googleapiclient.errors.ResumableUploadError-class.html
+googleapiclient.errors.HttpError.__str__	googleapiclient.errors.HttpError-class.html#__str__
+googleapiclient.errors.HttpError.__repr__	googleapiclient.errors.HttpError-class.html#__repr__
+googleapiclient.errors.HttpError.__init__	googleapiclient.errors.HttpError-class.html#__init__
+googleapiclient.errors.HttpError._get_reason	googleapiclient.errors.HttpError-class.html#_get_reason
+googleapiclient.errors.UnacceptableMimeTypeError	googleapiclient.errors.UnacceptableMimeTypeError-class.html
+googleapiclient.errors.UnexpectedBodyError	googleapiclient.errors.UnexpectedBodyError-class.html
+googleapiclient.errors.UnexpectedBodyError.__init__	googleapiclient.errors.UnexpectedBodyError-class.html#__init__
+googleapiclient.errors.UnexpectedMethodError	googleapiclient.errors.UnexpectedMethodError-class.html
+googleapiclient.errors.UnexpectedMethodError.__init__	googleapiclient.errors.UnexpectedMethodError-class.html#__init__
+googleapiclient.errors.UnknownApiNameOrVersion	googleapiclient.errors.UnknownApiNameOrVersion-class.html
+googleapiclient.errors.UnknownFileType	googleapiclient.errors.UnknownFileType-class.html
+googleapiclient.errors.UnknownLinkType	googleapiclient.errors.UnknownLinkType-class.html
+googleapiclient.http.BatchHttpRequest	googleapiclient.http.BatchHttpRequest-class.html
+googleapiclient.http.BatchHttpRequest.__init__	googleapiclient.http.BatchHttpRequest-class.html#__init__
+googleapiclient.http.BatchHttpRequest._execute	googleapiclient.http.BatchHttpRequest-class.html#_execute
+googleapiclient.http.BatchHttpRequest.add	googleapiclient.http.BatchHttpRequest-class.html#add
+googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials	googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials
+googleapiclient.http.BatchHttpRequest.execute	googleapiclient.http.BatchHttpRequest-class.html#execute
+googleapiclient.http.BatchHttpRequest._id_to_header	googleapiclient.http.BatchHttpRequest-class.html#_id_to_header
+googleapiclient.http.BatchHttpRequest._deserialize_response	googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response
+googleapiclient.http.BatchHttpRequest._header_to_id	googleapiclient.http.BatchHttpRequest-class.html#_header_to_id
+googleapiclient.http.BatchHttpRequest._new_id	googleapiclient.http.BatchHttpRequest-class.html#_new_id
+googleapiclient.http.BatchHttpRequest._serialize_request	googleapiclient.http.BatchHttpRequest-class.html#_serialize_request
+googleapiclient.http.HttpMock	googleapiclient.http.HttpMock-class.html
+googleapiclient.http.HttpMock.request	googleapiclient.http.HttpMock-class.html#request
+googleapiclient.http.HttpMock.__init__	googleapiclient.http.HttpMock-class.html#__init__
+googleapiclient.http.HttpMockSequence	googleapiclient.http.HttpMockSequence-class.html
+googleapiclient.http.HttpMockSequence.request	googleapiclient.http.HttpMockSequence-class.html#request
+googleapiclient.http.HttpMockSequence.__init__	googleapiclient.http.HttpMockSequence-class.html#__init__
+googleapiclient.http.HttpRequest	googleapiclient.http.HttpRequest-class.html
+googleapiclient.http.HttpRequest.from_json	googleapiclient.http.HttpRequest-class.html#from_json
+googleapiclient.http.HttpRequest.execute	googleapiclient.http.HttpRequest-class.html#execute
+googleapiclient.http.HttpRequest._process_response	googleapiclient.http.HttpRequest-class.html#_process_response
+googleapiclient.http.HttpRequest.next_chunk	googleapiclient.http.HttpRequest-class.html#next_chunk
+googleapiclient.http.HttpRequest.add_response_callback	googleapiclient.http.HttpRequest-class.html#add_response_callback
+googleapiclient.http.HttpRequest.to_json	googleapiclient.http.HttpRequest-class.html#to_json
+googleapiclient.http.HttpRequest.__init__	googleapiclient.http.HttpRequest-class.html#__init__
+googleapiclient.http.HttpRequestMock	googleapiclient.http.HttpRequestMock-class.html
+googleapiclient.http.HttpRequestMock.execute	googleapiclient.http.HttpRequestMock-class.html#execute
+googleapiclient.http.HttpRequestMock.__init__	googleapiclient.http.HttpRequestMock-class.html#__init__
+googleapiclient.http.MediaDownloadProgress	googleapiclient.http.MediaDownloadProgress-class.html
+googleapiclient.http.MediaDownloadProgress.progress	googleapiclient.http.MediaDownloadProgress-class.html#progress
+googleapiclient.http.MediaDownloadProgress.__init__	googleapiclient.http.MediaDownloadProgress-class.html#__init__
+googleapiclient.http.MediaFileUpload	googleapiclient.http.MediaFileUpload-class.html
+googleapiclient.http.MediaFileUpload.from_json	googleapiclient.http.MediaFileUpload-class.html#from_json
+googleapiclient.http.MediaIoBaseUpload.stream	googleapiclient.http.MediaIoBaseUpload-class.html#stream
+googleapiclient.http.MediaFileUpload.to_json	googleapiclient.http.MediaFileUpload-class.html#to_json
+googleapiclient.http.MediaUpload.new_from_json	googleapiclient.http.MediaUpload-class.html#new_from_json
+googleapiclient.http.MediaFileUpload.__init__	googleapiclient.http.MediaFileUpload-class.html#__init__
+googleapiclient.http.MediaIoBaseUpload.size	googleapiclient.http.MediaIoBaseUpload-class.html#size
+googleapiclient.http.MediaUpload._to_json	googleapiclient.http.MediaUpload-class.html#_to_json
+googleapiclient.http.MediaIoBaseUpload.chunksize	googleapiclient.http.MediaIoBaseUpload-class.html#chunksize
+googleapiclient.http.MediaIoBaseUpload.getbytes	googleapiclient.http.MediaIoBaseUpload-class.html#getbytes
+googleapiclient.http.MediaIoBaseUpload.mimetype	googleapiclient.http.MediaIoBaseUpload-class.html#mimetype
+googleapiclient.http.MediaIoBaseUpload.resumable	googleapiclient.http.MediaIoBaseUpload-class.html#resumable
+googleapiclient.http.MediaIoBaseUpload.has_stream	googleapiclient.http.MediaIoBaseUpload-class.html#has_stream
+googleapiclient.http.MediaInMemoryUpload	googleapiclient.http.MediaInMemoryUpload-class.html
+googleapiclient.http.MediaIoBaseUpload.stream	googleapiclient.http.MediaIoBaseUpload-class.html#stream
+googleapiclient.http.MediaIoBaseUpload.to_json	googleapiclient.http.MediaIoBaseUpload-class.html#to_json
+googleapiclient.http.MediaUpload.new_from_json	googleapiclient.http.MediaUpload-class.html#new_from_json
+googleapiclient.http.MediaInMemoryUpload.__init__	googleapiclient.http.MediaInMemoryUpload-class.html#__init__
+googleapiclient.http.MediaIoBaseUpload.size	googleapiclient.http.MediaIoBaseUpload-class.html#size
+googleapiclient.http.MediaUpload._to_json	googleapiclient.http.MediaUpload-class.html#_to_json
+googleapiclient.http.MediaIoBaseUpload.chunksize	googleapiclient.http.MediaIoBaseUpload-class.html#chunksize
+googleapiclient.http.MediaIoBaseUpload.getbytes	googleapiclient.http.MediaIoBaseUpload-class.html#getbytes
+googleapiclient.http.MediaIoBaseUpload.mimetype	googleapiclient.http.MediaIoBaseUpload-class.html#mimetype
+googleapiclient.http.MediaIoBaseUpload.resumable	googleapiclient.http.MediaIoBaseUpload-class.html#resumable
+googleapiclient.http.MediaIoBaseUpload.has_stream	googleapiclient.http.MediaIoBaseUpload-class.html#has_stream
+googleapiclient.http.MediaIoBaseDownload	googleapiclient.http.MediaIoBaseDownload-class.html
+googleapiclient.http.MediaIoBaseDownload.next_chunk	googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk
+googleapiclient.http.MediaIoBaseDownload.__init__	googleapiclient.http.MediaIoBaseDownload-class.html#__init__
+googleapiclient.http.MediaIoBaseUpload	googleapiclient.http.MediaIoBaseUpload-class.html
+googleapiclient.http.MediaIoBaseUpload.stream	googleapiclient.http.MediaIoBaseUpload-class.html#stream
+googleapiclient.http.MediaIoBaseUpload.to_json	googleapiclient.http.MediaIoBaseUpload-class.html#to_json
+googleapiclient.http.MediaUpload.new_from_json	googleapiclient.http.MediaUpload-class.html#new_from_json
+googleapiclient.http.MediaIoBaseUpload.__init__	googleapiclient.http.MediaIoBaseUpload-class.html#__init__
+googleapiclient.http.MediaIoBaseUpload.size	googleapiclient.http.MediaIoBaseUpload-class.html#size
+googleapiclient.http.MediaUpload._to_json	googleapiclient.http.MediaUpload-class.html#_to_json
+googleapiclient.http.MediaIoBaseUpload.chunksize	googleapiclient.http.MediaIoBaseUpload-class.html#chunksize
+googleapiclient.http.MediaIoBaseUpload.getbytes	googleapiclient.http.MediaIoBaseUpload-class.html#getbytes
+googleapiclient.http.MediaIoBaseUpload.mimetype	googleapiclient.http.MediaIoBaseUpload-class.html#mimetype
+googleapiclient.http.MediaIoBaseUpload.resumable	googleapiclient.http.MediaIoBaseUpload-class.html#resumable
+googleapiclient.http.MediaIoBaseUpload.has_stream	googleapiclient.http.MediaIoBaseUpload-class.html#has_stream
+googleapiclient.http.MediaUpload	googleapiclient.http.MediaUpload-class.html
+googleapiclient.http.MediaUpload.stream	googleapiclient.http.MediaUpload-class.html#stream
+googleapiclient.http.MediaUpload.to_json	googleapiclient.http.MediaUpload-class.html#to_json
+googleapiclient.http.MediaUpload.new_from_json	googleapiclient.http.MediaUpload-class.html#new_from_json
+googleapiclient.http.MediaUpload.size	googleapiclient.http.MediaUpload-class.html#size
+googleapiclient.http.MediaUpload._to_json	googleapiclient.http.MediaUpload-class.html#_to_json
+googleapiclient.http.MediaUpload.chunksize	googleapiclient.http.MediaUpload-class.html#chunksize
+googleapiclient.http.MediaUpload.getbytes	googleapiclient.http.MediaUpload-class.html#getbytes
+googleapiclient.http.MediaUpload.mimetype	googleapiclient.http.MediaUpload-class.html#mimetype
+googleapiclient.http.MediaUpload.resumable	googleapiclient.http.MediaUpload-class.html#resumable
+googleapiclient.http.MediaUpload.has_stream	googleapiclient.http.MediaUpload-class.html#has_stream
+googleapiclient.http.MediaUploadProgress	googleapiclient.http.MediaUploadProgress-class.html
+googleapiclient.http.MediaUploadProgress.progress	googleapiclient.http.MediaUploadProgress-class.html#progress
+googleapiclient.http.MediaUploadProgress.__init__	googleapiclient.http.MediaUploadProgress-class.html#__init__
+googleapiclient.http.RequestMockBuilder	googleapiclient.http.RequestMockBuilder-class.html
+googleapiclient.http.RequestMockBuilder.__call__	googleapiclient.http.RequestMockBuilder-class.html#__call__
+googleapiclient.http.RequestMockBuilder.__init__	googleapiclient.http.RequestMockBuilder-class.html#__init__
+googleapiclient.http._StreamSlice	googleapiclient.http._StreamSlice-class.html
+googleapiclient.http._StreamSlice.read	googleapiclient.http._StreamSlice-class.html#read
+googleapiclient.http._StreamSlice.__init__	googleapiclient.http._StreamSlice-class.html#__init__
+googleapiclient.model.BaseModel	googleapiclient.model.BaseModel-class.html
+googleapiclient.model.BaseModel.serialize	googleapiclient.model.BaseModel-class.html#serialize
+googleapiclient.model.BaseModel.accept	googleapiclient.model.BaseModel-class.html#accept
+googleapiclient.model.BaseModel._build_query	googleapiclient.model.BaseModel-class.html#_build_query
+googleapiclient.model.BaseModel.content_type	googleapiclient.model.BaseModel-class.html#content_type
+googleapiclient.model.BaseModel._log_request	googleapiclient.model.BaseModel-class.html#_log_request
+googleapiclient.model.BaseModel.response	googleapiclient.model.BaseModel-class.html#response
+googleapiclient.model.BaseModel.alt_param	googleapiclient.model.BaseModel-class.html#alt_param
+googleapiclient.model.BaseModel.deserialize	googleapiclient.model.BaseModel-class.html#deserialize
+googleapiclient.model.BaseModel.request	googleapiclient.model.BaseModel-class.html#request
+googleapiclient.model.BaseModel.no_content_response	googleapiclient.model.BaseModel-class.html#no_content_response
+googleapiclient.model.BaseModel._log_response	googleapiclient.model.BaseModel-class.html#_log_response
+googleapiclient.model.JsonModel	googleapiclient.model.JsonModel-class.html
+googleapiclient.model.JsonModel.serialize	googleapiclient.model.JsonModel-class.html#serialize
+googleapiclient.model.JsonModel.accept	googleapiclient.model.JsonModel-class.html#accept
+googleapiclient.model.BaseModel._build_query	googleapiclient.model.BaseModel-class.html#_build_query
+googleapiclient.model.JsonModel.__init__	googleapiclient.model.JsonModel-class.html#__init__
+googleapiclient.model.JsonModel.content_type	googleapiclient.model.JsonModel-class.html#content_type
+googleapiclient.model.BaseModel._log_request	googleapiclient.model.BaseModel-class.html#_log_request
+googleapiclient.model.BaseModel.response	googleapiclient.model.BaseModel-class.html#response
+googleapiclient.model.JsonModel.alt_param	googleapiclient.model.JsonModel-class.html#alt_param
+googleapiclient.model.JsonModel.deserialize	googleapiclient.model.JsonModel-class.html#deserialize
+googleapiclient.model.BaseModel.request	googleapiclient.model.BaseModel-class.html#request
+googleapiclient.model.JsonModel.no_content_response	googleapiclient.model.JsonModel-class.html#no_content_response
+googleapiclient.model.BaseModel._log_response	googleapiclient.model.BaseModel-class.html#_log_response
+googleapiclient.model.MediaModel	googleapiclient.model.MediaModel-class.html
+googleapiclient.model.JsonModel.serialize	googleapiclient.model.JsonModel-class.html#serialize
+googleapiclient.model.MediaModel.accept	googleapiclient.model.MediaModel-class.html#accept
+googleapiclient.model.BaseModel._build_query	googleapiclient.model.BaseModel-class.html#_build_query
+googleapiclient.model.JsonModel.__init__	googleapiclient.model.JsonModel-class.html#__init__
+googleapiclient.model.MediaModel.content_type	googleapiclient.model.MediaModel-class.html#content_type
+googleapiclient.model.BaseModel._log_request	googleapiclient.model.BaseModel-class.html#_log_request
+googleapiclient.model.BaseModel.response	googleapiclient.model.BaseModel-class.html#response
+googleapiclient.model.MediaModel.alt_param	googleapiclient.model.MediaModel-class.html#alt_param
+googleapiclient.model.MediaModel.deserialize	googleapiclient.model.MediaModel-class.html#deserialize
+googleapiclient.model.BaseModel.request	googleapiclient.model.BaseModel-class.html#request
+googleapiclient.model.MediaModel.no_content_response	googleapiclient.model.MediaModel-class.html#no_content_response
+googleapiclient.model.BaseModel._log_response	googleapiclient.model.BaseModel-class.html#_log_response
+googleapiclient.model.Model	googleapiclient.model.Model-class.html
+googleapiclient.model.Model.request	googleapiclient.model.Model-class.html#request
+googleapiclient.model.Model.response	googleapiclient.model.Model-class.html#response
+googleapiclient.model.ProtocolBufferModel	googleapiclient.model.ProtocolBufferModel-class.html
+googleapiclient.model.ProtocolBufferModel.serialize	googleapiclient.model.ProtocolBufferModel-class.html#serialize
+googleapiclient.model.ProtocolBufferModel.accept	googleapiclient.model.ProtocolBufferModel-class.html#accept
+googleapiclient.model.BaseModel._build_query	googleapiclient.model.BaseModel-class.html#_build_query
+googleapiclient.model.ProtocolBufferModel.__init__	googleapiclient.model.ProtocolBufferModel-class.html#__init__
+googleapiclient.model.ProtocolBufferModel.content_type	googleapiclient.model.ProtocolBufferModel-class.html#content_type
+googleapiclient.model.BaseModel._log_request	googleapiclient.model.BaseModel-class.html#_log_request
+googleapiclient.model.BaseModel.response	googleapiclient.model.BaseModel-class.html#response
+googleapiclient.model.ProtocolBufferModel.alt_param	googleapiclient.model.ProtocolBufferModel-class.html#alt_param
+googleapiclient.model.ProtocolBufferModel.deserialize	googleapiclient.model.ProtocolBufferModel-class.html#deserialize
+googleapiclient.model.BaseModel.request	googleapiclient.model.BaseModel-class.html#request
+googleapiclient.model.ProtocolBufferModel.no_content_response	googleapiclient.model.ProtocolBufferModel-class.html#no_content_response
+googleapiclient.model.BaseModel._log_response	googleapiclient.model.BaseModel-class.html#_log_response
+googleapiclient.model.RawModel	googleapiclient.model.RawModel-class.html
+googleapiclient.model.JsonModel.serialize	googleapiclient.model.JsonModel-class.html#serialize
+googleapiclient.model.RawModel.accept	googleapiclient.model.RawModel-class.html#accept
+googleapiclient.model.BaseModel._build_query	googleapiclient.model.BaseModel-class.html#_build_query
+googleapiclient.model.JsonModel.__init__	googleapiclient.model.JsonModel-class.html#__init__
+googleapiclient.model.RawModel.content_type	googleapiclient.model.RawModel-class.html#content_type
+googleapiclient.model.BaseModel._log_request	googleapiclient.model.BaseModel-class.html#_log_request
+googleapiclient.model.BaseModel.response	googleapiclient.model.BaseModel-class.html#response
+googleapiclient.model.RawModel.alt_param	googleapiclient.model.RawModel-class.html#alt_param
+googleapiclient.model.RawModel.deserialize	googleapiclient.model.RawModel-class.html#deserialize
+googleapiclient.model.BaseModel.request	googleapiclient.model.BaseModel-class.html#request
+googleapiclient.model.RawModel.no_content_response	googleapiclient.model.RawModel-class.html#no_content_response
+googleapiclient.model.BaseModel._log_response	googleapiclient.model.BaseModel-class.html#_log_response
+googleapiclient.schema.Schemas	googleapiclient.schema.Schemas-class.html
+googleapiclient.schema.Schemas._prettyPrintByName	googleapiclient.schema.Schemas-class.html#_prettyPrintByName
+googleapiclient.schema.Schemas._prettyPrintSchema	googleapiclient.schema.Schemas-class.html#_prettyPrintSchema
+googleapiclient.schema.Schemas.get	googleapiclient.schema.Schemas-class.html#get
+googleapiclient.schema.Schemas.prettyPrintByName	googleapiclient.schema.Schemas-class.html#prettyPrintByName
+googleapiclient.schema.Schemas.prettyPrintSchema	googleapiclient.schema.Schemas-class.html#prettyPrintSchema
+googleapiclient.schema.Schemas.__init__	googleapiclient.schema.Schemas-class.html#__init__
+googleapiclient.schema._SchemaToStruct	googleapiclient.schema._SchemaToStruct-class.html
+googleapiclient.schema._SchemaToStruct.indent	googleapiclient.schema._SchemaToStruct-class.html#indent
+googleapiclient.schema._SchemaToStruct._to_str_impl	googleapiclient.schema._SchemaToStruct-class.html#_to_str_impl
+googleapiclient.schema._SchemaToStruct.emitEnd	googleapiclient.schema._SchemaToStruct-class.html#emitEnd
+googleapiclient.schema._SchemaToStruct.to_str	googleapiclient.schema._SchemaToStruct-class.html#to_str
+googleapiclient.schema._SchemaToStruct.emitBegin	googleapiclient.schema._SchemaToStruct-class.html#emitBegin
+googleapiclient.schema._SchemaToStruct.undent	googleapiclient.schema._SchemaToStruct-class.html#undent
+googleapiclient.schema._SchemaToStruct.emit	googleapiclient.schema._SchemaToStruct-class.html#emit
+googleapiclient.schema._SchemaToStruct.__init__	googleapiclient.schema._SchemaToStruct-class.html#__init__
diff --git a/docs/epy/class-tree.html b/docs/epy/class-tree.html
new file mode 100644
index 0000000..ac7fd67
--- /dev/null
+++ b/docs/epy/class-tree.html
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Class Hierarchy</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">&nbsp;</td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="class-tree.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Class Hierarchy</h1>
+<ul class="nomargin-top">
+    <li> <strong class="uidlink">object</strong>:
+      <em class="summary">The most base type</em>
+    <ul>
+    <li> <strong class="uidlink">exceptions.BaseException</strong>:
+      <em class="summary">Common base class for all exceptions</em>
+    <ul>
+    <li> <strong class="uidlink">exceptions.Exception</strong>:
+      <em class="summary">Common base class for all non-exit exceptions.</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="googleapiclient.errors.Error-class.html">googleapiclient.errors.Error</a></strong>:
+      <em class="summary">Base error for this module.</em>
+    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.BatchHttpRequest-class.html">googleapiclient.http.BatchHttpRequest</a></strong>:
+      <em class="summary">Batches multiple HttpRequest objects into a single HTTP request.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.channel.Channel-class.html">googleapiclient.channel.Channel</a></strong>:
+      <em class="summary">A Channel for notifications.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.HttpMock-class.html">googleapiclient.http.HttpMock</a></strong>:
+      <em class="summary">Mock of httplib2.Http</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.HttpMockSequence-class.html">googleapiclient.http.HttpMockSequence</a></strong>:
+      <em class="summary">Mock of httplib2.Http</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.HttpRequest-class.html">googleapiclient.http.HttpRequest</a></strong>:
+      <em class="summary">Encapsulates a single HTTP request.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.HttpRequestMock-class.html">googleapiclient.http.HttpRequestMock</a></strong>:
+      <em class="summary">Mock of HttpRequest.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.MediaDownloadProgress-class.html">googleapiclient.http.MediaDownloadProgress</a></strong>:
+      <em class="summary">Status of a resumable download.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.MediaIoBaseDownload-class.html">googleapiclient.http.MediaIoBaseDownload</a></strong>:
+      <em class="summary">&quot;Download media resources.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.MediaUpload-class.html">googleapiclient.http.MediaUpload</a></strong>:
+      <em class="summary">Describes a media object to upload.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.MediaUploadProgress-class.html">googleapiclient.http.MediaUploadProgress</a></strong>:
+      <em class="summary">Status of a resumable upload.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.model.Model-class.html">googleapiclient.model.Model</a></strong>:
+      <em class="summary">Model base class.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.channel.Notification-class.html">googleapiclient.channel.Notification</a></strong>:
+      <em class="summary">A Notification from a Channel.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http.RequestMockBuilder-class.html">googleapiclient.http.RequestMockBuilder</a></strong>:
+      <em class="summary">A simple mock of HttpRequest</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">googleapiclient.discovery.Resource</a></strong>:
+      <em class="summary">A class for interacting with a resource.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.discovery.ResourceMethodParameters-class.html" onclick="show_private();">googleapiclient.discovery.ResourceMethodParameters</a></strong>:
+      <em class="summary">Represents the parameters associated with a method.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.schema.Schemas-class.html">googleapiclient.schema.Schemas</a></strong>:
+      <em class="summary">Schemas for an API.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">googleapiclient.schema._SchemaToStruct</a></strong>:
+      <em class="summary">Convert schema to a prototype object.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http._StreamSlice-class.html" onclick="show_private();">googleapiclient.http._StreamSlice</a></strong>:
+      <em class="summary">Truncated stream.</em>
+    </li>
+    </ul>
+    </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/crarr.png b/docs/epy/crarr.png
new file mode 100644
index 0000000..26b43c5
--- /dev/null
+++ b/docs/epy/crarr.png
Binary files differ
diff --git a/docs/epy/epydoc.css b/docs/epy/epydoc.css
new file mode 100644
index 0000000..86d4170
--- /dev/null
+++ b/docs/epy/epydoc.css
@@ -0,0 +1,322 @@
+
+
+/* Epydoc CSS Stylesheet
+ *
+ * This stylesheet can be used to customize the appearance of epydoc's
+ * HTML output.
+ *
+ */
+
+/* Default Colors & Styles
+ *   - Set the default foreground & background color with 'body'; and 
+ *     link colors with 'a:link' and 'a:visited'.
+ *   - Use bold for decision list terms.
+ *   - The heading styles defined here are used for headings *within*
+ *     docstring descriptions.  All headings used by epydoc itself use
+ *     either class='epydoc' or class='toc' (CSS styles for both
+ *     defined below).
+ */
+body                        { background: #ffffff; color: #000000; }
+p                           { margin-top: 0.5em; margin-bottom: 0.5em; }
+a:link                      { color: #0000ff; }
+a:visited                   { color: #204080; }
+dt                          { font-weight: bold; }
+h1                          { font-size: +140%; font-style: italic;
+                              font-weight: bold; }
+h2                          { font-size: +125%; font-style: italic;
+                              font-weight: bold; }
+h3                          { font-size: +110%; font-style: italic;
+                              font-weight: normal; }
+code                        { font-size: 100%; }
+/* N.B.: class, not pseudoclass */
+a.link                      { font-family: monospace; }
+ 
+/* Page Header & Footer
+ *   - The standard page header consists of a navigation bar (with
+ *     pointers to standard pages such as 'home' and 'trees'); a
+ *     breadcrumbs list, which can be used to navigate to containing
+ *     classes or modules; options links, to show/hide private
+ *     variables and to show/hide frames; and a page title (using
+ *     <h1>).  The page title may be followed by a link to the
+ *     corresponding source code (using 'span.codelink').
+ *   - The footer consists of a navigation bar, a timestamp, and a
+ *     pointer to epydoc's homepage.
+ */ 
+h1.epydoc                   { margin: 0; font-size: +140%; font-weight: bold; }
+h2.epydoc                   { font-size: +130%; font-weight: bold; }
+h3.epydoc                   { font-size: +115%; font-weight: bold;
+                              margin-top: 0.2em; }
+td h3.epydoc                { font-size: +115%; font-weight: bold;
+                              margin-bottom: 0; }
+table.navbar                { background: #a0c0ff; color: #000000;
+                              border: 2px groove #c0d0d0; }
+table.navbar table          { color: #000000; }
+th.navbar-select            { background: #70b0ff;
+                              color: #000000; } 
+table.navbar a              { text-decoration: none; }  
+table.navbar a:link         { color: #0000ff; }
+table.navbar a:visited      { color: #204080; }
+span.breadcrumbs            { font-size: 85%; font-weight: bold; }
+span.options                { font-size: 70%; }
+span.codelink               { font-size: 85%; }
+td.footer                   { font-size: 85%; }
+
+/* Table Headers
+ *   - Each summary table and details section begins with a 'header'
+ *     row.  This row contains a section title (marked by
+ *     'span.table-header') as well as a show/hide private link
+ *     (marked by 'span.options', defined above).
+ *   - Summary tables that contain user-defined groups mark those
+ *     groups using 'group header' rows.
+ */
+td.table-header             { background: #70b0ff; color: #000000;
+                              border: 1px solid #608090; }
+td.table-header table       { color: #000000; }
+td.table-header table a:link      { color: #0000ff; }
+td.table-header table a:visited   { color: #204080; }
+span.table-header           { font-size: 120%; font-weight: bold; }
+th.group-header             { background: #c0e0f8; color: #000000;
+                              text-align: left; font-style: italic; 
+                              font-size: 115%; 
+                              border: 1px solid #608090; }
+
+/* Summary Tables (functions, variables, etc)
+ *   - Each object is described by a single row of the table with
+ *     two cells.  The left cell gives the object's type, and is
+ *     marked with 'code.summary-type'.  The right cell gives the
+ *     object's name and a summary description.
+ *   - CSS styles for the table's header and group headers are
+ *     defined above, under 'Table Headers'
+ */
+table.summary               { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090;
+                              margin-bottom: 0.5em; }
+td.summary                  { border: 1px solid #608090; }
+code.summary-type           { font-size: 85%; }
+table.summary a:link        { color: #0000ff; }
+table.summary a:visited     { color: #204080; }
+
+
+/* Details Tables (functions, variables, etc)
+ *   - Each object is described in its own div.
+ *   - A single-row summary table w/ table-header is used as
+ *     a header for each details section (CSS style for table-header
+ *     is defined above, under 'Table Headers').
+ */
+table.details               { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090;
+                              margin: .2em 0 0 0; }
+table.details table         { color: #000000; }
+table.details a:link        { color: #0000ff; }
+table.details a:visited     { color: #204080; }
+
+/* Fields */
+dl.fields                   { margin-left: 2em; margin-top: 1em;
+                              margin-bottom: 1em; }
+dl.fields dd ul             { margin-left: 0em; padding-left: 0em; }
+dl.fields dd ul li ul       { margin-left: 2em; padding-left: 0em; }
+div.fields                  { margin-left: 2em; }
+div.fields p                { margin-bottom: 0.5em; }
+
+/* Index tables (identifier index, term index, etc)
+ *   - link-index is used for indices containing lists of links
+ *     (namely, the identifier index & term index).
+ *   - index-where is used in link indices for the text indicating
+ *     the container/source for each link.
+ *   - metadata-index is used for indices containing metadata
+ *     extracted from fields (namely, the bug index & todo index).
+ */
+table.link-index            { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090; }
+td.link-index               { border-width: 0px; }
+table.link-index a:link     { color: #0000ff; }
+table.link-index a:visited  { color: #204080; }
+span.index-where            { font-size: 70%; }
+table.metadata-index        { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090; 
+                              margin: .2em 0 0 0; }
+td.metadata-index           { border-width: 1px; border-style: solid; }
+table.metadata-index a:link { color: #0000ff; }
+table.metadata-index a:visited  { color: #204080; }
+
+/* Function signatures
+ *   - sig* is used for the signature in the details section.
+ *   - .summary-sig* is used for the signature in the summary 
+ *     table, and when listing property accessor functions.
+ * */
+.sig-name                   { color: #006080; }
+.sig-arg                    { color: #008060; }
+.sig-default                { color: #602000; }
+.summary-sig                { font-family: monospace; }
+.summary-sig-name           { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:link
+                            { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:visited
+                            { color: #006080; font-weight: bold; }
+.summary-sig-arg            { color: #006040; }
+.summary-sig-default        { color: #501800; }
+
+/* Subclass list
+ */
+ul.subclass-list { display: inline; }
+ul.subclass-list li { display: inline; }
+
+/* To render variables, classes etc. like functions */
+table.summary .summary-name { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+table.summary
+     a.summary-name:link    { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+table.summary
+    a.summary-name:visited  { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+
+/* Variable values
+ *   - In the 'variable details' sections, each varaible's value is
+ *     listed in a 'pre.variable' box.  The width of this box is
+ *     restricted to 80 chars; if the value's repr is longer than
+ *     this it will be wrapped, using a backslash marked with
+ *     class 'variable-linewrap'.  If the value's repr is longer
+ *     than 3 lines, the rest will be ellided; and an ellipsis
+ *     marker ('...' marked with 'variable-ellipsis') will be used.
+ *   - If the value is a string, its quote marks will be marked
+ *     with 'variable-quote'.
+ *   - If the variable is a regexp, it is syntax-highlighted using
+ *     the re* CSS classes.
+ */
+pre.variable                { padding: .5em; margin: 0;
+                              background: #dce4ec; color: #000000;
+                              border: 1px solid #708890; }
+.variable-linewrap          { color: #604000; font-weight: bold; }
+.variable-ellipsis          { color: #604000; font-weight: bold; }
+.variable-quote             { color: #604000; font-weight: bold; }
+.variable-group             { color: #008000; font-weight: bold; }
+.variable-op                { color: #604000; font-weight: bold; }
+.variable-string            { color: #006030; }
+.variable-unknown           { color: #a00000; font-weight: bold; }
+.re                         { color: #000000; }
+.re-char                    { color: #006030; }
+.re-op                      { color: #600000; }
+.re-group                   { color: #003060; }
+.re-ref                     { color: #404040; }
+
+/* Base tree
+ *   - Used by class pages to display the base class hierarchy.
+ */
+pre.base-tree               { font-size: 80%; margin: 0; }
+
+/* Frames-based table of contents headers
+ *   - Consists of two frames: one for selecting modules; and
+ *     the other listing the contents of the selected module.
+ *   - h1.toc is used for each frame's heading
+ *   - h2.toc is used for subheadings within each frame.
+ */
+h1.toc                      { text-align: center; font-size: 105%;
+                              margin: 0; font-weight: bold;
+                              padding: 0; }
+h2.toc                      { font-size: 100%; font-weight: bold; 
+                              margin: 0.5em 0 0 -0.3em; }
+
+/* Syntax Highlighting for Source Code
+ *   - doctest examples are displayed in a 'pre.py-doctest' block.
+ *     If the example is in a details table entry, then it will use
+ *     the colors specified by the 'table pre.py-doctest' line.
+ *   - Source code listings are displayed in a 'pre.py-src' block.
+ *     Each line is marked with 'span.py-line' (used to draw a line
+ *     down the left margin, separating the code from the line
+ *     numbers).  Line numbers are displayed with 'span.py-lineno'.
+ *     The expand/collapse block toggle button is displayed with
+ *     'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
+ *     modify the font size of the text.)
+ *   - If a source code page is opened with an anchor, then the
+ *     corresponding code block will be highlighted.  The code
+ *     block's header is highlighted with 'py-highlight-hdr'; and
+ *     the code block's body is highlighted with 'py-highlight'.
+ *   - The remaining py-* classes are used to perform syntax
+ *     highlighting (py-string for string literals, py-name for names,
+ *     etc.)
+ */
+pre.py-doctest              { padding: .5em; margin: 1em;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #708890; }
+table pre.py-doctest        { background: #dce4ec;
+                              color: #000000; }
+pre.py-src                  { border: 2px solid #000000; 
+                              background: #f0f0f0; color: #000000; }
+.py-line                    { border-left: 2px solid #000000; 
+                              margin-left: .2em; padding-left: .4em; }
+.py-lineno                  { font-style: italic; font-size: 90%;
+                              padding-left: .5em; }
+a.py-toggle                 { text-decoration: none; }
+div.py-highlight-hdr        { border-top: 2px solid #000000;
+                              border-bottom: 2px solid #000000;
+                              background: #d8e8e8; }
+div.py-highlight            { border-bottom: 2px solid #000000;
+                              background: #d0e0e0; }
+.py-prompt                  { color: #005050; font-weight: bold;}
+.py-more                    { color: #005050; font-weight: bold;}
+.py-string                  { color: #006030; }
+.py-comment                 { color: #003060; }
+.py-keyword                 { color: #600000; }
+.py-output                  { color: #404040; }
+.py-name                    { color: #000050; }
+.py-name:link               { color: #000050 !important; }
+.py-name:visited            { color: #000050 !important; }
+.py-number                  { color: #005000; }
+.py-defname                 { color: #000060; font-weight: bold; }
+.py-def-name                { color: #000060; font-weight: bold; }
+.py-base-class              { color: #000060; }
+.py-param                   { color: #000060; }
+.py-docstring               { color: #006030; }
+.py-decorator               { color: #804020; }
+/* Use this if you don't want links to names underlined: */
+/*a.py-name                   { text-decoration: none; }*/
+
+/* Graphs & Diagrams
+ *   - These CSS styles are used for graphs & diagrams generated using
+ *     Graphviz dot.  'img.graph-without-title' is used for bare
+ *     diagrams (to remove the border created by making the image
+ *     clickable).
+ */
+img.graph-without-title     { border: none; }
+img.graph-with-title        { border: 1px solid #000000; }
+span.graph-title            { font-weight: bold; }
+span.graph-caption          { }
+
+/* General-purpose classes
+ *   - 'p.indent-wrapped-lines' defines a paragraph whose first line
+ *     is not indented, but whose subsequent lines are.
+ *   - The 'nomargin-top' class is used to remove the top margin (e.g.
+ *     from lists).  The 'nomargin' class is used to remove both the
+ *     top and bottom margin (but not the left or right margin --
+ *     for lists, that would cause the bullets to disappear.)
+ */
+p.indent-wrapped-lines      { padding: 0 0 0 7em; text-indent: -7em; 
+                              margin: 0; }
+.nomargin-top               { margin-top: 0; }
+.nomargin                   { margin-top: 0; margin-bottom: 0; }
+
+/* HTML Log */
+div.log-block               { padding: 0; margin: .5em 0 .5em 0;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #000000; }
+div.log-error               { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #ffb0b0; color: #000000;
+                              border: 1px solid #000000; }
+div.log-warning             { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #ffffb0; color: #000000;
+                              border: 1px solid #000000; }
+div.log-info               { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #b0ffb0; color: #000000;
+                              border: 1px solid #000000; }
+h2.log-hdr                  { background: #70b0ff; color: #000000;
+                              margin: 0; padding: 0em 0.5em 0em 0.5em;
+                              border-bottom: 1px solid #000000; font-size: 110%; }
+p.log                       { font-weight: bold; margin: .5em 0 .5em 0; }
+tr.opt-changed              { color: #000000; font-weight: bold; }
+tr.opt-default              { color: #606060; }
+pre.log                     { margin: 0; padding: 0; padding-left: 1em; }
diff --git a/docs/epy/epydoc.js b/docs/epy/epydoc.js
new file mode 100644
index 0000000..e787dbc
--- /dev/null
+++ b/docs/epy/epydoc.js
@@ -0,0 +1,293 @@
+function toggle_private() {
+        // Search for any private/public links on this page.  Store
+        // their old text in "cmd," so we will know what action to
+        // take; and change their text to the opposite action.
+        var cmd = "?";
+        var elts = document.getElementsByTagName("a");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "privatelink") {
+            cmd = elts[i].innerHTML;
+            elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
+                                    "hide&nbsp;private":"show&nbsp;private");
+          }
+        }
+        // Update all DIVs containing private objects.
+        var elts = document.getElementsByTagName("div");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+          }
+          else if (elts[i].className == "public") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
+          }
+        }
+        // Update all table rows containing private objects.  Note, we
+        // use "" instead of "block" becaue IE & firefox disagree on what
+        // this should be (block vs table-row), and "" just gives the
+        // default for both browsers.
+        var elts = document.getElementsByTagName("tr");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
+          }
+        }
+        // Update all list items containing private objects.
+        var elts = document.getElementsByTagName("li");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
+                                        "none":"");
+          }
+        }
+        // Update all list items containing private objects.
+        var elts = document.getElementsByTagName("ul");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+          }
+        }
+        // Set a cookie to remember the current option.
+        document.cookie = "EpydocPrivate="+cmd;
+      }
+function show_private() {
+        var elts = document.getElementsByTagName("a");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "privatelink") {
+            cmd = elts[i].innerHTML;
+            if (cmd && cmd.substr(0,4)=="show")
+                toggle_private();
+          }
+        }
+      }
+function getCookie(name) {
+        var dc = document.cookie;
+        var prefix = name + "=";
+        var begin = dc.indexOf("; " + prefix);
+        if (begin == -1) {
+          begin = dc.indexOf(prefix);
+          if (begin != 0) return null;
+        } else
+        { begin += 2; }
+        var end = document.cookie.indexOf(";", begin);
+        if (end == -1)
+        { end = dc.length; }
+        return unescape(dc.substring(begin + prefix.length, end));
+      }
+function setFrame(url1, url2) {
+          parent.frames[1].location.href = url1;
+          parent.frames[2].location.href = url2;
+      }
+function checkCookie() {
+        var cmd=getCookie("EpydocPrivate");
+        if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
+            toggle_private();
+      }
+function toggleCallGraph(id) {
+        var elt = document.getElementById(id);
+        if (elt.style.display == "none")
+            elt.style.display = "block";
+        else
+            elt.style.display = "none";
+      }
+function expand(id) {
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.style.display = "block";
+  var elt = document.getElementById(id+"-expanded-linenums");
+  if (elt) elt.style.display = "block";
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+  var elt = document.getElementById(id+"-collapsed-linenums");
+  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+  var elt = document.getElementById(id+"-toggle");
+  if (elt) { elt.innerHTML = "-"; }
+}
+
+function collapse(id) {
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.style.display = "none";
+  var elt = document.getElementById(id+"-expanded-linenums");
+  if (elt) elt.style.display = "none";
+  var elt = document.getElementById(id+"-collapsed-linenums");
+  if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
+  var elt = document.getElementById(id+"-toggle");
+  if (elt) { elt.innerHTML = "+"; }
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) {
+    elt.style.display = "block";
+    
+    var indent = elt.getAttribute("indent");
+    var pad = elt.getAttribute("pad");
+    var s = "<tt class='py-lineno'>";
+    for (var i=0; i<pad.length; i++) { s += "&nbsp;" }
+    s += "</tt>";
+    s += "&nbsp;&nbsp;<tt class='py-line'>";
+    for (var i=0; i<indent.length; i++) { s += "&nbsp;" }
+    s += "<a href='#' onclick='expand(\"" + id;
+    s += "\");return false'>...</a></tt><br />";
+    elt.innerHTML = s;
+  }
+}
+
+function toggle(id) {
+  elt = document.getElementById(id+"-toggle");
+  if (elt.innerHTML == "-")
+      collapse(id); 
+  else
+      expand(id);
+  return false;
+}
+
+function highlight(id) {
+  var elt = document.getElementById(id+"-def");
+  if (elt) elt.className = "py-highlight-hdr";
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.className = "py-highlight";
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) elt.className = "py-highlight";
+}
+
+function num_lines(s) {
+  var n = 1;
+  var pos = s.indexOf("\n");
+  while ( pos > 0) {
+    n += 1;
+    pos = s.indexOf("\n", pos+1);
+  }
+  return n;
+}
+
+// Collapse all blocks that mave more than `min_lines` lines.
+function collapse_all(min_lines) {
+  var elts = document.getElementsByTagName("div");
+  for (var i=0; i<elts.length; i++) {
+    var elt = elts[i];
+    var split = elt.id.indexOf("-");
+    if (split > 0)
+      if (elt.id.substring(split, elt.id.length) == "-expanded")
+        if (num_lines(elt.innerHTML) > min_lines)
+          collapse(elt.id.substring(0, split));
+  }
+}
+
+function expandto(href) {
+  var start = href.indexOf("#")+1;
+  if (start != 0 && start != href.length) {
+    if (href.substring(start, href.length) != "-") {
+      collapse_all(4);
+      pos = href.indexOf(".", start);
+      while (pos != -1) {
+        var id = href.substring(start, pos);
+        expand(id);
+        pos = href.indexOf(".", pos+1);
+      }
+      var id = href.substring(start, href.length);
+      expand(id);
+      highlight(id);
+    }
+  }
+}
+
+function kill_doclink(id) {
+  var parent = document.getElementById(id);
+  parent.removeChild(parent.childNodes.item(0));
+}
+function auto_kill_doclink(ev) {
+  if (!ev) var ev = window.event;
+  if (!this.contains(ev.toElement)) {
+    var parent = document.getElementById(this.parentID);
+    parent.removeChild(parent.childNodes.item(0));
+  }
+}
+
+function doclink(id, name, targets_id) {
+  var elt = document.getElementById(id);
+
+  // If we already opened the box, then destroy it.
+  // (This case should never occur, but leave it in just in case.)
+  if (elt.childNodes.length > 1) {
+    elt.removeChild(elt.childNodes.item(0));
+  }
+  else {
+    // The outer box: relative + inline positioning.
+    var box1 = document.createElement("div");
+    box1.style.position = "relative";
+    box1.style.display = "inline";
+    box1.style.top = 0;
+    box1.style.left = 0;
+  
+    // A shadow for fun
+    var shadow = document.createElement("div");
+    shadow.style.position = "absolute";
+    shadow.style.left = "-1.3em";
+    shadow.style.top = "-1.3em";
+    shadow.style.background = "#404040";
+    
+    // The inner box: absolute positioning.
+    var box2 = document.createElement("div");
+    box2.style.position = "relative";
+    box2.style.border = "1px solid #a0a0a0";
+    box2.style.left = "-.2em";
+    box2.style.top = "-.2em";
+    box2.style.background = "white";
+    box2.style.padding = ".3em .4em .3em .4em";
+    box2.style.fontStyle = "normal";
+    box2.onmouseout=auto_kill_doclink;
+    box2.parentID = id;
+
+    // Get the targets
+    var targets_elt = document.getElementById(targets_id);
+    var targets = targets_elt.getAttribute("targets");
+    var links = "";
+    target_list = targets.split(",");
+    for (var i=0; i<target_list.length; i++) {
+        var target = target_list[i].split("=");
+        links += "<li><a href='" + target[1] + 
+               "' style='text-decoration:none'>" +
+               target[0] + "</a></li>";
+    }
+  
+    // Put it all together.
+    elt.insertBefore(box1, elt.childNodes.item(0));
+    //box1.appendChild(box2);
+    box1.appendChild(shadow);
+    shadow.appendChild(box2);
+    box2.innerHTML =
+        "Which <b>"+name+"</b> do you want to see documentation for?" +
+        "<ul style='margin-bottom: 0;'>" +
+        links + 
+        "<li><a href='#' style='text-decoration:none' " +
+        "onclick='kill_doclink(\""+id+"\");return false;'>"+
+        "<i>None of the above</i></a></li></ul>";
+  }
+  return false;
+}
+
+function get_anchor() {
+          var href = location.href;
+          var start = href.indexOf("#")+1;
+          if ((start != 0) && (start != href.length))
+              return href.substring(start, href.length);
+      }
+function redirect_url(dottedName) {
+          // Scan through each element of the "pages" list, and check
+          // if "name" matches with any of them.
+          for (var i=0; i<pages.length; i++) {
+
+              // Each page has the form "<pagename>-m" or "<pagename>-c";
+              // extract the <pagename> portion & compare it to dottedName.
+              var pagename = pages[i].substring(0, pages[i].length-2);
+              if (pagename == dottedName.substring(0,pagename.length)) {
+
+                  // We've found a page that matches `dottedName`;
+                  // construct its URL, using leftover `dottedName`
+                  // content to form an anchor.
+                  var pagetype = pages[i].charAt(pages[i].length-1);
+                  var url = pagename + ((pagetype=="m")?"-module.html":
+                                                        "-class.html");
+                  if (dottedName.length > pagename.length)
+                      url += "#" + dottedName.substring(pagename.length+1,
+                                                        dottedName.length);
+                  return url;
+              }
+          }
+      }
diff --git a/docs/epy/frames.html b/docs/epy/frames.html
new file mode 100644
index 0000000..042cb61
--- /dev/null
+++ b/docs/epy/frames.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+          "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame"
+           id="moduleListFrame" />
+    <frame src="toc-everything.html" name="moduleFrame"
+           id="moduleFrame" />
+  </frameset>
+  <frame src="googleapiclient-module.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>
diff --git a/docs/epy/googleapiclient-module.html b/docs/epy/googleapiclient-module.html
new file mode 100644
index 0000000..637c669
--- /dev/null
+++ b/docs/epy/googleapiclient-module.html
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package&nbsp;googleapiclient
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package googleapiclient</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient-pysrc.html">source&nbsp;code</a></span></p>
+<hr />
+<div class="fields">      <p><strong>Version:</strong>
+        1.2
+      </p>
+</div><!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="googleapiclient.channel-module.html">googleapiclient.channel</a></strong>: <em class="summary">Channel notifications support.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a></strong>: <em class="summary">Client for discovery based APIs.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.errors-module.html">googleapiclient.errors</a></strong>: <em class="summary">Errors for the library.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http-module.html">googleapiclient.http</a></strong>: <em class="summary">Classes to encapsulate a single HTTP request.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a></strong>: <em class="summary">MIME-Type Parser</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.model-module.html">googleapiclient.model</a></strong>: <em class="summary">Model objects for requests and responses.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.sample_tools-module.html">googleapiclient.sample_tools</a></strong>: <em class="summary">Utilities for making samples.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.schema-module.html">googleapiclient.schema</a></strong>: <em class="summary">Schema processing for discovery based APIs</em>    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient-pysrc.html b/docs/epy/googleapiclient-pysrc.html
new file mode 100644
index 0000000..8496217
--- /dev/null
+++ b/docs/epy/googleapiclient-pysrc.html
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package&nbsp;googleapiclient
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient-module.html">Package googleapiclient</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2012 Google Inc.</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-docstring">"1.2"</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.channel-module.html b/docs/epy/googleapiclient.channel-module.html
new file mode 100644
index 0000000..54d5d84
--- /dev/null
+++ b/docs/epy/googleapiclient.channel-module.html
@@ -0,0 +1,477 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.channel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;channel
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.channel-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module channel</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.channel-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+Channel notifications support.
+
+Classes and functions to support channel subscriptions and notifications
+on those channels.
+
+Notes:
+  - This code is based on experimental APIs and is subject to change.
+  - Notification does not do deduplication of notification ids, that's up to
+    the receiver.
+  - Storing the Channel between calls is up to the caller.
+
+
+Example setting up a channel:
+
+  # Create a new channel that gets notifications via webhook.
+  channel = new_webhook_channel(&quot;https://example.com/my_web_hook&quot;)
+
+  # Store the channel, keyed by 'channel.id'. Store it before calling the
+  # watch method because notifications may start arriving before the watch
+  # method returns.
+  ...
+
+  resp = service.objects().watchAll(
+    bucket=&quot;some_bucket_id&quot;, body=channel.body()).execute()
+  channel.update(resp)
+
+  # Store the channel, keyed by 'channel.id'. Store it after being updated
+  # since the resource_id value will now be correct, and that's needed to
+  # stop a subscription.
+  ...
+
+
+An example Webhook implementation using webapp2. Note that webapp2 puts
+headers in a case insensitive dictionary, as headers aren't guaranteed to
+always be upper case.
+
+  id = self.request.headers[X_GOOG_CHANNEL_ID]
+
+  # Retrieve the channel by id.
+  channel = ...
+
+  # Parse notification from the headers, including validating the id.
+  n = notification_from_headers(channel, self.request.headers)
+
+  # Do app specific stuff with the notification here.
+  if n.resource_state == 'sync':
+    # Code to handle sync state.
+  elif n.resource_state == 'exists':
+    # Code to handle the exists state.
+  elif n.resource_state == 'not_exists':
+    # Code to handle the not exists state.
+
+
+Example of unsubscribing.
+
+  service.channels().stop(channel.body())
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.channel.Notification-class.html" class="summary-name">Notification</a><br />
+      A Notification from a Channel.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.channel.Channel-class.html" class="summary-name">Channel</a><br />
+      A Channel for notifications.
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_upper_header_keys"></a><span class="summary-sig-name">_upper_header_keys</span>(<span class="summary-sig-arg">headers</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.channel-pysrc.html#_upper_header_keys">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.channel-module.html#notification_from_headers" class="summary-sig-name">notification_from_headers</a>(<span class="summary-sig-arg">channel</span>,
+        <span class="summary-sig-arg">headers</span>)</span><br />
+      Parse a notification from the webhook request headers, validate
+  the notification, and return a Notification object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.channel-pysrc.html#notification_from_headers">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.channel-module.html#new_webhook_channel" class="summary-sig-name">new_webhook_channel</a>(<span class="summary-sig-arg">url</span>,
+        <span class="summary-sig-arg">token</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">expiration</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">params</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Create a new webhook Channel.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.channel-pysrc.html#new_webhook_channel">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="EPOCH"></a><span class="summary-name">EPOCH</span> = <code title="datetime.datetime.utcfromtimestamp(0)">datetime.datetime.utcfromtimestamp(0)</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.channel-module.html#CHANNEL_PARAMS" class="summary-name">CHANNEL_PARAMS</a> = <code title="{'address': 'address', 'id': 'id', 'expiration': 'expiration', 'params\
+': 'params', 'resourceId': 'resource_id', 'resourceUri': 'resource_uri\
+', 'type': 'type', 'token': 'token',}">{'address': 'address', 'id': 'id', 'expiratio<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="X_GOOG_CHANNEL_ID"></a><span class="summary-name">X_GOOG_CHANNEL_ID</span> = <code title="'X-GOOG-CHANNEL-ID'">'X-GOOG-CHANNEL-ID'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="X_GOOG_MESSAGE_NUMBER"></a><span class="summary-name">X_GOOG_MESSAGE_NUMBER</span> = <code title="'X-GOOG-MESSAGE-NUMBER'">'X-GOOG-MESSAGE-NUMBER'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="X_GOOG_RESOURCE_STATE"></a><span class="summary-name">X_GOOG_RESOURCE_STATE</span> = <code title="'X-GOOG-RESOURCE-STATE'">'X-GOOG-RESOURCE-STATE'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="X_GOOG_RESOURCE_URI"></a><span class="summary-name">X_GOOG_RESOURCE_URI</span> = <code title="'X-GOOG-RESOURCE-URI'">'X-GOOG-RESOURCE-URI'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="X_GOOG_RESOURCE_ID"></a><span class="summary-name">X_GOOG_RESOURCE_ID</span> = <code title="'X-GOOG-RESOURCE-ID'">'X-GOOG-RESOURCE-ID'</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="notification_from_headers"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">notification_from_headers</span>(<span class="sig-arg">channel</span>,
+        <span class="sig-arg">headers</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.channel-pysrc.html#notification_from_headers">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Parse a notification from the webhook request headers, validate
+  the notification, and return a Notification object.
+
+Args:
+  channel: Channel, The channel that the notification is associated with.
+  headers: dict, A dictionary like object that contains the request headers
+    from the webhook HTTP request.
+
+Returns:
+  A Notification object.
+
+Raises:
+  errors.InvalidNotificationError if the notification is invalid.
+  ValueError if the X-GOOG-MESSAGE-NUMBER can't be converted to an int.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="new_webhook_channel"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">new_webhook_channel</span>(<span class="sig-arg">url</span>,
+        <span class="sig-arg">token</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">expiration</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">params</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.channel-pysrc.html#new_webhook_channel">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Create a new webhook Channel.
+
+Args:
+  url: str, URL to post notifications to.
+  token: str, An arbitrary string associated with the channel that
+    is delivered to the target address with each notification delivered
+    over this channel.
+  expiration: datetime.datetime, A time in the future when the channel
+    should expire. Can also be None if the subscription should use the
+    default expiration. Note that different services may have different
+    limits on how long a subscription lasts. Check the response from the
+    watch() method to see the value the service has set for an expiration
+    time.
+  params: dict, Extra parameters to pass on channel creation. Currently
+    not used for webhook channels.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(2)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CHANNEL_PARAMS"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">CHANNEL_PARAMS</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+{'address': 'address', 'id': 'id', 'expiration': 'expiration', 'params<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+': 'params', 'resourceId': 'resource_id', 'resourceUri': 'resource_uri<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+', 'type': 'type', 'token': 'token',}
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.channel-pysrc.html b/docs/epy/googleapiclient.channel-pysrc.html
new file mode 100644
index 0000000..ff3a7d3
--- /dev/null
+++ b/docs/epy/googleapiclient.channel-pysrc.html
@@ -0,0 +1,395 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.channel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;channel
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.channel-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient.channel-module.html">Module googleapiclient.channel</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""Channel notifications support.</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Classes and functions to support channel subscriptions and notifications</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">on those channels.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">Notes:</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">  - This code is based on experimental APIs and is subject to change.</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">  - Notification does not do deduplication of notification ids, that's up to</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">    the receiver.</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">  - Storing the Channel between calls is up to the caller.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">Example setting up a channel:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">  # Create a new channel that gets notifications via webhook.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">  channel = new_webhook_channel("https://example.com/my_web_hook")</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">  # Store the channel, keyed by 'channel.id'. Store it before calling the</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">  # watch method because notifications may start arriving before the watch</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">  # method returns.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">  ...</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">  resp = service.objects().watchAll(</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">    bucket="some_bucket_id", body=channel.body()).execute()</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">  channel.update(resp)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">  # Store the channel, keyed by 'channel.id'. Store it after being updated</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">  # since the resource_id value will now be correct, and that's needed to</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">  # stop a subscription.</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">  ...</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">An example Webhook implementation using webapp2. Note that webapp2 puts</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">headers in a case insensitive dictionary, as headers aren't guaranteed to</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">always be upper case.</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">  id = self.request.headers[X_GOOG_CHANNEL_ID]</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">  # Retrieve the channel by id.</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">  channel = ...</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">  # Parse notification from the headers, including validating the id.</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">  n = notification_from_headers(channel, self.request.headers)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">  # Do app specific stuff with the notification here.</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">  if n.resource_state == 'sync':</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">    # Code to handle sync state.</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">  elif n.resource_state == 'exists':</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">    # Code to handle the exists state.</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">  elif n.resource_state == 'not_exists':</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">    # Code to handle the not exists state.</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">Example of unsubscribing.</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">  service.channels().stop(channel.body())</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">datetime</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uuid</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package googleapiclient=googleapiclient-module.html"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-0', 'googleapiclient', 'link-0');">googleapiclient</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module googleapiclient.errors=googleapiclient.errors-module.html"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-1', 'errors', 'link-1');">errors</a></tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">util</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-comment"># The unix time epoch starts at midnight 1970.</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable googleapiclient.channel.EPOCH=googleapiclient.channel-module.html#EPOCH"><a title="googleapiclient.channel.EPOCH" class="py-name" href="#" onclick="return doclink('link-2', 'EPOCH', 'link-2');">EPOCH</a></tt> <tt class="py-op">=</tt> <tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">datetime</tt><tt class="py-op">.</tt><tt class="py-name">utcfromtimestamp</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-comment"># Map the names of the parameters in the JSON channel description to</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-comment"># the parameter names we use in the Channel class.</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable googleapiclient.channel.CHANNEL_PARAMS=googleapiclient.channel-module.html#CHANNEL_PARAMS"><a title="googleapiclient.channel.CHANNEL_PARAMS" class="py-name" href="#" onclick="return doclink('link-3', 'CHANNEL_PARAMS', 'link-3');">CHANNEL_PARAMS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-string">'address'</tt><tt class="py-op">:</tt> <tt class="py-string">'address'</tt><tt class="py-op">,</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-string">'id'</tt><tt class="py-op">:</tt> <tt class="py-string">'id'</tt><tt class="py-op">,</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-string">'expiration'</tt><tt class="py-op">:</tt> <tt class="py-string">'expiration'</tt><tt class="py-op">,</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-string">'params'</tt><tt class="py-op">:</tt> <tt class="py-string">'params'</tt><tt class="py-op">,</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-string">'resourceId'</tt><tt class="py-op">:</tt> <tt class="py-string">'resource_id'</tt><tt class="py-op">,</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-string">'resourceUri'</tt><tt class="py-op">:</tt> <tt class="py-string">'resource_uri'</tt><tt class="py-op">,</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'type'</tt><tt class="py-op">,</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt class="py-string">'token'</tt><tt class="py-op">:</tt> <tt class="py-string">'token'</tt><tt class="py-op">,</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable googleapiclient.channel.X_GOOG_CHANNEL_ID=googleapiclient.channel-module.html#X_GOOG_CHANNEL_ID"><a title="googleapiclient.channel.X_GOOG_CHANNEL_ID" class="py-name" href="#" onclick="return doclink('link-4', 'X_GOOG_CHANNEL_ID', 'link-4');">X_GOOG_CHANNEL_ID</a></tt>     <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-CHANNEL-ID'</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable googleapiclient.channel.X_GOOG_MESSAGE_NUMBER=googleapiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER"><a title="googleapiclient.channel.X_GOOG_MESSAGE_NUMBER" class="py-name" href="#" onclick="return doclink('link-5', 'X_GOOG_MESSAGE_NUMBER', 'link-5');">X_GOOG_MESSAGE_NUMBER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-MESSAGE-NUMBER'</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable googleapiclient.channel.X_GOOG_RESOURCE_STATE=googleapiclient.channel-module.html#X_GOOG_RESOURCE_STATE"><a title="googleapiclient.channel.X_GOOG_RESOURCE_STATE" class="py-name" href="#" onclick="return doclink('link-6', 'X_GOOG_RESOURCE_STATE', 'link-6');">X_GOOG_RESOURCE_STATE</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-RESOURCE-STATE'</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable googleapiclient.channel.X_GOOG_RESOURCE_URI=googleapiclient.channel-module.html#X_GOOG_RESOURCE_URI"><a title="googleapiclient.channel.X_GOOG_RESOURCE_URI" class="py-name" href="#" onclick="return doclink('link-7', 'X_GOOG_RESOURCE_URI', 'link-7');">X_GOOG_RESOURCE_URI</a></tt>   <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-RESOURCE-URI'</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable googleapiclient.channel.X_GOOG_RESOURCE_ID=googleapiclient.channel-module.html#X_GOOG_RESOURCE_ID"><a title="googleapiclient.channel.X_GOOG_RESOURCE_ID" class="py-name" href="#" onclick="return doclink('link-8', 'X_GOOG_RESOURCE_ID', 'link-8');">X_GOOG_RESOURCE_ID</a></tt>    <tt class="py-op">=</tt> <tt class="py-string">'X-GOOG-RESOURCE-ID'</tt> </tt>
+<a name="_upper_header_keys"></a><div id="_upper_header_keys-def"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="_upper_header_keys-toggle" onclick="return toggle('_upper_header_keys');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.channel-module.html#_upper_header_keys">_upper_header_keys</a><tt class="py-op">(</tt><tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_upper_header_keys-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_upper_header_keys-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">  <tt class="py-name">new_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-name">new_headers</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">v</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">new_headers</tt> </tt>
+</div><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
+<a name="Notification"></a><div id="Notification-def"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="Notification-toggle" onclick="return toggle('Notification');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.channel.Notification-class.html">Notification</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Notification-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Notification-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">  <tt class="py-docstring">"""A Notification from a Channel.</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">  Notifications are not usually constructed directly, but are returned</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">  from functions like notification_from_headers().</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">    message_number: int, The unique id number of this notification.</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">    state: str, The state of the resource being monitored.</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">    uri: str, The address of the resource being monitored.</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    resource_id: str, The unique identifier of the version of the resource at</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">      this event.</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="Notification.__init__"></a><div id="Notification.__init__-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="Notification.__init__-toggle" onclick="return toggle('Notification.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.channel.Notification-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">message_number</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">,</tt> <tt class="py-param">resource_uri</tt><tt class="py-op">,</tt> <tt class="py-param">resource_id</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Notification.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Notification.__init__-expanded"><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt class="py-docstring">"""Notification constructor.</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">      message_number: int, The unique id number of this notification.</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">      state: str, The state of the resource being monitored. Can be one</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">        of "exists", "not_exists", or "sync".</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">      resource_uri: str, The address of the resource being monitored.</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">      resource_id: str, The identifier of the watched resource.</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">message_number</tt> <tt class="py-op">=</tt> <tt class="py-name">message_number</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt class="py-name">state</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resource_uri</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_id</tt> <tt class="py-op">=</tt> <tt class="py-name">resource_id</tt> </tt>
+</div></div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="Channel"></a><div id="Channel-def"><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="Channel-toggle" onclick="return toggle('Channel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.channel.Channel-class.html">Channel</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Channel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Channel-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">  <tt class="py-docstring">"""A Channel for notifications.</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">  Usually not constructed directly, instead it is returned from helper</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">  functions like new_webhook_channel().</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">    type: str, The type of delivery mechanism used by this channel. For</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">      example, 'web_hook'.</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">    id: str, A UUID for the channel.</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    token: str, An arbitrary string associated with the channel that</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">      is delivered to the target address with each event delivered</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">      over this channel.</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">    address: str, The address of the receiving entity where events are</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">      delivered. Specific to the channel type.</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">    expiration: int, The time, in milliseconds from the epoch, when this</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">      channel will expire.</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring">    params: dict, A dictionary of string to string, with additional parameters</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">      controlling delivery channel behavior.</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">    resource_id: str, An opaque id that identifies the resource that is</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">      being watched. Stable across different API versions.</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">    resource_uri: str, The canonicalized ID of the watched resource.</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="Channel.__init__"></a><div id="Channel.__init__-def"><a name="L151"></a><tt class="py-lineno">151</tt> <a class="py-toggle" href="#" id="Channel.__init__-toggle" onclick="return toggle('Channel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.channel.Channel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">type</tt><tt class="py-op">,</tt> <tt class="py-param">id</tt><tt class="py-op">,</tt> <tt class="py-param">token</tt><tt class="py-op">,</tt> <tt class="py-param">address</tt><tt class="py-op">,</tt> <tt class="py-param">expiration</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">               <tt class="py-param">params</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">resource_id</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">resource_uri</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Channel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.__init__-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new Channel.</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    In user code, this Channel constructor will not typically be called</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">    manually since there are functions for creating channels for each specific</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">    type with a more customized set of arguments to pass.</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">      type: str, The type of delivery mechanism used by this channel. For</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">        example, 'web_hook'.</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">      id: str, A UUID for the channel.</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">      token: str, An arbitrary string associated with the channel that</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">        is delivered to the target address with each event delivered</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">        over this channel.</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">      address: str,  The address of the receiving entity where events are</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">        delivered. Specific to the channel type.</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">      expiration: int, The time, in milliseconds from the epoch, when this</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring">        channel will expire.</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">      params: dict, A dictionary of string to string, with additional parameters</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">        controlling delivery channel behavior.</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">      resource_id: str, An opaque id that identifies the resource that is</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">        being watched. Stable across different API versions.</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">      resource_uri: str, The canonicalized ID of the watched resource.</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> <tt class="py-op">=</tt> <tt class="py-name">type</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-op">=</tt> <tt class="py-name">id</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token</tt> <tt class="py-op">=</tt> <tt class="py-name">token</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">address</tt> <tt class="py-op">=</tt> <tt class="py-name">address</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">expiration</tt> <tt class="py-op">=</tt> <tt class="py-name">expiration</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">params</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_id</tt> <tt class="py-op">=</tt> <tt class="py-name">resource_id</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resource_uri</tt> </tt>
+</div><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
+<a name="Channel.body"></a><div id="Channel.body-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="Channel.body-toggle" onclick="return toggle('Channel.body');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.channel.Channel-class.html#body">body</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Channel.body-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.body-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-docstring">"""Build a body from the Channel.</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">    Constructs a dictionary that's appropriate for passing into watch()</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">    methods as the value of body argument.</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">      A dictionary representation of the channel.</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-string">'id'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">,</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-string">'token'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">token</tt><tt class="py-op">,</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-string">'address'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">address</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'params'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">params</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_id</tt><tt class="py-op">:</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'resourceId'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_id</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_uri</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'resourceUri'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resource_uri</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">expiration</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'expiration'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">expiration</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
+<a name="Channel.update"></a><div id="Channel.update-def"><a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="Channel.update-toggle" onclick="return toggle('Channel.update');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.channel.Channel-class.html#update">update</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Channel.update-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Channel.update-expanded"><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-docstring">"""Update a channel with information from the response of watch().</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">    When a request is sent to watch() a resource, the response returned</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">    from the watch() request is a dictionary with updated channel information,</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">    such as the resource_id, which is needed when stopping a subscription.</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">      resp: dict, The response from a watch() method.</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">json_name</tt><tt class="py-op">,</tt> <tt class="py-name">param_name</tt> <tt class="py-keyword">in</tt> <tt id="link-9" class="py-name"><a title="googleapiclient.channel.CHANNEL_PARAMS" class="py-name" href="#" onclick="return doclink('link-9', 'CHANNEL_PARAMS', 'link-3');">CHANNEL_PARAMS</a></tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-10', 'get', 'link-10');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">json_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">param_name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
+<a name="notification_from_headers"></a><div id="notification_from_headers-def"><a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt> <a class="py-toggle" href="#" id="notification_from_headers-toggle" onclick="return toggle('notification_from_headers');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.channel-module.html#notification_from_headers">notification_from_headers</a><tt class="py-op">(</tt><tt class="py-param">channel</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="notification_from_headers-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="notification_from_headers-expanded"><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">  <tt class="py-docstring">"""Parse a notification from the webhook request headers, validate</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">    the notification, and return a Notification object.</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">    channel: Channel, The channel that the notification is associated with.</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">    headers: dict, A dictionary like object that contains the request headers</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">      from the webhook HTTP request.</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">    A Notification object.</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">  Raises:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">    errors.InvalidNotificationError if the notification is invalid.</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">    ValueError if the X-GOOG-MESSAGE-NUMBER can't be converted to an int.</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">  <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name" targets="Function googleapiclient.channel._upper_header_keys()=googleapiclient.channel-module.html#_upper_header_keys"><a title="googleapiclient.channel._upper_header_keys" class="py-name" href="#" onclick="return doclink('link-11', '_upper_header_keys', 'link-11');">_upper_header_keys</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">  <tt class="py-name">channel_id</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-12" class="py-name"><a title="googleapiclient.channel.X_GOOG_CHANNEL_ID" class="py-name" href="#" onclick="return doclink('link-12', 'X_GOOG_CHANNEL_ID', 'link-4');">X_GOOG_CHANNEL_ID</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-13" class="py-name" targets="Module googleapiclient.channel=googleapiclient.channel-module.html"><a title="googleapiclient.channel" class="py-name" href="#" onclick="return doclink('link-13', 'channel', 'link-13');">channel</a></tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-op">!=</tt> <tt class="py-name">channel_id</tt><tt class="py-op">:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-14" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-14', 'errors', 'link-1');">errors</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Class googleapiclient.errors.InvalidNotificationError=googleapiclient.errors.InvalidNotificationError-class.html"><a title="googleapiclient.errors.InvalidNotificationError" class="py-name" href="#" onclick="return doclink('link-15', 'InvalidNotificationError', 'link-15');">InvalidNotificationError</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-string">'Channel id mismatch: %s != %s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="googleapiclient.channel" class="py-name" href="#" onclick="return doclink('link-16', 'channel', 'link-13');">channel</a></tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">,</tt> <tt class="py-name">channel_id</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-name">message_number</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-17" class="py-name"><a title="googleapiclient.channel.X_GOOG_MESSAGE_NUMBER" class="py-name" href="#" onclick="return doclink('link-17', 'X_GOOG_MESSAGE_NUMBER', 'link-5');">X_GOOG_MESSAGE_NUMBER</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    <tt class="py-name">state</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-18" class="py-name"><a title="googleapiclient.channel.X_GOOG_RESOURCE_STATE" class="py-name" href="#" onclick="return doclink('link-18', 'X_GOOG_RESOURCE_STATE', 'link-6');">X_GOOG_RESOURCE_STATE</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt class="py-name">resource_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-19" class="py-name"><a title="googleapiclient.channel.X_GOOG_RESOURCE_URI" class="py-name" href="#" onclick="return doclink('link-19', 'X_GOOG_RESOURCE_URI', 'link-7');">X_GOOG_RESOURCE_URI</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    <tt class="py-name">resource_id</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt id="link-20" class="py-name"><a title="googleapiclient.channel.X_GOOG_RESOURCE_ID" class="py-name" href="#" onclick="return doclink('link-20', 'X_GOOG_RESOURCE_ID', 'link-8');">X_GOOG_RESOURCE_ID</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-21" class="py-name" targets="Class googleapiclient.channel.Notification=googleapiclient.channel.Notification-class.html"><a title="googleapiclient.channel.Notification" class="py-name" href="#" onclick="return doclink('link-21', 'Notification', 'link-21');">Notification</a></tt><tt class="py-op">(</tt><tt class="py-name">message_number</tt><tt class="py-op">,</tt> <tt class="py-name">state</tt><tt class="py-op">,</tt> <tt class="py-name">resource_uri</tt><tt class="py-op">,</tt> <tt class="py-name">resource_id</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
+<a name="new_webhook_channel"></a><div id="new_webhook_channel-def"><a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="new_webhook_channel-toggle" onclick="return toggle('new_webhook_channel');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.channel-module.html#new_webhook_channel">new_webhook_channel</a><tt class="py-op">(</tt><tt class="py-param">url</tt><tt class="py-op">,</tt> <tt class="py-param">token</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">expiration</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="new_webhook_channel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="new_webhook_channel-expanded"><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new webhook Channel.</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring">      url: str, URL to post notifications to.</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt class="py-docstring">      token: str, An arbitrary string associated with the channel that</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-docstring">        is delivered to the target address with each notification delivered</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"><tt class="py-docstring">        over this channel.</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"><tt class="py-docstring">      expiration: datetime.datetime, A time in the future when the channel</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">        should expire. Can also be None if the subscription should use the</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">        default expiration. Note that different services may have different</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">        limits on how long a subscription lasts. Check the response from the</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring">        watch() method to see the value the service has set for an expiration</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-docstring">        time.</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring">      params: dict, Extra parameters to pass on channel creation. Currently</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">        not used for webhook channels.</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">    <tt class="py-name">expiration_ms</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">expiration</tt><tt class="py-op">:</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">      <tt class="py-name">delta</tt> <tt class="py-op">=</tt> <tt class="py-name">expiration</tt> <tt class="py-op">-</tt> <tt id="link-22" class="py-name"><a title="googleapiclient.channel.EPOCH" class="py-name" href="#" onclick="return doclink('link-22', 'EPOCH', 'link-2');">EPOCH</a></tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">      <tt class="py-name">expiration_ms</tt> <tt class="py-op">=</tt> <tt class="py-name">delta</tt><tt class="py-op">.</tt><tt class="py-name">microseconds</tt><tt class="py-op">/</tt><tt class="py-number">1000</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">          <tt class="py-name">delta</tt><tt class="py-op">.</tt><tt class="py-name">seconds</tt> <tt class="py-op">+</tt> <tt class="py-name">delta</tt><tt class="py-op">.</tt><tt class="py-name">days</tt><tt class="py-op">*</tt><tt class="py-number">24</tt><tt class="py-op">*</tt><tt class="py-number">3600</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-number">1000</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">expiration_ms</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">expiration_ms</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-23" class="py-name" targets="Class googleapiclient.channel.Channel=googleapiclient.channel.Channel-class.html"><a title="googleapiclient.channel.Channel" class="py-name" href="#" onclick="return doclink('link-23', 'Channel', 'link-23');">Channel</a></tt><tt class="py-op">(</tt><tt class="py-string">'web_hook'</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">uuid</tt><tt class="py-op">.</tt><tt class="py-name">uuid4</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                   <tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-name">expiration</tt><tt class="py-op">=</tt><tt class="py-name">expiration_ms</tt><tt class="py-op">,</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                   <tt class="py-name">params</tt><tt class="py-op">=</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.channel.Channel-class.html b/docs/epy/googleapiclient.channel.Channel-class.html
new file mode 100644
index 0000000..f286bff
--- /dev/null
+++ b/docs/epy/googleapiclient.channel.Channel-class.html
@@ -0,0 +1,398 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.channel.Channel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.channel-module.html">Module&nbsp;channel</a> ::
+        Class&nbsp;Channel
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.channel.Channel-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Channel</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.channel-pysrc.html#Channel">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap" name="uml_class_diagram_for_googleap">
+<area shape="rect" id="node0" href="googleapiclient.channel.Channel-class.html#__init__" title="Create a new Channel." alt="" coords="17,39,627,57"/>
+<area shape="rect" id="node0" href="googleapiclient.channel.Channel-class.html#body" title="Build a body from the Channel." alt="" coords="17,57,627,76"/>
+<area shape="rect" id="node0" href="googleapiclient.channel.Channel-class.html#update" title="Update a channel with information from the response of watch()." alt="" coords="17,76,627,95"/>
+<area shape="rect" id="node1" href="googleapiclient.channel.Channel-class.html" title="A Channel for notifications." alt="" coords="5,6,637,101"/>
+</map>
+  <img src="uml_class_diagram_for_googleap.gif" alt='' usemap="#uml_class_diagram_for_googleap" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+A Channel for notifications.
+
+Usually not constructed directly, instead it is returned from helper
+functions like new_webhook_channel().
+
+Attributes:
+  type: str, The type of delivery mechanism used by this channel. For
+    example, 'web_hook'.
+  id: str, A UUID for the channel.
+  token: str, An arbitrary string associated with the channel that
+    is delivered to the target address with each event delivered
+    over this channel.
+  address: str, The address of the receiving entity where events are
+    delivered. Specific to the channel type.
+  expiration: int, The time, in milliseconds from the epoch, when this
+    channel will expire.
+  params: dict, A dictionary of string to string, with additional parameters
+    controlling delivery channel behavior.
+  resource_id: str, An opaque id that identifies the resource that is
+    being watched. Stable across different API versions.
+  resource_uri: str, The canonicalized ID of the watched resource.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.channel.Channel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">type</span>,
+        <span class="summary-sig-arg">id</span>,
+        <span class="summary-sig-arg">token</span>,
+        <span class="summary-sig-arg">address</span>,
+        <span class="summary-sig-arg">expiration</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">params</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">resource_id</span>=<span class="summary-sig-default">&quot;&quot;</span>,
+        <span class="summary-sig-arg">resource_uri</span>=<span class="summary-sig-default">&quot;&quot;</span>)</span><br />
+      Create a new Channel.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.channel-pysrc.html#Channel.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.channel.Channel-class.html#body" class="summary-sig-name">body</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Build a body from the Channel.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.channel-pysrc.html#Channel.body">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.channel.Channel-class.html#update" class="summary-sig-name">update</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resp</span>)</span><br />
+      Update a channel with information from the response of watch().</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.channel-pysrc.html#Channel.update">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">type</span>,
+        <span class="sig-arg">id</span>,
+        <span class="sig-arg">token</span>,
+        <span class="sig-arg">address</span>,
+        <span class="sig-arg">expiration</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">params</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">resource_id</span>=<span class="sig-default">&quot;&quot;</span>,
+        <span class="sig-arg">resource_uri</span>=<span class="sig-default">&quot;&quot;</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.channel-pysrc.html#Channel.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Create a new Channel.
+
+In user code, this Channel constructor will not typically be called
+manually since there are functions for creating channels for each specific
+type with a more customized set of arguments to pass.
+
+Args:
+  type: str, The type of delivery mechanism used by this channel. For
+    example, 'web_hook'.
+  id: str, A UUID for the channel.
+  token: str, An arbitrary string associated with the channel that
+    is delivered to the target address with each event delivered
+    over this channel.
+  address: str,  The address of the receiving entity where events are
+    delivered. Specific to the channel type.
+  expiration: int, The time, in milliseconds from the epoch, when this
+    channel will expire.
+  params: dict, A dictionary of string to string, with additional parameters
+    controlling delivery channel behavior.
+  resource_id: str, An opaque id that identifies the resource that is
+    being watched. Stable across different API versions.
+  resource_uri: str, The canonicalized ID of the watched resource.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(5)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="body"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">body</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.channel-pysrc.html#Channel.body">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Build a body from the Channel.
+
+Constructs a dictionary that's appropriate for passing into watch()
+methods as the value of body argument.
+
+Returns:
+  A dictionary representation of the channel.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="update"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">update</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">resp</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.channel-pysrc.html#Channel.update">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Update a channel with information from the response of watch().
+
+When a request is sent to watch() a resource, the response returned
+from the watch() request is a dictionary with updated channel information,
+such as the resource_id, which is needed when stopping a subscription.
+
+Args:
+  resp: dict, The response from a watch() method.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.channel.Notification-class.html b/docs/epy/googleapiclient.channel.Notification-class.html
new file mode 100644
index 0000000..761d189
--- /dev/null
+++ b/docs/epy/googleapiclient.channel.Notification-class.html
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.channel.Notification</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.channel-module.html">Module&nbsp;channel</a> ::
+        Class&nbsp;Notification
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.channel.Notification-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Notification</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.channel-pysrc.html#Notification">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_2" name="uml_class_diagram_for_googleap_2">
+<area shape="rect" id="node1" href="googleapiclient.channel.Notification-class.html#__init__" title="Notification constructor." alt="" coords="17,39,401,57"/>
+<area shape="rect" id="node1" href="googleapiclient.channel.Notification-class.html" title="A Notification from a Channel." alt="" coords="5,6,413,63"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_2.gif" alt='' usemap="#uml_class_diagram_for_googleap_2" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+A Notification from a Channel.
+
+Notifications are not usually constructed directly, but are returned
+from functions like notification_from_headers().
+
+Attributes:
+  message_number: int, The unique id number of this notification.
+  state: str, The state of the resource being monitored.
+  uri: str, The address of the resource being monitored.
+  resource_id: str, The unique identifier of the version of the resource at
+    this event.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.channel.Notification-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">message_number</span>,
+        <span class="summary-sig-arg">state</span>,
+        <span class="summary-sig-arg">resource_uri</span>,
+        <span class="summary-sig-arg">resource_id</span>)</span><br />
+      Notification constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.channel-pysrc.html#Notification.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">message_number</span>,
+        <span class="sig-arg">state</span>,
+        <span class="sig-arg">resource_uri</span>,
+        <span class="sig-arg">resource_id</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.channel-pysrc.html#Notification.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Notification constructor.
+
+Args:
+  message_number: int, The unique id number of this notification.
+  state: str, The state of the resource being monitored. Can be one
+    of &quot;exists&quot;, &quot;not_exists&quot;, or &quot;sync&quot;.
+  resource_uri: str, The address of the resource being monitored.
+  resource_id: str, The identifier of the watched resource.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(5)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.discovery-module.html b/docs/epy/googleapiclient.discovery-module.html
new file mode 100644
index 0000000..c324858
--- /dev/null
+++ b/docs/epy/googleapiclient.discovery-module.html
@@ -0,0 +1,1096 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.discovery</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;discovery
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.discovery-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module discovery</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.discovery-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+Client for discovery based APIs.
+
+A client library for Google's discovery based APIs.
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        jcgregorio@google.com (Joe Gregorio)
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.discovery.ResourceMethodParameters-class.html" class="summary-name" onclick="show_private();">ResourceMethodParameters</a><br />
+      Represents the parameters associated with a method.
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.discovery.Resource-class.html" class="summary-name" onclick="show_private();">Resource</a><br />
+      A class for interacting with a resource.
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#fix_method_name" class="summary-sig-name">fix_method_name</a>(<span class="summary-sig-arg">name</span>)</span><br />
+      Fix method names to avoid reserved word conflicts.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#fix_method_name">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#key2param" class="summary-sig-name">key2param</a>(<span class="summary-sig-arg">key</span>)</span><br />
+      Converts key names into parameter names.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#key2param">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#build" class="summary-sig-name">build</a>(<span class="summary-sig-arg">serviceName</span>,
+        <span class="summary-sig-arg">version</span>,
+        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">discoveryServiceUrl</span>=<span class="summary-sig-default">DISCOVERY_URI</span>,
+        <span class="summary-sig-arg">developerKey</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">model</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">requestBuilder</span>=<span class="summary-sig-default">HttpRequest</span>)</span><br />
+      Construct a Resource for interacting with an API.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#build">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#build_from_document" class="summary-sig-name">build_from_document</a>(<span class="summary-sig-arg">service</span>,
+        <span class="summary-sig-arg">base</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">future</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">developerKey</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">model</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">requestBuilder</span>=<span class="summary-sig-default">HttpRequest</span>)</span><br />
+      Create a Resource for interacting with an API.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#build_from_document">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_cast" class="summary-sig-name" onclick="show_private();">_cast</a>(<span class="summary-sig-arg">value</span>,
+        <span class="summary-sig-arg">schema_type</span>)</span><br />
+      Convert value to a string based on JSON Schema type.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_cast">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_media_size_to_long" class="summary-sig-name" onclick="show_private();">_media_size_to_long</a>(<span class="summary-sig-arg">maxSize</span>)</span><br />
+      Convert a string media size, such as 10GB or 3TB into an integer.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_media_size_to_long">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_media_path_url_from_info" class="summary-sig-name" onclick="show_private();">_media_path_url_from_info</a>(<span class="summary-sig-arg">root_desc</span>,
+        <span class="summary-sig-arg">path_url</span>)</span><br />
+      Creates an absolute media path URL.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_media_path_url_from_info">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_fix_up_parameters" class="summary-sig-name" onclick="show_private();">_fix_up_parameters</a>(<span class="summary-sig-arg">method_desc</span>,
+        <span class="summary-sig-arg">root_desc</span>,
+        <span class="summary-sig-arg">http_method</span>)</span><br />
+      Updates parameters of an API method with values specific to this library.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_parameters">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_fix_up_media_upload" class="summary-sig-name" onclick="show_private();">_fix_up_media_upload</a>(<span class="summary-sig-arg">method_desc</span>,
+        <span class="summary-sig-arg">root_desc</span>,
+        <span class="summary-sig-arg">path_url</span>,
+        <span class="summary-sig-arg">parameters</span>)</span><br />
+      Updates parameters of API by adding 'media_body' if supported by method.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_media_upload">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_fix_up_method_description" class="summary-sig-name" onclick="show_private();">_fix_up_method_description</a>(<span class="summary-sig-arg">method_desc</span>,
+        <span class="summary-sig-arg">root_desc</span>)</span><br />
+      Updates a method description in a discovery document.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_method_description">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#createMethod" class="summary-sig-name" onclick="show_private();">createMethod</a>(<span class="summary-sig-arg">methodName</span>,
+        <span class="summary-sig-arg">methodDesc</span>,
+        <span class="summary-sig-arg">rootDesc</span>,
+        <span class="summary-sig-arg">schema</span>)</span><br />
+      Creates a method for attaching to a Resource.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#createMethod">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#createNextMethod" class="summary-sig-name" onclick="show_private();">createNextMethod</a>(<span class="summary-sig-arg">methodName</span>)</span><br />
+      Creates any _next methods for attaching to a Resource.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#createNextMethod">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="URITEMPLATE"></a><span class="summary-name">URITEMPLATE</span> = <code title="re.compile('{[^}]*}')">re.compile('{[^}]*}')</code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="VARNAME"></a><span class="summary-name">VARNAME</span> = <code title="re.compile('[a-zA-Z0-9_-]+')">re.compile('[a-zA-Z0-9_-]+')</code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.discovery-module.html#DISCOVERY_URI" class="summary-name" onclick="show_private();">DISCOVERY_URI</a> = <code title="'https://www.googleapis.com/discovery/v1/apis/' '{api}/{apiVersion}/re\
+st'">'https://www.googleapis.com/discovery/v1/apis/<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="DEFAULT_METHOD_DOC"></a><span class="summary-name">DEFAULT_METHOD_DOC</span> = <code title="'A description of how to use this function'">'A description of how to use this function'</code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="HTTP_PAYLOAD_METHODS"></a><span class="summary-name">HTTP_PAYLOAD_METHODS</span> = <code title="frozenset(['PUT', 'POST', 'PATCH'])">frozenset(['PUT', 'POST', 'PATCH'])</code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="_MEDIA_SIZE_BIT_SHIFTS"></a><span class="summary-name">_MEDIA_SIZE_BIT_SHIFTS</span> = <code title="{'KB': 10, 'MB': 20, 'GB': 30, 'TB': 40}">{'KB': 10, 'MB': 20, 'GB': 30, 'TB': 40}</code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">BODY_PARAMETER_DEFAULT_VALUE</a> = <code title="{'description': 'The request body.', 'type': 'object', 'required': Tru\
+e,}">{'description': 'The request bo<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a> = <code title="{'description':('The filename of the media request body, or an instanc\
+e ' 'of a MediaUpload object.'), 'type': 'string', 'required': False,}">{'description':('The file<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS" class="summary-name" onclick="show_private();">STACK_QUERY_PARAMETERS</a> = <code title="frozenset(['trace', 'pp', 'userip', 'strict'])">frozenset(['trace', 'pp', 'userip', '<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a> = <code title="{'type': 'string', 'location': 'query'}">{'type': 'string', 'loca<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="RESERVED_WORDS"></a><span class="summary-name">RESERVED_WORDS</span> = <code title="frozenset(['body'])">frozenset(['body'])</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="fix_method_name"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">fix_method_name</span>(<span class="sig-arg">name</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#fix_method_name">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Fix method names to avoid reserved word conflicts.
+
+Args:
+  name: string, method name.
+
+Returns:
+  The name with a '_' prefixed if the name is a reserved word.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="key2param"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">key2param</span>(<span class="sig-arg">key</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#key2param">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Converts key names into parameter names.
+
+For example, converting &quot;max-results&quot; -&gt; &quot;max_results&quot;
+
+Args:
+  key: string, the method key name.
+
+Returns:
+  A safe method name based on the key name.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="build"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">build</span>(<span class="sig-arg">serviceName</span>,
+        <span class="sig-arg">version</span>,
+        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">discoveryServiceUrl</span>=<span class="sig-default">DISCOVERY_URI</span>,
+        <span class="sig-arg">developerKey</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">model</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">requestBuilder</span>=<span class="sig-default">HttpRequest</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#build">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Construct a Resource for interacting with an API.
+
+Construct a Resource object for interacting with an API. The serviceName and
+version are the names from the Discovery service.
+
+Args:
+  serviceName: string, name of the service.
+  version: string, the version of the service.
+  http: httplib2.Http, An instance of httplib2.Http or something that acts
+    like it that HTTP requests will be made through.
+  discoveryServiceUrl: string, a URI Template that points to the location of
+    the discovery service. It should have two parameters {api} and
+    {apiVersion} that when filled in produce an absolute URI to the discovery
+    document for that service.
+  developerKey: string, key obtained from
+    https://code.google.com/apis/console.
+  model: googleapiclient.Model, converts to and from the wire format.
+  requestBuilder: googleapiclient.http.HttpRequest, encapsulator for an HTTP
+    request.
+
+Returns:
+  A Resource object with methods for interacting with the service.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@positional(2)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="build_from_document"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">build_from_document</span>(<span class="sig-arg">service</span>,
+        <span class="sig-arg">base</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">future</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">developerKey</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">model</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">requestBuilder</span>=<span class="sig-default">HttpRequest</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#build_from_document">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Create a Resource for interacting with an API.
+
+Same as `build()`, but constructs the Resource object from a discovery
+document that is it given, as opposed to retrieving one over HTTP.
+
+Args:
+  service: string or object, the JSON discovery document describing the API.
+    The value passed in may either be the JSON string or the deserialized
+    JSON.
+  base: string, base URI for all HTTP requests, usually the discovery URI.
+    This parameter is no longer used as rootUrl and servicePath are included
+    within the discovery document. (deprecated)
+  future: string, discovery document with future capabilities (deprecated).
+  http: httplib2.Http, An instance of httplib2.Http or something that acts
+    like it that HTTP requests will be made through.
+  developerKey: string, Key for controlling API usage, generated
+    from the API Console.
+  model: Model class instance that serializes and de-serializes requests and
+    responses.
+  requestBuilder: Takes an http request and packages it up to be executed.
+
+Returns:
+  A Resource object with methods for interacting with the service.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@positional(1)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_cast"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_cast</span>(<span class="sig-arg">value</span>,
+        <span class="sig-arg">schema_type</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_cast">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Convert value to a string based on JSON Schema type.
+
+See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on
+JSON Schema.
+
+Args:
+  value: any, the value to convert
+  schema_type: string, the type that value should be interpreted as
+
+Returns:
+  A string representation of 'value' based on the schema_type.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_media_size_to_long"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_media_size_to_long</span>(<span class="sig-arg">maxSize</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_media_size_to_long">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Convert a string media size, such as 10GB or 3TB into an integer.
+
+Args:
+  maxSize: string, size as a string, such as 2MB or 7GB.
+
+Returns:
+  The size as an integer value.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_media_path_url_from_info"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_media_path_url_from_info</span>(<span class="sig-arg">root_desc</span>,
+        <span class="sig-arg">path_url</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_media_path_url_from_info">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Creates an absolute media path URL.
+
+Constructed using the API root URI and service path from the discovery
+document and the relative path for the API method.
+
+Args:
+  root_desc: Dictionary; the entire original deserialized discovery document.
+  path_url: String; the relative URL for the API method. Relative to the API
+      root, which is specified in the discovery document.
+
+Returns:
+  String; the absolute URI for media upload for the API method.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_fix_up_parameters"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_parameters</span>(<span class="sig-arg">method_desc</span>,
+        <span class="sig-arg">root_desc</span>,
+        <span class="sig-arg">http_method</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_parameters">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Updates parameters of an API method with values specific to this library.
+
+Specifically, adds whatever global parameters are specified by the API to the
+parameters for the individual method. Also adds parameters which don't
+appear in the discovery document, but are available to all discovery based
+APIs (these are listed in STACK_QUERY_PARAMETERS).
+
+SIDE EFFECTS: This updates the parameters dictionary object in the method
+description.
+
+Args:
+  method_desc: Dictionary with metadata describing an API method. Value comes
+      from the dictionary of methods stored in the 'methods' key in the
+      deserialized discovery document.
+  root_desc: Dictionary; the entire original deserialized discovery document.
+  http_method: String; the HTTP method used to call the API method described
+      in method_desc.
+
+Returns:
+  The updated Dictionary stored in the 'parameters' key of the method
+      description dictionary.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_fix_up_media_upload"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_media_upload</span>(<span class="sig-arg">method_desc</span>,
+        <span class="sig-arg">root_desc</span>,
+        <span class="sig-arg">path_url</span>,
+        <span class="sig-arg">parameters</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_media_upload">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Updates parameters of API by adding 'media_body' if supported by method.
+
+SIDE EFFECTS: If the method supports media upload and has a required body,
+sets body to be optional (required=False) instead. Also, if there is a
+'mediaUpload' in the method description, adds 'media_upload' key to
+parameters.
+
+Args:
+  method_desc: Dictionary with metadata describing an API method. Value comes
+      from the dictionary of methods stored in the 'methods' key in the
+      deserialized discovery document.
+  root_desc: Dictionary; the entire original deserialized discovery document.
+  path_url: String; the relative URL for the API method. Relative to the API
+      root, which is specified in the discovery document.
+  parameters: A dictionary describing method parameters for method described
+      in method_desc.
+
+Returns:
+  Triple (accept, max_size, media_path_url) where:
+    - accept is a list of strings representing what content types are
+      accepted for media upload. Defaults to empty list if not in the
+      discovery document.
+    - max_size is a long representing the max size in bytes allowed for a
+      media upload. Defaults to 0L if not in the discovery document.
+    - media_path_url is a String; the absolute URI for media upload for the
+      API method. Constructed using the API root URI and service path from
+      the discovery document and the relative path for the API method. If
+      media upload is not supported, this is None.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_fix_up_method_description"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_method_description</span>(<span class="sig-arg">method_desc</span>,
+        <span class="sig-arg">root_desc</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_method_description">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Updates a method description in a discovery document.
+
+SIDE EFFECTS: Changes the parameters dictionary in the method description with
+extra parameters which are used locally.
+
+Args:
+  method_desc: Dictionary with metadata describing an API method. Value comes
+      from the dictionary of methods stored in the 'methods' key in the
+      deserialized discovery document.
+  root_desc: Dictionary; the entire original deserialized discovery document.
+
+Returns:
+  Tuple (path_url, http_method, method_id, accept, max_size, media_path_url)
+  where:
+    - path_url is a String; the relative URL for the API method. Relative to
+      the API root, which is specified in the discovery document.
+    - http_method is a String; the HTTP method used to call the API method
+      described in the method description.
+    - method_id is a String; the name of the RPC method associated with the
+      API method, and is in the method description in the 'id' key.
+    - accept is a list of strings representing what content types are
+      accepted for media upload. Defaults to empty list if not in the
+      discovery document.
+    - max_size is a long representing the max size in bytes allowed for a
+      media upload. Defaults to 0L if not in the discovery document.
+    - media_path_url is a String; the absolute URI for media upload for the
+      API method. Constructed using the API root URI and service path from
+      the discovery document and the relative path for the API method. If
+      media upload is not supported, this is None.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="createMethod"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">createMethod</span>(<span class="sig-arg">methodName</span>,
+        <span class="sig-arg">methodDesc</span>,
+        <span class="sig-arg">rootDesc</span>,
+        <span class="sig-arg">schema</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#createMethod">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Creates a method for attaching to a Resource.
+
+Args:
+  methodName: string, name of the method to use.
+  methodDesc: object, fragment of deserialized discovery document that
+    describes the method.
+  rootDesc: object, the entire deserialized discovery document.
+  schema: object, mapping of schema names to schema descriptions.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="createNextMethod"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">createNextMethod</span>(<span class="sig-arg">methodName</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#createNextMethod">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Creates any _next methods for attaching to a Resource.
+
+The _next methods allow for easy iteration through list() responses.
+
+Args:
+  methodName: string, name of the method to use.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="DISCOVERY_URI"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">DISCOVERY_URI</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+'https://www.googleapis.com/discovery/v1/apis/' '{api}/{apiVersion}/re<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+st'
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="BODY_PARAMETER_DEFAULT_VALUE"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">BODY_PARAMETER_DEFAULT_VALUE</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+{'description': 'The request body.', 'type': 'object', 'required': Tru<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+e,}
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="MEDIA_BODY_PARAMETER_DEFAULT_VALUE"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+{'description':('The filename of the media request body, or an instanc<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+e ' 'of a MediaUpload object.'), 'type': 'string', 'required': False,}
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="STACK_QUERY_PARAMETERS"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">STACK_QUERY_PARAMETERS</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+frozenset(['trace', 'pp', 'userip', 'strict'])
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="STACK_QUERY_PARAMETER_DEFAULT_VALUE"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">STACK_QUERY_PARAMETER_DEFAULT_VALUE</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+{'type': 'string', 'location': 'query'}
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.discovery-pysrc.html b/docs/epy/googleapiclient.discovery-pysrc.html
new file mode 100644
index 0000000..e9086b8
--- /dev/null
+++ b/docs/epy/googleapiclient.discovery-pysrc.html
@@ -0,0 +1,1127 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.discovery</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;discovery
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.discovery-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient.discovery-module.html">Module googleapiclient.discovery</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Client for discovery based APIs.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">A client library for Google's discovery based APIs.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-string">'build'</tt><tt class="py-op">,</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-string">'build_from_document'</tt><tt class="py-op">,</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-string">'fix_method_name'</tt><tt class="py-op">,</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-string">'key2param'</tt><tt class="py-op">,</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt class="py-op">]</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-comment"># Standard library imports</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">multipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMEMultipart</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">nonmultipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMENonMultipart</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">keyword</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">mimetypes</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">urlparse</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">  <tt class="py-keyword">from</tt> <tt class="py-name">cgi</tt> <tt class="py-keyword">import</tt> <tt class="py-name">parse_qsl</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-comment"># Third-party imports</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module googleapiclient.mimeparse=googleapiclient.mimeparse-module.html"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-0', 'mimeparse', 'link-0');">mimeparse</a></tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uritemplate</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-comment"># Local imports</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Package googleapiclient=googleapiclient-module.html"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-1', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module googleapiclient.errors=googleapiclient.errors-module.html"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-2', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Class googleapiclient.errors.HttpError=googleapiclient.errors.HttpError-class.html"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-3', 'HttpError', 'link-3');">HttpError</a></tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-4', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-5', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class googleapiclient.errors.InvalidJsonError=googleapiclient.errors.InvalidJsonError-class.html"><a title="googleapiclient.errors.InvalidJsonError" class="py-name" href="#" onclick="return doclink('link-6', 'InvalidJsonError', 'link-6');">InvalidJsonError</a></tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-7', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-8', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class googleapiclient.errors.MediaUploadSizeError=googleapiclient.errors.MediaUploadSizeError-class.html"><a title="googleapiclient.errors.MediaUploadSizeError" class="py-name" href="#" onclick="return doclink('link-9', 'MediaUploadSizeError', 'link-9');">MediaUploadSizeError</a></tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-10" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-10', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-11', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Class googleapiclient.errors.UnacceptableMimeTypeError=googleapiclient.errors.UnacceptableMimeTypeError-class.html"><a title="googleapiclient.errors.UnacceptableMimeTypeError" class="py-name" href="#" onclick="return doclink('link-12', 'UnacceptableMimeTypeError', 'link-12');">UnacceptableMimeTypeError</a></tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-13', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-14', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Class googleapiclient.errors.UnknownApiNameOrVersion=googleapiclient.errors.UnknownApiNameOrVersion-class.html"><a title="googleapiclient.errors.UnknownApiNameOrVersion" class="py-name" href="#" onclick="return doclink('link-15', 'UnknownApiNameOrVersion', 'link-15');">UnknownApiNameOrVersion</a></tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-16" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-16', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-17', 'errors', 'link-2');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-18" class="py-name" targets="Class googleapiclient.errors.UnknownFileType=googleapiclient.errors.UnknownFileType-class.html"><a title="googleapiclient.errors.UnknownFileType" class="py-name" href="#" onclick="return doclink('link-18', 'UnknownFileType', 'link-18');">UnknownFileType</a></tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-19" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-19', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Module googleapiclient.http=googleapiclient.http-module.html"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-20', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-21" class="py-name" targets="Class googleapiclient.http.HttpRequest=googleapiclient.http.HttpRequest-class.html"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-21', 'HttpRequest', 'link-21');">HttpRequest</a></tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-22" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-22', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-23', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-24" class="py-name" targets="Class googleapiclient.http.MediaFileUpload=googleapiclient.http.MediaFileUpload-class.html"><a title="googleapiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-24', 'MediaFileUpload', 'link-24');">MediaFileUpload</a></tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-25" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-25', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-26', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">import</tt> <tt id="link-27" class="py-name" targets="Class googleapiclient.http.MediaUpload=googleapiclient.http.MediaUpload-class.html"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-27', 'MediaUpload', 'link-27');">MediaUpload</a></tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-28" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-28', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Module googleapiclient.model=googleapiclient.model-module.html"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-29', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-30" class="py-name" targets="Class googleapiclient.model.JsonModel=googleapiclient.model.JsonModel-class.html"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-30', 'JsonModel', 'link-30');">JsonModel</a></tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-31" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-31', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-32', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-33" class="py-name" targets="Class googleapiclient.model.MediaModel=googleapiclient.model.MediaModel-class.html"><a title="googleapiclient.model.MediaModel" class="py-name" href="#" onclick="return doclink('link-33', 'MediaModel', 'link-33');">MediaModel</a></tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-34" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-34', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-35', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-36" class="py-name" targets="Class googleapiclient.model.RawModel=googleapiclient.model.RawModel-class.html"><a title="googleapiclient.model.RawModel" class="py-name" href="#" onclick="return doclink('link-36', 'RawModel', 'link-36');">RawModel</a></tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-37" class="py-name"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-37', 'googleapiclient', 'link-1');">googleapiclient</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Module googleapiclient.schema=googleapiclient.schema-module.html"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-38', 'schema', 'link-38');">schema</a></tt> <tt class="py-keyword">import</tt> <tt id="link-39" class="py-name" targets="Class googleapiclient.schema.Schemas=googleapiclient.schema.Schemas-class.html"><a title="googleapiclient.schema.Schemas" class="py-name" href="#" onclick="return doclink('link-39', 'Schemas', 'link-39');">Schemas</a></tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">anyjson</tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">util</tt> <tt class="py-keyword">import</tt> <tt class="py-name">_add_query_parameter</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">util</tt> <tt class="py-keyword">import</tt> <tt class="py-name">positional</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-comment"># The client library requires a version of httplib2 that supports RETRIES.</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">RETRIES</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt id="link-40" class="py-name" targets="Variable googleapiclient.discovery.logger=googleapiclient.discovery-module.html#logger"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-40', 'logger', 'link-40');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt id="link-41" class="py-name" targets="Variable googleapiclient.discovery.URITEMPLATE=googleapiclient.discovery-module.html#URITEMPLATE"><a title="googleapiclient.discovery.URITEMPLATE" class="py-name" href="#" onclick="return doclink('link-41', 'URITEMPLATE', 'link-41');">URITEMPLATE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'{[^}]*}'</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt id="link-42" class="py-name" targets="Variable googleapiclient.discovery.VARNAME=googleapiclient.discovery-module.html#VARNAME"><a title="googleapiclient.discovery.VARNAME" class="py-name" href="#" onclick="return doclink('link-42', 'VARNAME', 'link-42');">VARNAME</a></tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">'[a-zA-Z0-9_-]+'</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt id="link-43" class="py-name" targets="Variable googleapiclient.discovery.DISCOVERY_URI=googleapiclient.discovery-module.html#DISCOVERY_URI"><a title="googleapiclient.discovery.DISCOVERY_URI" class="py-name" href="#" onclick="return doclink('link-43', 'DISCOVERY_URI', 'link-43');">DISCOVERY_URI</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'https://www.googleapis.com/discovery/v1/apis/'</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                 <tt class="py-string">'{api}/{apiVersion}/rest'</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt id="link-44" class="py-name" targets="Variable googleapiclient.discovery.DEFAULT_METHOD_DOC=googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC"><a title="googleapiclient.discovery.DEFAULT_METHOD_DOC" class="py-name" href="#" onclick="return doclink('link-44', 'DEFAULT_METHOD_DOC', 'link-44');">DEFAULT_METHOD_DOC</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'A description of how to use this function'</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt id="link-45" class="py-name" targets="Variable googleapiclient.discovery.HTTP_PAYLOAD_METHODS=googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS"><a title="googleapiclient.discovery.HTTP_PAYLOAD_METHODS" class="py-name" href="#" onclick="return doclink('link-45', 'HTTP_PAYLOAD_METHODS', 'link-45');">HTTP_PAYLOAD_METHODS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> <tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt class="py-string">'PATCH'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt id="link-46" class="py-name" targets="Variable googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS=googleapiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS"><a title="googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS" class="py-name" href="#" onclick="return doclink('link-46', '_MEDIA_SIZE_BIT_SHIFTS', 'link-46');">_MEDIA_SIZE_BIT_SHIFTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'KB'</tt><tt class="py-op">:</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-string">'MB'</tt><tt class="py-op">:</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-string">'GB'</tt><tt class="py-op">:</tt> <tt class="py-number">30</tt><tt class="py-op">,</tt> <tt class="py-string">'TB'</tt><tt class="py-op">:</tt> <tt class="py-number">40</tt><tt class="py-op">}</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt id="link-47" class="py-name" targets="Variable googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-47', 'BODY_PARAMETER_DEFAULT_VALUE', 'link-47');">BODY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-string">'description'</tt><tt class="py-op">:</tt> <tt class="py-string">'The request body.'</tt><tt class="py-op">,</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'object'</tt><tt class="py-op">,</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt id="link-48" class="py-name" targets="Variable googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-48', 'MEDIA_BODY_PARAMETER_DEFAULT_VALUE', 'link-48');">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-string">'description'</tt><tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-string">'The filename of the media request body, or an instance '</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                    <tt class="py-string">'of a MediaUpload object.'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'string'</tt><tt class="py-op">,</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-string">'required'</tt><tt class="py-op">:</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-op">}</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-comment"># Parameters accepted by the stack, but not visible via discovery.</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Remove 'userip' in 'v2'.</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt id="link-49" class="py-name" targets="Variable googleapiclient.discovery.STACK_QUERY_PARAMETERS=googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-49', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'trace'</tt><tt class="py-op">,</tt> <tt class="py-string">'pp'</tt><tt class="py-op">,</tt> <tt class="py-string">'userip'</tt><tt class="py-op">,</tt> <tt class="py-string">'strict'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt id="link-50" class="py-name" targets="Variable googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE=googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-50', 'STACK_QUERY_PARAMETER_DEFAULT_VALUE', 'link-50');">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'type'</tt><tt class="py-op">:</tt> <tt class="py-string">'string'</tt><tt class="py-op">,</tt> <tt class="py-string">'location'</tt><tt class="py-op">:</tt> <tt class="py-string">'query'</tt><tt class="py-op">}</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-comment"># Library-specific reserved words beyond Python keywords.</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt id="link-51" class="py-name" targets="Variable googleapiclient.discovery.RESERVED_WORDS=googleapiclient.discovery-module.html#RESERVED_WORDS"><a title="googleapiclient.discovery.RESERVED_WORDS" class="py-name" href="#" onclick="return doclink('link-51', 'RESERVED_WORDS', 'link-51');">RESERVED_WORDS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">frozenset</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="fix_method_name"></a><div id="fix_method_name-def"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="fix_method_name-toggle" onclick="return toggle('fix_method_name');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#fix_method_name">fix_method_name</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fix_method_name-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="fix_method_name-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">  <tt class="py-docstring">"""Fix method names to avoid reserved word conflicts.</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    name: string, method name.</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">    The name with a '_' prefixed if the name is a reserved word.</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">keyword</tt><tt class="py-op">.</tt><tt class="py-name">iskeyword</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt id="link-52" class="py-name"><a title="googleapiclient.discovery.RESERVED_WORDS" class="py-name" href="#" onclick="return doclink('link-52', 'RESERVED_WORDS', 'link-51');">RESERVED_WORDS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">'_'</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> </tt>
+</div><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="key2param"></a><div id="key2param-def"><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="key2param-toggle" onclick="return toggle('key2param');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#key2param">key2param</a><tt class="py-op">(</tt><tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="key2param-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="key2param-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">  <tt class="py-docstring">"""Converts key names into parameter names.</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">  For example, converting "max-results" -&gt; "max_results"</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">    key: string, the method key name.</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">    A safe method name based on the key name.</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">  <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">  <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">key</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">isalpha</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">key</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">isalnum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">      <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'_'</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
+<a name="build"></a><div id="build-def"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="build-toggle" onclick="return toggle('build');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#build">build</a><tt class="py-op">(</tt><tt class="py-param">serviceName</tt><tt class="py-op">,</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">          <tt class="py-param">version</tt><tt class="py-op">,</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">          <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">          <tt class="py-param">discoveryServiceUrl</tt><tt class="py-op">=</tt><tt id="link-53" class="py-name"><a title="googleapiclient.discovery.DISCOVERY_URI" class="py-name" href="#" onclick="return doclink('link-53', 'DISCOVERY_URI', 'link-43');">DISCOVERY_URI</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">          <tt class="py-param">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">          <tt class="py-param">model</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">          <tt class="py-param">requestBuilder</tt><tt class="py-op">=</tt><tt id="link-54" class="py-name"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-54', 'HttpRequest', 'link-21');">HttpRequest</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="build-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build-expanded"><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">  <tt class="py-docstring">"""Construct a Resource for interacting with an API.</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">  Construct a Resource object for interacting with an API. The serviceName and</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">  version are the names from the Discovery service.</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">    serviceName: string, name of the service.</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">    version: string, the version of the service.</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, An instance of httplib2.Http or something that acts</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">      like it that HTTP requests will be made through.</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">    discoveryServiceUrl: string, a URI Template that points to the location of</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">      the discovery service. It should have two parameters {api} and</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">      {apiVersion} that when filled in produce an absolute URI to the discovery</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">      document for that service.</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-docstring">    developerKey: string, key obtained from</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">      https://code.google.com/apis/console.</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">    model: googleapiclient.Model, converts to and from the wire format.</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">    requestBuilder: googleapiclient.http.HttpRequest, encapsulator for an HTTP</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">      request.</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">    A Resource object with methods for interacting with the service.</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">  <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">      <tt class="py-string">'api'</tt><tt class="py-op">:</tt> <tt class="py-name">serviceName</tt><tt class="py-op">,</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">      <tt class="py-string">'apiVersion'</tt><tt class="py-op">:</tt> <tt class="py-name">version</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">      <tt class="py-op">}</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-55" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-55', 'http', 'link-20');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">    <tt id="link-56" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-56', 'http', 'link-20');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">  <tt class="py-name">requested_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">discoveryServiceUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">  <tt class="py-comment"># REMOTE_ADDR is defined by the CGI spec [RFC3875] as the environment</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">  <tt class="py-comment"># variable that contains the network address of the client sending the</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">  <tt class="py-comment"># request. If it exists then add that to the request for the discovery</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">  <tt class="py-comment"># document to avoid exceeding the quota on discovery requests.</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'REMOTE_ADDR'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">:</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">    <tt class="py-name">requested_url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">requested_url</tt><tt class="py-op">,</tt> <tt class="py-string">'userIp'</tt><tt class="py-op">,</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                                         <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">'REMOTE_ADDR'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">  <tt id="link-57" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-57', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">  <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-58', 'http', 'link-20');">http</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Method googleapiclient.http.HttpMock.request()=googleapiclient.http.HttpMock-class.html#request,Method googleapiclient.http.HttpMockSequence.request()=googleapiclient.http.HttpMockSequence-class.html#request,Method googleapiclient.model.BaseModel.request()=googleapiclient.model.BaseModel-class.html#request,Method googleapiclient.model.Model.request()=googleapiclient.model.Model-class.html#request"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-59', 'request', 'link-59');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">404</tt><tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-60" class="py-name"><a title="googleapiclient.errors.UnknownApiNameOrVersion" class="py-name" href="#" onclick="return doclink('link-60', 'UnknownApiNameOrVersion', 'link-15');">UnknownApiNameOrVersion</a></tt><tt class="py-op">(</tt><tt class="py-string">"name: %s  version: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">serviceName</tt><tt class="py-op">,</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                                                            <tt class="py-name">version</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">400</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-61" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-61', 'HttpError', 'link-3');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">requested_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">  <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">  <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">    <tt id="link-62" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-62', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">'Failed to parse as JSON: '</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="googleapiclient.errors.InvalidJsonError" class="py-name" href="#" onclick="return doclink('link-63', 'InvalidJsonError', 'link-6');">InvalidJsonError</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-64" class="py-name" targets="Function googleapiclient.discovery.build_from_document()=googleapiclient.discovery-module.html#build_from_document"><a title="googleapiclient.discovery.build_from_document" class="py-name" href="#" onclick="return doclink('link-64', 'build_from_document', 'link-64');">build_from_document</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">base</tt><tt class="py-op">=</tt><tt class="py-name">discoveryServiceUrl</tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-65', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt id="link-66" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-66', 'http', 'link-20');">http</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">      <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">developerKey</tt><tt class="py-op">,</tt> <tt id="link-67" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-67', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt id="link-68" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-68', 'model', 'link-29');">model</a></tt><tt class="py-op">,</tt> <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">requestBuilder</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
+<a name="build_from_document"></a><div id="build_from_document-def"><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-decorator">@</tt><tt class="py-decorator">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="build_from_document-toggle" onclick="return toggle('build_from_document');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#build_from_document">build_from_document</a><tt class="py-op">(</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-param">service</tt><tt class="py-op">,</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-param">base</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt class="py-param">future</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">    <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-param">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">    <tt class="py-param">model</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">    <tt class="py-param">requestBuilder</tt><tt class="py-op">=</tt><tt id="link-69" class="py-name"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-69', 'HttpRequest', 'link-21');">HttpRequest</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="build_from_document-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build_from_document-expanded"><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a Resource for interacting with an API.</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring">  Same as `build()`, but constructs the Resource object from a discovery</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">  document that is it given, as opposed to retrieving one over HTTP.</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">    service: string or object, the JSON discovery document describing the API.</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">      The value passed in may either be the JSON string or the deserialized</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">      JSON.</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">    base: string, base URI for all HTTP requests, usually the discovery URI.</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">      This parameter is no longer used as rootUrl and servicePath are included</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">      within the discovery document. (deprecated)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">    future: string, discovery document with future capabilities (deprecated).</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">    http: httplib2.Http, An instance of httplib2.Http or something that acts</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">      like it that HTTP requests will be made through.</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">    developerKey: string, Key for controlling API usage, generated</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">      from the API Console.</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">    model: Model class instance that serializes and de-serializes requests and</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">      responses.</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">    requestBuilder: Takes an http request and packages it up to be executed.</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">    A Resource object with methods for interacting with the service.</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">  <tt class="py-comment"># future is no longer used.</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">  <tt class="py-name">future</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">  <tt class="py-name">base</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">[</tt><tt class="py-string">'rootUrl'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">service</tt><tt class="py-op">[</tt><tt class="py-string">'servicePath'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">  <tt id="link-70" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-70', 'schema', 'link-38');">schema</a></tt> <tt class="py-op">=</tt> <tt id="link-71" class="py-name"><a title="googleapiclient.schema.Schemas" class="py-name" href="#" onclick="return doclink('link-71', 'Schemas', 'link-39');">Schemas</a></tt><tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt id="link-72" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-72', 'model', 'link-29');">model</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-name">features</tt> <tt class="py-op">=</tt> <tt class="py-name">service</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-73', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'features'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt id="link-74" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-74', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-75" class="py-name"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-75', 'JsonModel', 'link-30');">JsonModel</a></tt><tt class="py-op">(</tt><tt class="py-string">'dataWrapper'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">features</tt><tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-76" class="py-name" targets="Class googleapiclient.discovery.Resource=googleapiclient.discovery.Resource-class.html"><a title="googleapiclient.discovery.Resource" class="py-name" href="#" onclick="return doclink('link-76', 'Resource', 'link-76');">Resource</a></tt><tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-77', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt id="link-78" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-78', 'http', 'link-20');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">baseUrl</tt><tt class="py-op">=</tt><tt class="py-name">base</tt><tt class="py-op">,</tt> <tt id="link-79" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-79', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt id="link-80" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-80', 'model', 'link-29');">model</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                  <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">developerKey</tt><tt class="py-op">,</tt> <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">requestBuilder</tt><tt class="py-op">,</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                  <tt class="py-name">resourceDesc</tt><tt class="py-op">=</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">=</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt id="link-81" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-81', 'schema', 'link-38');">schema</a></tt><tt class="py-op">=</tt><tt id="link-82" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-82', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"> </tt>
+<a name="_cast"></a><div id="_cast-def"><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt> <a class="py-toggle" href="#" id="_cast-toggle" onclick="return toggle('_cast');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_cast">_cast</a><tt class="py-op">(</tt><tt class="py-param">value</tt><tt class="py-op">,</tt> <tt class="py-param">schema_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_cast-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_cast-expanded"><a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert value to a string based on JSON Schema type.</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-docstring">  See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"><tt class="py-docstring">  JSON Schema.</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">    value: any, the value to convert</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">    schema_type: string, the type that value should be interpreted as</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring">    A string representation of 'value' based on the schema_type.</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'string'</tt><tt class="py-op">:</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'integer'</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'number'</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">  <tt class="py-keyword">elif</tt> <tt class="py-name">schema_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'boolean'</tt><tt class="py-op">:</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">u''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">value</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
+<a name="_media_size_to_long"></a><div id="_media_size_to_long-def"><a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt> <a class="py-toggle" href="#" id="_media_size_to_long-toggle" onclick="return toggle('_media_size_to_long');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_media_size_to_long">_media_size_to_long</a><tt class="py-op">(</tt><tt class="py-param">maxSize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_media_size_to_long-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_media_size_to_long-expanded"><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert a string media size, such as 10GB or 3TB into an integer.</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">    maxSize: string, size as a string, such as 2MB or 7GB.</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-docstring">    The size as an integer value.</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-number">0L</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">  <tt class="py-name">units</tt> <tt class="py-op">=</tt> <tt class="py-name">maxSize</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">  <tt class="py-name">bit_shift</tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS" class="py-name" href="#" onclick="return doclink('link-83', '_MEDIA_SIZE_BIT_SHIFTS', 'link-46');">_MEDIA_SIZE_BIT_SHIFTS</a></tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-84', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">units</tt><tt class="py-op">)</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">bit_shift</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;&lt;</tt> <tt class="py-name">bit_shift</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">  <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">long</tt><tt class="py-op">(</tt><tt class="py-name">maxSize</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"> </tt>
+<a name="_media_path_url_from_info"></a><div id="_media_path_url_from_info-def"><a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt> <a class="py-toggle" href="#" id="_media_path_url_from_info-toggle" onclick="return toggle('_media_path_url_from_info');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_media_path_url_from_info">_media_path_url_from_info</a><tt class="py-op">(</tt><tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">path_url</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_media_path_url_from_info-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_media_path_url_from_info-expanded"><a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates an absolute media path URL.</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">  Constructed using the API root URI and service path from the discovery</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">  document and the relative path for the API method.</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"><tt class="py-docstring">    path_url: String; the relative URL for the API method. Relative to the API</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"><tt class="py-docstring">        root, which is specified in the discovery document.</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring">    String; the absolute URI for media upload for the API method.</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-string">'%(root)supload/%(service_path)s%(path)s'</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">      <tt class="py-string">'root'</tt><tt class="py-op">:</tt> <tt class="py-name">root_desc</tt><tt class="py-op">[</tt><tt class="py-string">'rootUrl'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">      <tt class="py-string">'service_path'</tt><tt class="py-op">:</tt> <tt class="py-name">root_desc</tt><tt class="py-op">[</tt><tt class="py-string">'servicePath'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">      <tt class="py-string">'path'</tt><tt class="py-op">:</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">  <tt class="py-op">}</tt> </tt>
+</div><a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"> </tt>
+<a name="_fix_up_parameters"></a><div id="_fix_up_parameters-def"><a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt> <a class="py-toggle" href="#" id="_fix_up_parameters-toggle" onclick="return toggle('_fix_up_parameters');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_parameters">_fix_up_parameters</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">http_method</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_fix_up_parameters-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_parameters-expanded"><a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates parameters of an API method with values specific to this library.</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-docstring">  Specifically, adds whatever global parameters are specified by the API to the</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-docstring">  parameters for the individual method. Also adds parameters which don't</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt class="py-docstring">  appear in the discovery document, but are available to all discovery based</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-docstring">  APIs (these are listed in STACK_QUERY_PARAMETERS).</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: This updates the parameters dictionary object in the method</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"><tt class="py-docstring">  description.</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">    http_method: String; the HTTP method used to call the API method described</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring">        in method_desc.</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">    The updated Dictionary stored in the 'parameters' key of the method</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">        description dictionary.</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt class="py-name">setdefault</tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">  <tt class="py-comment"># Add in the parameters common to all methods.</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">description</tt> <tt class="py-keyword">in</tt> <tt class="py-name">root_desc</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-85', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">description</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">  <tt class="py-comment"># Add in undocumented query parameters.</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt id="link-86" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-86', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-87" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-87', 'STACK_QUERY_PARAMETER_DEFAULT_VALUE', 'link-50');">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">  <tt class="py-comment"># Add 'body' (our own reserved word) to parameters if the method supports</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">  <tt class="py-comment"># a request payload.</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">http_method</tt> <tt class="py-keyword">in</tt> <tt id="link-88" class="py-name"><a title="googleapiclient.discovery.HTTP_PAYLOAD_METHODS" class="py-name" href="#" onclick="return doclink('link-88', 'HTTP_PAYLOAD_METHODS', 'link-45');">HTTP_PAYLOAD_METHODS</a></tt> <tt class="py-keyword">and</tt> <tt class="py-string">'request'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">method_desc</tt><tt class="py-op">:</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">    <tt id="link-89" class="py-name" targets="Method googleapiclient.channel.Channel.body()=googleapiclient.channel.Channel-class.html#body"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-89', 'body', 'link-89');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-90" class="py-name"><a title="googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-90', 'BODY_PARAMETER_DEFAULT_VALUE', 'link-47');">BODY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">    <tt id="link-91" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-91', 'body', 'link-89');">body</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name" targets="Method googleapiclient.channel.Channel.update()=googleapiclient.channel.Channel-class.html#update"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-92', 'update', 'link-92');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'request'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-93" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-93', 'body', 'link-89');">body</a></tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">parameters</tt> </tt>
+</div><a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line"> </tt>
+<a name="_fix_up_media_upload"></a><div id="_fix_up_media_upload-def"><a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line"> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt> <a class="py-toggle" href="#" id="_fix_up_media_upload-toggle" onclick="return toggle('_fix_up_media_upload');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_media_upload">_fix_up_media_upload</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">,</tt> <tt class="py-param">path_url</tt><tt class="py-op">,</tt> <tt class="py-param">parameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_fix_up_media_upload-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_media_upload-expanded"><a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates parameters of API by adding 'media_body' if supported by method.</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: If the method supports media upload and has a required body,</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-docstring">  sets body to be optional (required=False) instead. Also, if there is a</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring">  'mediaUpload' in the method description, adds 'media_upload' key to</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring">  parameters.</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"><tt class="py-docstring">    path_url: String; the relative URL for the API method. Relative to the API</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-docstring">        root, which is specified in the discovery document.</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"><tt class="py-docstring">    parameters: A dictionary describing method parameters for method described</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line"><tt class="py-docstring">        in method_desc.</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line"><tt class="py-docstring">    Triple (accept, max_size, media_path_url) where:</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line"><tt class="py-docstring">      - accept is a list of strings representing what content types are</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"><tt class="py-docstring">        accepted for media upload. Defaults to empty list if not in the</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line"><tt class="py-docstring">        discovery document.</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-docstring">      - max_size is a long representing the max size in bytes allowed for a</tt> </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line"><tt class="py-docstring">        media upload. Defaults to 0L if not in the discovery document.</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"><tt class="py-docstring">      - media_path_url is a String; the absolute URI for media upload for the</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"><tt class="py-docstring">        API method. Constructed using the API root URI and service path from</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"><tt class="py-docstring">        the discovery document and the relative path for the API method. If</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"><tt class="py-docstring">        media upload is not supported, this is None.</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">  <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-94', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'mediaUpload'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">  <tt id="link-95" class="py-name" targets="Variable googleapiclient.model.BaseModel.accept=googleapiclient.model.BaseModel-class.html#accept,Variable googleapiclient.model.JsonModel.accept=googleapiclient.model.JsonModel-class.html#accept,Variable googleapiclient.model.MediaModel.accept=googleapiclient.model.MediaModel-class.html#accept,Variable googleapiclient.model.ProtocolBufferModel.accept=googleapiclient.model.ProtocolBufferModel-class.html#accept,Variable googleapiclient.model.RawModel.accept=googleapiclient.model.RawModel-class.html#accept"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-95', 'accept', 'link-95');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-96', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'accept'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">  <tt class="py-name">max_size</tt> <tt class="py-op">=</tt> <tt id="link-97" class="py-name" targets="Function googleapiclient.discovery._media_size_to_long()=googleapiclient.discovery-module.html#_media_size_to_long"><a title="googleapiclient.discovery._media_size_to_long" class="py-name" href="#" onclick="return doclink('link-97', '_media_size_to_long', 'link-97');">_media_size_to_long</a></tt><tt class="py-op">(</tt><tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-98', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'maxSize'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">  <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">:</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">    <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt id="link-99" class="py-name" targets="Function googleapiclient.discovery._media_path_url_from_info()=googleapiclient.discovery-module.html#_media_path_url_from_info"><a title="googleapiclient.discovery._media_path_url_from_info" class="py-name" href="#" onclick="return doclink('link-99', '_media_path_url_from_info', 'link-99');">_media_path_url_from_info</a></tt><tt class="py-op">(</tt><tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">path_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">    <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'media_body'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-100" class="py-name"><a title="googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="py-name" href="#" onclick="return doclink('link-100', 'MEDIA_BODY_PARAMETER_DEFAULT_VALUE', 'link-48');">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'body'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">:</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">      <tt class="py-name">parameters</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'required'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line"> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-101" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-101', 'accept', 'link-95');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> </tt>
+</div><a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"> </tt>
+<a name="_fix_up_method_description"></a><div id="_fix_up_method_description-def"><a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt> <a class="py-toggle" href="#" id="_fix_up_method_description-toggle" onclick="return toggle('_fix_up_method_description');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#_fix_up_method_description">_fix_up_method_description</a><tt class="py-op">(</tt><tt class="py-param">method_desc</tt><tt class="py-op">,</tt> <tt class="py-param">root_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_fix_up_method_description-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_fix_up_method_description-expanded"><a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">  <tt class="py-docstring">"""Updates a method description in a discovery document.</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-docstring">  SIDE EFFECTS: Changes the parameters dictionary in the method description with</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"><tt class="py-docstring">  extra parameters which are used locally.</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-docstring">    method_desc: Dictionary with metadata describing an API method. Value comes</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line"><tt class="py-docstring">        from the dictionary of methods stored in the 'methods' key in the</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"><tt class="py-docstring">        deserialized discovery document.</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-docstring">    root_desc: Dictionary; the entire original deserialized discovery document.</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line"><tt class="py-docstring">    Tuple (path_url, http_method, method_id, accept, max_size, media_path_url)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line"><tt class="py-docstring">    where:</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"><tt class="py-docstring">      - path_url is a String; the relative URL for the API method. Relative to</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"><tt class="py-docstring">        the API root, which is specified in the discovery document.</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line"><tt class="py-docstring">      - http_method is a String; the HTTP method used to call the API method</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-docstring">        described in the method description.</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"><tt class="py-docstring">      - method_id is a String; the name of the RPC method associated with the</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line"><tt class="py-docstring">        API method, and is in the method description in the 'id' key.</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"><tt class="py-docstring">      - accept is a list of strings representing what content types are</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line"><tt class="py-docstring">        accepted for media upload. Defaults to empty list if not in the</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line"><tt class="py-docstring">        discovery document.</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"><tt class="py-docstring">      - max_size is a long representing the max size in bytes allowed for a</tt> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"><tt class="py-docstring">        media upload. Defaults to 0L if not in the discovery document.</tt> </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line"><tt class="py-docstring">      - media_path_url is a String; the absolute URI for media upload for the</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-docstring">        API method. Constructed using the API root URI and service path from</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"><tt class="py-docstring">        the discovery document and the relative path for the API method. If</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"><tt class="py-docstring">        media upload is not supported, this is None.</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">  <tt class="py-name">path_url</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">  <tt class="py-name">http_method</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'httpMethod'</tt><tt class="py-op">]</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">  <tt class="py-name">method_id</tt> <tt class="py-op">=</tt> <tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'id'</tt><tt class="py-op">]</tt> </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt id="link-102" class="py-name" targets="Function googleapiclient.discovery._fix_up_parameters()=googleapiclient.discovery-module.html#_fix_up_parameters"><a title="googleapiclient.discovery._fix_up_parameters" class="py-name" href="#" onclick="return doclink('link-102', '_fix_up_parameters', 'link-102');">_fix_up_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">,</tt> <tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">http_method</tt><tt class="py-op">)</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">  <tt class="py-comment"># Order is important. `_fix_up_media_upload` needs `method_desc` to have a</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">  <tt class="py-comment"># 'parameters' key and needs to know if there is a 'body' parameter because it</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">  <tt class="py-comment"># also sets a 'media_body' parameter.</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">  <tt id="link-103" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-103', 'accept', 'link-95');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> <tt class="py-op">=</tt> <tt id="link-104" class="py-name" targets="Function googleapiclient.discovery._fix_up_media_upload()=googleapiclient.discovery-module.html#_fix_up_media_upload"><a title="googleapiclient.discovery._fix_up_media_upload" class="py-name" href="#" onclick="return doclink('link-104', '_fix_up_media_upload', 'link-104');">_fix_up_media_upload</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">      <tt class="py-name">method_desc</tt><tt class="py-op">,</tt> <tt class="py-name">root_desc</tt><tt class="py-op">,</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> <tt class="py-name">parameters</tt><tt class="py-op">)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line"> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">path_url</tt><tt class="py-op">,</tt> <tt class="py-name">http_method</tt><tt class="py-op">,</tt> <tt class="py-name">method_id</tt><tt class="py-op">,</tt> <tt id="link-105" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-105', 'accept', 'link-95');">accept</a></tt><tt class="py-op">,</tt> <tt class="py-name">max_size</tt><tt class="py-op">,</tt> <tt class="py-name">media_path_url</tt> </tt>
+</div><a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"> </tt>
+<a name="ResourceMethodParameters"></a><div id="ResourceMethodParameters-def"><a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-comment"># TODO(dhermes): Convert this class to ResourceMethod and make it callable</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters-toggle" onclick="return toggle('ResourceMethodParameters');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html">ResourceMethodParameters</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResourceMethodParameters-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ResourceMethodParameters-expanded"><a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">  <tt class="py-docstring">"""Represents the parameters associated with a method.</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line"><tt class="py-docstring">    argmap: Map from method parameter name (string) to query parameter name</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line"><tt class="py-docstring">        (string).</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line"><tt class="py-docstring">    required_params: List of required parameters (represented by parameter</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line"><tt class="py-docstring">        name as string).</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line"><tt class="py-docstring">    repeated_params: List of repeated parameters (represented by parameter</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"><tt class="py-docstring">        name as string).</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line"><tt class="py-docstring">    pattern_params: Map from method parameter name (string) to regular</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line"><tt class="py-docstring">        expression (as a string). If the pattern is set for a parameter, the</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line"><tt class="py-docstring">        value for that parameter must match the regular expression.</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line"><tt class="py-docstring">    query_params: List of parameters (represented by parameter name as string)</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"><tt class="py-docstring">        that will be used in the query string.</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"><tt class="py-docstring">    path_params: Set of parameters (represented by parameter name as string)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line"><tt class="py-docstring">        that will be used in the base URL path.</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line"><tt class="py-docstring">    param_types: Map from method parameter name (string) to parameter type. Type</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line"><tt class="py-docstring">        can be any valid JSON schema type; valid values are 'any', 'array',</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"><tt class="py-docstring">        'boolean', 'integer', 'number', 'object', or 'string'. Reference:</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line"><tt class="py-docstring">        http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line"><tt class="py-docstring">    enum_params: Map from method parameter name (string) to list of strings,</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line"><tt class="py-docstring">       where each list of strings is the list of acceptable enum values.</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"> </tt>
+<a name="ResourceMethodParameters.__init__"></a><div id="ResourceMethodParameters.__init__-def"><a name="L489"></a><tt class="py-lineno">489</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters.__init__-toggle" onclick="return toggle('ResourceMethodParameters.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResourceMethodParameters.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ResourceMethodParameters.__init__-expanded"><a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for ResourceMethodParameters.</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line"><tt class="py-docstring">    Sets default values and defers to set_parameters to populate.</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line"><tt class="py-docstring">      method_desc: Dictionary with metadata describing an API method. Value</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line"><tt class="py-docstring">          comes from the dictionary of methods stored in the 'methods' key in</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line"><tt class="py-docstring">          the deserialized discovery document.</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">    <tt class="py-comment"># TODO(dhermes): Change path_params to a list if the extra URITEMPLATE</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">    <tt class="py-comment">#                parsing is gotten rid of.</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line"> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Method googleapiclient.discovery.ResourceMethodParameters.set_parameters()=googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters"><a title="googleapiclient.discovery.ResourceMethodParameters.set_parameters" class="py-name" href="#" onclick="return doclink('link-106', 'set_parameters', 'link-106');">set_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line"> </tt>
+<a name="ResourceMethodParameters.set_parameters"></a><div id="ResourceMethodParameters.set_parameters-def"><a name="L512"></a><tt class="py-lineno">512</tt> <a class="py-toggle" href="#" id="ResourceMethodParameters.set_parameters-toggle" onclick="return toggle('ResourceMethodParameters.set_parameters');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters">set_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">method_desc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResourceMethodParameters.set_parameters-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ResourceMethodParameters.set_parameters-expanded"><a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">    <tt class="py-docstring">"""Populates maps and lists based on method description.</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line"><tt class="py-docstring">    Iterates through each parameter for the method and parses the values from</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line"><tt class="py-docstring">    the parameter dictionary.</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line"><tt class="py-docstring">      method_desc: Dictionary with metadata describing an API method. Value</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line"><tt class="py-docstring">          comes from the dictionary of methods stored in the 'methods' key in</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line"><tt class="py-docstring">          the deserialized discovery document.</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">method_desc</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-107', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">      <tt class="py-name">param</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name" targets="Function googleapiclient.discovery.key2param()=googleapiclient.discovery-module.html#key2param"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-108', 'key2param', 'link-108');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">arg</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line"> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-109', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'pattern'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">[</tt><tt class="py-string">'pattern'</tt><tt class="py-op">]</tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-110', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enum'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">[</tt><tt class="py-string">'enum'</tt><tt class="py-op">]</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-111', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'required'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-112', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'repeated'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-113', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'location'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'query'</tt><tt class="py-op">:</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-114', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'location'</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'path'</tt><tt class="py-op">:</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest.add()=googleapiclient.http.BatchHttpRequest-class.html#add"><a title="googleapiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-115', 'add', 'link-115');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">param</tt><tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt><tt class="py-op">[</tt><tt class="py-name">param</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">desc</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-116', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line"> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">    <tt class="py-comment"># TODO(dhermes): Determine if this is still necessary. Discovery based APIs</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">    <tt class="py-comment">#                should have all path parameters already marked with</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">    <tt class="py-comment">#                'location: path'.</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">match</tt> <tt class="py-keyword">in</tt> <tt id="link-117" class="py-name"><a title="googleapiclient.discovery.URITEMPLATE" class="py-name" href="#" onclick="return doclink('link-117', 'URITEMPLATE', 'link-41');">URITEMPLATE</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">method_desc</tt><tt class="py-op">[</tt><tt class="py-string">'path'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">namematch</tt> <tt class="py-keyword">in</tt> <tt id="link-118" class="py-name"><a title="googleapiclient.discovery.VARNAME" class="py-name" href="#" onclick="return doclink('link-118', 'VARNAME', 'link-42');">VARNAME</a></tt><tt class="py-op">.</tt><tt class="py-name">finditer</tt><tt class="py-op">(</tt><tt class="py-name">match</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt id="link-119" class="py-name"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-119', 'key2param', 'link-108');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">namematch</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="googleapiclient.http.BatchHttpRequest.add" class="py-name" href="#" onclick="return doclink('link-120', 'add', 'link-115');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line"> </tt>
+<a name="createMethod"></a><div id="createMethod-def"><a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt> <a class="py-toggle" href="#" id="createMethod-toggle" onclick="return toggle('createMethod');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#createMethod">createMethod</a><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">,</tt> <tt class="py-param">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="createMethod-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="createMethod-expanded"><a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates a method for attaching to a Resource.</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"><tt class="py-docstring">    methodName: string, name of the method to use.</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line"><tt class="py-docstring">    methodDesc: object, fragment of deserialized discovery document that</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line"><tt class="py-docstring">      describes the method.</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line"><tt class="py-docstring">    rootDesc: object, the entire deserialized discovery document.</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line"><tt class="py-docstring">    schema: object, mapping of schema names to schema descriptions.</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">  <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-121" class="py-name" targets="Function googleapiclient.discovery.fix_method_name()=googleapiclient.discovery-module.html#fix_method_name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-121', 'fix_method_name', 'link-121');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">  <tt class="py-op">(</tt><tt class="py-name">pathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">httpMethod</tt><tt class="py-op">,</tt> <tt class="py-name">methodId</tt><tt class="py-op">,</tt> <tt id="link-122" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-122', 'accept', 'link-95');">accept</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">   <tt class="py-name">maxSize</tt><tt class="py-op">,</tt> <tt class="py-name">mediaPathUrl</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-123" class="py-name" targets="Function googleapiclient.discovery._fix_up_method_description()=googleapiclient.discovery-module.html#_fix_up_method_description"><a title="googleapiclient.discovery._fix_up_method_description" class="py-name" href="#" onclick="return doclink('link-123', '_fix_up_method_description', 'link-123');">_fix_up_method_description</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">)</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line"> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">  <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt id="link-124" class="py-name" targets="Class googleapiclient.discovery.ResourceMethodParameters=googleapiclient.discovery.ResourceMethodParameters-class.html"><a title="googleapiclient.discovery.ResourceMethodParameters" class="py-name" href="#" onclick="return doclink('link-124', 'ResourceMethodParameters', 'link-124');">ResourceMethodParameters</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">)</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line"> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">method</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">    <tt class="py-comment"># Don't bother with doc string, it will be over-written by createMethod.</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line"> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iterkeys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">:</tt> </tt>
+<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Got an unexpected keyword argument "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line"> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">    <tt class="py-comment"># Remove args that have a value of None.</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line">    <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line"> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'Missing required parameter "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line"> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">regex</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">pattern_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">          <tt class="py-name">pvalues</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">          <tt class="py-name">pvalues</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">pvalue</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pvalues</tt><tt class="py-op">:</tt> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-name">regex</tt><tt class="py-op">,</tt> <tt class="py-name">pvalue</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">                <tt class="py-string">'Parameter "%s" value "%s" does not match the pattern "%s"'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">pvalue</tt><tt class="py-op">,</tt> <tt class="py-name">regex</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line"> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">enums</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">enum_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">:</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">        <tt class="py-comment"># We need to handle the case of a repeated enum</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">        <tt class="py-comment"># name differently, since we want to handle both</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">        <tt class="py-comment"># arg='value' and arg=['value1', 'value2']</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">            <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">          <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">          <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">values</tt><tt class="py-op">:</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enums</tt><tt class="py-op">:</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">                <tt class="py-string">'Parameter "%s" value "%s" is not an allowed value in "%s"'</tt> <tt class="py-op">%</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">enums</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line"> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">    <tt class="py-name">actual_query_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">    <tt class="py-name">actual_path_params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">      <tt class="py-name">to_type</tt> <tt class="py-op">=</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">param_types</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-125', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">      <tt class="py-comment"># For repeated parameters we cast each member of the list.</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt> <tt class="py-keyword">and</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">        <tt class="py-name">cast_value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-126" class="py-name" targets="Function googleapiclient.discovery._cast()=googleapiclient.discovery-module.html#_cast"><a title="googleapiclient.discovery._cast" class="py-name" href="#" onclick="return doclink('link-126', '_cast', 'link-126');">_cast</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">to_type</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">]</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">        <tt class="py-name">cast_value</tt> <tt class="py-op">=</tt> <tt id="link-127" class="py-name"><a title="googleapiclient.discovery._cast" class="py-name" href="#" onclick="return doclink('link-127', '_cast', 'link-126');">_cast</a></tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">to_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">query_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">        <tt class="py-name">actual_query_params</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cast_value</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">path_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">        <tt class="py-name">actual_path_params</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">cast_value</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">    <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-128', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">    <tt class="py-name">media_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-129', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'media_body'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line"> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt><tt class="py-op">:</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">      <tt class="py-name">actual_query_params</tt><tt class="py-op">[</tt><tt class="py-string">'key'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line"> </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">    <tt id="link-130" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-130', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> </tt>
+<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodName</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'_media'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">      <tt id="link-131" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-131', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name"><a title="googleapiclient.model.MediaModel" class="py-name" href="#" onclick="return doclink('link-132', 'MediaModel', 'link-33');">MediaModel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">      <tt id="link-133" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-133', 'model', 'link-29');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-134" class="py-name"><a title="googleapiclient.model.RawModel" class="py-name" href="#" onclick="return doclink('link-134', 'RawModel', 'link-36');">RawModel</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line"> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt id="link-135" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-135', 'body', 'link-89');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-136" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-136', 'model', 'link-29');">model</a></tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-137', 'request', 'link-59');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">        <tt class="py-name">actual_path_params</tt><tt class="py-op">,</tt> <tt class="py-name">actual_query_params</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line"> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">    <tt class="py-name">expanded_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">pathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">    <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> <tt class="py-name">expanded_url</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line"> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">    <tt id="link-138" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.resumable()=googleapiclient.http.MediaIoBaseUpload-class.html#resumable,Method googleapiclient.http.MediaUpload.resumable()=googleapiclient.http.MediaUpload-class.html#resumable"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-138', 'resumable', 'link-138');">resumable</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">    <tt class="py-name">multipart_boundary</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line"> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">media_filename</tt><tt class="py-op">:</tt> </tt>
+<a name="L649"></a><tt class="py-lineno">649</tt>  <tt class="py-line">      <tt class="py-comment"># Ensure we end up with a valid MediaUpload object.</tt> </tt>
+<a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">,</tt> <tt class="py-name">encoding</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">mimetypes</tt><tt class="py-op">.</tt><tt class="py-name">guess_type</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">media_mime_type</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-139" class="py-name"><a title="googleapiclient.errors.UnknownFileType" class="py-name" href="#" onclick="return doclink('link-139', 'UnknownFileType', 'link-18');">UnknownFileType</a></tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-140" class="py-name"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-140', 'mimeparse', 'link-0');">mimeparse</a></tt><tt class="py-op">.</tt><tt id="link-141" class="py-name" targets="Function googleapiclient.mimeparse.best_match()=googleapiclient.mimeparse-module.html#best_match"><a title="googleapiclient.mimeparse.best_match" class="py-name" href="#" onclick="return doclink('link-141', 'best_match', 'link-141');">best_match</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">','</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-142" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-142', 'accept', 'link-95');">accept</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-143" class="py-name"><a title="googleapiclient.errors.UnacceptableMimeTypeError" class="py-name" href="#" onclick="return doclink('link-143', 'UnacceptableMimeTypeError', 'link-12');">UnacceptableMimeTypeError</a></tt><tt class="py-op">(</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">        <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt id="link-144" class="py-name"><a title="googleapiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-144', 'MediaFileUpload', 'link-24');">MediaFileUpload</a></tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">                                       <tt id="link-145" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.mimetype()=googleapiclient.http.MediaIoBaseUpload-class.html#mimetype,Method googleapiclient.http.MediaUpload.mimetype()=googleapiclient.http.MediaUpload-class.html#mimetype"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-145', 'mimetype', 'link-145');">mimetype</a></tt><tt class="py-op">=</tt><tt class="py-name">media_mime_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">media_filename</tt><tt class="py-op">,</tt> <tt id="link-146" class="py-name"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-146', 'MediaUpload', 'link-27');">MediaUpload</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-name">media_upload</tt> <tt class="py-op">=</tt> <tt class="py-name">media_filename</tt> </tt>
+<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">'media_filename must be str or MediaUpload.'</tt><tt class="py-op">)</tt> </tt>
+<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line"> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">      <tt class="py-comment"># Check the maxSize</tt> </tt>
+<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">maxSize</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt> <tt class="py-keyword">and</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.size()=googleapiclient.http.MediaIoBaseUpload-class.html#size,Method googleapiclient.http.MediaUpload.size()=googleapiclient.http.MediaUpload-class.html#size"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-147', 'size', 'link-147');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">maxSize</tt><tt class="py-op">:</tt> </tt>
+<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-148" class="py-name"><a title="googleapiclient.errors.MediaUploadSizeError" class="py-name" href="#" onclick="return doclink('link-148', 'MediaUploadSizeError', 'link-9');">MediaUploadSizeError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Media larger than: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">maxSize</tt><tt class="py-op">)</tt> </tt>
+<a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line"> </tt>
+<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">      <tt class="py-comment"># Use the media path uri for media uploads</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line">      <tt class="py-name">expanded_url</tt> <tt class="py-op">=</tt> <tt class="py-name">uritemplate</tt><tt class="py-op">.</tt><tt class="py-name">expand</tt><tt class="py-op">(</tt><tt class="py-name">mediaPathUrl</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">      <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urljoin</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> <tt class="py-name">expanded_url</tt> <tt class="py-op">+</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-149', 'resumable', 'link-138');">resumable</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'resumable'</tt><tt class="py-op">)</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line"> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-150', 'resumable', 'link-138');">resumable</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">        <tt class="py-comment"># This is all we need to do for resumable, if the body exists it gets</tt> </tt>
+<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">        <tt class="py-comment"># sent in the first request, otherwise an empty body is sent.</tt> </tt>
+<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">        <tt id="link-151" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-151', 'resumable', 'link-138');">resumable</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">        <tt class="py-comment"># A non-resumable upload</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-152" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-152', 'body', 'link-89');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">          <tt class="py-comment"># This is a simple media upload</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-153', 'mimetype', 'link-145');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">          <tt id="link-154" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-154', 'body', 'link-89');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.getbytes()=googleapiclient.http.MediaIoBaseUpload-class.html#getbytes,Method googleapiclient.http.MediaUpload.getbytes()=googleapiclient.http.MediaUpload-class.html#getbytes"><a title="googleapiclient.http.MediaIoBaseUpload.getbytes
+googleapiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-155', 'getbytes', 'link-155');">getbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-156', 'size', 'link-147');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">          <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'media'</tt><tt class="py-op">)</tt> </tt>
+<a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">          <tt class="py-comment"># This is a multipart/related upload.</tt> </tt>
+<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMEMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'related'</tt><tt class="py-op">)</tt> </tt>
+<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">          <tt class="py-comment"># msgRoot should not write out it's own headers</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">          <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">msgRoot</tt><tt class="py-op">,</tt> <tt class="py-string">'_write_headers'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line"> </tt>
+<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">          <tt class="py-comment"># attach the body as one part</tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">          <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-157" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-157', 'body', 'link-89');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
+<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line"> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line">          <tt class="py-comment"># attach the media as the second part</tt> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">          <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-158', 'mimetype', 'link-145');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-Transfer-Encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'binary'</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line"> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">          <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.getbytes
+googleapiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-159', 'getbytes', 'link-155');">getbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">media_upload</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-160', 'size', 'link-147');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">          <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">          <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
+<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line">          <tt id="link-161" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-161', 'body', 'link-89');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">as_string</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line"> </tt>
+<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line">          <tt class="py-name">multipart_boundary</tt> <tt class="py-op">=</tt> <tt class="py-name">msgRoot</tt><tt class="py-op">.</tt><tt class="py-name">get_boundary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">          <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'multipart/related; '</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">                                     <tt class="py-string">'boundary="%s"'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">multipart_boundary</tt> </tt>
+<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">          <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">_add_query_parameter</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-string">'uploadType'</tt><tt class="py-op">,</tt> <tt class="py-string">'multipart'</tt><tt class="py-op">)</tt> </tt>
+<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line"> </tt>
+<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">    <tt id="link-162" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-162', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
+<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt><tt class="py-op">,</tt> </tt>
+<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line">                                <tt id="link-163" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-163', 'model', 'link-29');">model</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name" targets="Method googleapiclient.model.BaseModel.response()=googleapiclient.model.BaseModel-class.html#response,Method googleapiclient.model.Model.response()=googleapiclient.model.Model-class.html#response"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-164', 'response', 'link-164');">response</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">                                <tt class="py-name">url</tt><tt class="py-op">,</tt> </tt>
+<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">                                <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">httpMethod</tt><tt class="py-op">,</tt> </tt>
+<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">                                <tt id="link-165" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-165', 'body', 'link-89');">body</a></tt><tt class="py-op">=</tt><tt id="link-166" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-166', 'body', 'link-89');">body</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line">                                <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
+<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">                                <tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">methodId</tt><tt class="py-op">,</tt> </tt>
+<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">                                <tt id="link-167" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-167', 'resumable', 'link-138');">resumable</a></tt><tt class="py-op">=</tt><tt id="link-168" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-168', 'resumable', 'link-138');">resumable</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line"> </tt>
+<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">  <tt class="py-name">docs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-169', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt id="link-170" class="py-name"><a title="googleapiclient.discovery.DEFAULT_METHOD_DOC" class="py-name" href="#" onclick="return doclink('link-170', 'DEFAULT_METHOD_DOC', 'link-44');">DEFAULT_METHOD_DOC</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'\n\n'</tt><tt class="py-op">]</tt> </tt>
+<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">    <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'Args:\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line"> </tt>
+<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">  <tt class="py-comment"># Skip undocumented params and params common to all methods.</tt> </tt>
+<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">  <tt class="py-name">skip_parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-171', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">  <tt class="py-name">skip_parameters</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt id="link-172" class="py-name"><a title="googleapiclient.discovery.STACK_QUERY_PARAMETERS" class="py-name" href="#" onclick="return doclink('link-172', 'STACK_QUERY_PARAMETERS', 'link-49');">STACK_QUERY_PARAMETERS</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line"> </tt>
+<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">  <tt class="py-name">all_args</tt> <tt class="py-op">=</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line">  <tt class="py-name">args_ordered</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-173" class="py-name"><a title="googleapiclient.discovery.key2param" class="py-name" href="#" onclick="return doclink('link-173', 'key2param', 'link-108');">key2param</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-174', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameterOrder'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line"> </tt>
+<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line">  <tt class="py-comment"># Move body to the front of the line.</tt> </tt>
+<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'body'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_args</tt><tt class="py-op">:</tt> </tt>
+<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line">    <tt class="py-name">args_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'body'</tt><tt class="py-op">)</tt> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line"> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">all_args</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args_ordered</tt><tt class="py-op">:</tt> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">      <tt class="py-name">args_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line"> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">args_ordered</tt><tt class="py-op">:</tt> </tt>
+<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">skip_parameters</tt><tt class="py-op">:</tt> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">      <tt class="py-keyword">continue</tt> </tt>
+<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line"> </tt>
+<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">    <tt class="py-name">repeated</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">repeated_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line">      <tt class="py-name">repeated</tt> <tt class="py-op">=</tt> <tt class="py-string">' (repeated)'</tt> </tt>
+<a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line">    <tt class="py-name">required</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arg</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">required_params</tt><tt class="py-op">:</tt> </tt>
+<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">      <tt class="py-name">required</tt> <tt class="py-op">=</tt> <tt class="py-string">' (required)'</tt> </tt>
+<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line">    <tt class="py-name">paramdesc</tt> <tt class="py-op">=</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'parameters'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">parameters</tt><tt class="py-op">.</tt><tt class="py-name">argmap</tt><tt class="py-op">[</tt><tt class="py-name">arg</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line">    <tt class="py-name">paramdoc</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-175', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">'A parameter'</tt><tt class="py-op">)</tt> </tt>
+<a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> </tt>
+<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-string">'  %s: object, %s%s%s\n    The object takes the'</tt> </tt>
+<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">          <tt class="py-string">' form of:\n\n%s\n\n'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">paramdoc</tt><tt class="py-op">,</tt> <tt class="py-name">required</tt><tt class="py-op">,</tt> <tt class="py-name">repeated</tt><tt class="py-op">,</tt> </tt>
+<a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line">            <tt id="link-176" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-176', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-177" class="py-name" targets="Method googleapiclient.schema.Schemas.prettyPrintByName()=googleapiclient.schema.Schemas-class.html#prettyPrintByName"><a title="googleapiclient.schema.Schemas.prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-177', 'prettyPrintByName', 'link-177');">prettyPrintByName</a></tt><tt class="py-op">(</tt><tt class="py-name">paramdesc</tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line">      <tt class="py-name">paramtype</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-178', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">,</tt> <tt class="py-string">'string'</tt><tt class="py-op">)</tt> </tt>
+<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'  %s: %s, %s%s%s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-name">paramtype</tt><tt class="py-op">,</tt> <tt class="py-name">paramdoc</tt><tt class="py-op">,</tt> <tt class="py-name">required</tt><tt class="py-op">,</tt> </tt>
+<a name="L758"></a><tt class="py-lineno">758</tt>  <tt class="py-line">                                          <tt class="py-name">repeated</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line">    <tt class="py-name">enum</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-179', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enum'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line">    <tt class="py-name">enumDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">paramdesc</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-180', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'enumDescriptions'</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">enum</tt> <tt class="py-keyword">and</tt> <tt class="py-name">enumDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'    Allowed values\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt><tt class="py-name">enum</tt><tt class="py-op">,</tt> <tt class="py-name">enumDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line">        <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'      %s - %s\n'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">desc</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L765"></a><tt class="py-lineno">765</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodName</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'_media'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'\nReturns:\n  The media object as a string.\n\n    '</tt><tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">'\nReturns:\n  An object of the form:\n\n    '</tt><tt class="py-op">)</tt> </tt>
+<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line">      <tt class="py-name">docs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-181" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-181', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-182" class="py-name" targets="Method googleapiclient.schema.Schemas.prettyPrintSchema()=googleapiclient.schema.Schemas-class.html#prettyPrintSchema"><a title="googleapiclient.schema.Schemas.prettyPrintSchema" class="py-name" href="#" onclick="return doclink('link-182', 'prettyPrintSchema', 'link-182');">prettyPrintSchema</a></tt><tt class="py-op">(</tt><tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'response'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line"> </tt>
+<a name="L772"></a><tt class="py-lineno">772</tt>  <tt class="py-line">  <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-string">'__doc__'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">docs</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line"> </tt>
+<a name="createNextMethod"></a><div id="createNextMethod-def"><a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line"> </tt>
+<a name="L776"></a><tt class="py-lineno">776</tt> <a class="py-toggle" href="#" id="createNextMethod-toggle" onclick="return toggle('createNextMethod');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery-module.html#createNextMethod">createNextMethod</a><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="createNextMethod-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="createNextMethod-expanded"><a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line">  <tt class="py-docstring">"""Creates any _next methods for attaching to a Resource.</tt> </tt>
+<a name="L778"></a><tt class="py-lineno">778</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line"><tt class="py-docstring">  The _next methods allow for easy iteration through list() responses.</tt> </tt>
+<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line"><tt class="py-docstring">    methodName: string, name of the method to use.</tt> </tt>
+<a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line">  <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-183" class="py-name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-183', 'fix_method_name', 'link-121');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
+<a name="L785"></a><tt class="py-lineno">785</tt>  <tt class="py-line"> </tt>
+<a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">methodNext</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">previous_request</tt><tt class="py-op">,</tt> <tt class="py-param">previous_response</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L787"></a><tt class="py-lineno">787</tt>  <tt class="py-line">    <tt class="py-docstring">"""Retrieves the next page of results.</tt> </tt>
+<a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line"><tt class="py-docstring">Args:</tt> </tt>
+<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line"><tt class="py-docstring">  previous_request: The request for the previous page. (required)</tt> </tt>
+<a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line"><tt class="py-docstring">  previous_response: The response from the request for the previous page. (required)</tt> </tt>
+<a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L793"></a><tt class="py-lineno">793</tt>  <tt class="py-line"><tt class="py-docstring">Returns:</tt> </tt>
+<a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line"><tt class="py-docstring">  A request object that you can call 'execute()' on to request the next</tt> </tt>
+<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line"><tt class="py-docstring">  page. Returns None if there are no more items in the collection.</tt> </tt>
+<a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L797"></a><tt class="py-lineno">797</tt>  <tt class="py-line">    <tt class="py-comment"># Retrieve nextPageToken from previous_response</tt> </tt>
+<a name="L798"></a><tt class="py-lineno">798</tt>  <tt class="py-line">    <tt class="py-comment"># Use as pageToken in previous_request to create new request.</tt> </tt>
+<a name="L799"></a><tt class="py-lineno">799</tt>  <tt class="py-line"> </tt>
+<a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'nextPageToken'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">previous_response</tt><tt class="py-op">:</tt> </tt>
+<a name="L801"></a><tt class="py-lineno">801</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line"> </tt>
+<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line">    <tt id="link-184" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-184', 'request', 'link-59');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">previous_request</tt><tt class="py-op">)</tt> </tt>
+<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line"> </tt>
+<a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line">    <tt class="py-name">pageToken</tt> <tt class="py-op">=</tt> <tt class="py-name">previous_response</tt><tt class="py-op">[</tt><tt class="py-string">'nextPageToken'</tt><tt class="py-op">]</tt> </tt>
+<a name="L806"></a><tt class="py-lineno">806</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt id="link-185" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-185', 'request', 'link-59');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L807"></a><tt class="py-lineno">807</tt>  <tt class="py-line">    <tt class="py-name">q</tt> <tt class="py-op">=</tt> <tt class="py-name">parse_qsl</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line"> </tt>
+<a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line">    <tt class="py-comment"># Find and remove old 'pageToken' value from URI</tt> </tt>
+<a name="L810"></a><tt class="py-lineno">810</tt>  <tt class="py-line">    <tt class="py-name">newq</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">q</tt> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">!=</tt> <tt class="py-string">'pageToken'</tt><tt class="py-op">]</tt> </tt>
+<a name="L811"></a><tt class="py-lineno">811</tt>  <tt class="py-line">    <tt class="py-name">newq</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'pageToken'</tt><tt class="py-op">,</tt> <tt class="py-name">pageToken</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L812"></a><tt class="py-lineno">812</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">newq</tt><tt class="py-op">)</tt> </tt>
+<a name="L813"></a><tt class="py-lineno">813</tt>  <tt class="py-line">    <tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">)</tt> </tt>
+<a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line"> </tt>
+<a name="L815"></a><tt class="py-lineno">815</tt>  <tt class="py-line">    <tt id="link-186" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-186', 'request', 'link-59');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L816"></a><tt class="py-lineno">816</tt>  <tt class="py-line"> </tt>
+<a name="L817"></a><tt class="py-lineno">817</tt>  <tt class="py-line">    <tt id="link-187" class="py-name"><a title="googleapiclient.discovery.logger" class="py-name" href="#" onclick="return doclink('link-187', 'logger', 'link-40');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'URL being requested: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L818"></a><tt class="py-lineno">818</tt>  <tt class="py-line"> </tt>
+<a name="L819"></a><tt class="py-lineno">819</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-188" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-188', 'request', 'link-59');">request</a></tt> </tt>
+</div><a name="L820"></a><tt class="py-lineno">820</tt>  <tt class="py-line"> </tt>
+<a name="L821"></a><tt class="py-lineno">821</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodNext</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L822"></a><tt class="py-lineno">822</tt>  <tt class="py-line"> </tt>
+<a name="Resource"></a><div id="Resource-def"><a name="L823"></a><tt class="py-lineno">823</tt>  <tt class="py-line"> </tt>
+<a name="L824"></a><tt class="py-lineno">824</tt> <a class="py-toggle" href="#" id="Resource-toggle" onclick="return toggle('Resource');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html">Resource</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Resource-expanded"><a name="L825"></a><tt class="py-lineno">825</tt>  <tt class="py-line">  <tt class="py-docstring">"""A class for interacting with a resource."""</tt> </tt>
+<a name="L826"></a><tt class="py-lineno">826</tt>  <tt class="py-line"> </tt>
+<a name="Resource.__init__"></a><div id="Resource.__init__-def"><a name="L827"></a><tt class="py-lineno">827</tt> <a class="py-toggle" href="#" id="Resource.__init__-toggle" onclick="return toggle('Resource.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">baseUrl</tt><tt class="py-op">,</tt> <tt class="py-param">model</tt><tt class="py-op">,</tt> <tt class="py-param">requestBuilder</tt><tt class="py-op">,</tt> <tt class="py-param">developerKey</tt><tt class="py-op">,</tt> </tt>
+<a name="L828"></a><tt class="py-lineno">828</tt>  <tt class="py-line">               <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__init__-expanded"><a name="L829"></a><tt class="py-lineno">829</tt>  <tt class="py-line">    <tt class="py-docstring">"""Build a Resource from the API description.</tt> </tt>
+<a name="L830"></a><tt class="py-lineno">830</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L831"></a><tt class="py-lineno">831</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L832"></a><tt class="py-lineno">832</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, Object to make http requests with.</tt> </tt>
+<a name="L833"></a><tt class="py-lineno">833</tt>  <tt class="py-line"><tt class="py-docstring">      baseUrl: string, base URL for the API. All requests are relative to this</tt> </tt>
+<a name="L834"></a><tt class="py-lineno">834</tt>  <tt class="py-line"><tt class="py-docstring">          URI.</tt> </tt>
+<a name="L835"></a><tt class="py-lineno">835</tt>  <tt class="py-line"><tt class="py-docstring">      model: googleapiclient.Model, converts to and from the wire format.</tt> </tt>
+<a name="L836"></a><tt class="py-lineno">836</tt>  <tt class="py-line"><tt class="py-docstring">      requestBuilder: class or callable that instantiates an</tt> </tt>
+<a name="L837"></a><tt class="py-lineno">837</tt>  <tt class="py-line"><tt class="py-docstring">          googleapiclient.HttpRequest object.</tt> </tt>
+<a name="L838"></a><tt class="py-lineno">838</tt>  <tt class="py-line"><tt class="py-docstring">      developerKey: string, key obtained from</tt> </tt>
+<a name="L839"></a><tt class="py-lineno">839</tt>  <tt class="py-line"><tt class="py-docstring">          https://code.google.com/apis/console</tt> </tt>
+<a name="L840"></a><tt class="py-lineno">840</tt>  <tt class="py-line"><tt class="py-docstring">      resourceDesc: object, section of deserialized discovery document that</tt> </tt>
+<a name="L841"></a><tt class="py-lineno">841</tt>  <tt class="py-line"><tt class="py-docstring">          describes a resource. Note that the top level discovery document</tt> </tt>
+<a name="L842"></a><tt class="py-lineno">842</tt>  <tt class="py-line"><tt class="py-docstring">          is considered a resource.</tt> </tt>
+<a name="L843"></a><tt class="py-lineno">843</tt>  <tt class="py-line"><tt class="py-docstring">      rootDesc: object, the entire deserialized discovery document.</tt> </tt>
+<a name="L844"></a><tt class="py-lineno">844</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, mapping of schema names to schema descriptions.</tt> </tt>
+<a name="L845"></a><tt class="py-lineno">845</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L846"></a><tt class="py-lineno">846</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L847"></a><tt class="py-lineno">847</tt>  <tt class="py-line"> </tt>
+<a name="L848"></a><tt class="py-lineno">848</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt> <tt class="py-op">=</tt> <tt id="link-189" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-189', 'http', 'link-20');">http</a></tt> </tt>
+<a name="L849"></a><tt class="py-lineno">849</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt> <tt class="py-op">=</tt> <tt class="py-name">baseUrl</tt> </tt>
+<a name="L850"></a><tt class="py-lineno">850</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt> <tt class="py-op">=</tt> <tt id="link-190" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-190', 'model', 'link-29');">model</a></tt> </tt>
+<a name="L851"></a><tt class="py-lineno">851</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt> <tt class="py-op">=</tt> <tt class="py-name">developerKey</tt> </tt>
+<a name="L852"></a><tt class="py-lineno">852</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt> <tt class="py-op">=</tt> <tt class="py-name">requestBuilder</tt> </tt>
+<a name="L853"></a><tt class="py-lineno">853</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">resourceDesc</tt> </tt>
+<a name="L854"></a><tt class="py-lineno">854</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt> <tt class="py-op">=</tt> <tt class="py-name">rootDesc</tt> </tt>
+<a name="L855"></a><tt class="py-lineno">855</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt> <tt class="py-op">=</tt> <tt id="link-191" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-191', 'schema', 'link-38');">schema</a></tt> </tt>
+<a name="L856"></a><tt class="py-lineno">856</tt>  <tt class="py-line"> </tt>
+<a name="L857"></a><tt class="py-lineno">857</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name" targets="Method googleapiclient.discovery.Resource._set_service_methods()=googleapiclient.discovery.Resource-class.html#_set_service_methods"><a title="googleapiclient.discovery.Resource._set_service_methods" class="py-name" href="#" onclick="return doclink('link-192', '_set_service_methods', 'link-192');">_set_service_methods</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L858"></a><tt class="py-lineno">858</tt>  <tt class="py-line"> </tt>
+<a name="Resource._set_dynamic_attr"></a><div id="Resource._set_dynamic_attr-def"><a name="L859"></a><tt class="py-lineno">859</tt> <a class="py-toggle" href="#" id="Resource._set_dynamic_attr-toggle" onclick="return toggle('Resource._set_dynamic_attr');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_set_dynamic_attr">_set_dynamic_attr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">attr_name</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._set_dynamic_attr-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._set_dynamic_attr-expanded"><a name="L860"></a><tt class="py-lineno">860</tt>  <tt class="py-line">    <tt class="py-docstring">"""Sets an instance attribute and tracks it in a list of dynamic attributes.</tt> </tt>
+<a name="L861"></a><tt class="py-lineno">861</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L862"></a><tt class="py-lineno">862</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L863"></a><tt class="py-lineno">863</tt>  <tt class="py-line"><tt class="py-docstring">      attr_name: string; The name of the attribute to be set</tt> </tt>
+<a name="L864"></a><tt class="py-lineno">864</tt>  <tt class="py-line"><tt class="py-docstring">      value: The value being set on the object and tracked in the dynamic cache.</tt> </tt>
+<a name="L865"></a><tt class="py-lineno">865</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L866"></a><tt class="py-lineno">866</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">attr_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L867"></a><tt class="py-lineno">867</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">[</tt><tt class="py-name">attr_name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+</div><a name="L868"></a><tt class="py-lineno">868</tt>  <tt class="py-line"> </tt>
+<a name="Resource.__getstate__"></a><div id="Resource.__getstate__-def"><a name="L869"></a><tt class="py-lineno">869</tt> <a class="py-toggle" href="#" id="Resource.__getstate__-toggle" onclick="return toggle('Resource.__getstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__getstate__">__getstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource.__getstate__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__getstate__-expanded"><a name="L870"></a><tt class="py-lineno">870</tt>  <tt class="py-line">    <tt class="py-docstring">"""Trim the state down to something that can be pickled.</tt> </tt>
+<a name="L871"></a><tt class="py-lineno">871</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L872"></a><tt class="py-lineno">872</tt>  <tt class="py-line"><tt class="py-docstring">    Uses the fact that the instance variable _dynamic_attrs holds attrs that</tt> </tt>
+<a name="L873"></a><tt class="py-lineno">873</tt>  <tt class="py-line"><tt class="py-docstring">    will be wiped and restored on pickle serialization.</tt> </tt>
+<a name="L874"></a><tt class="py-lineno">874</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L875"></a><tt class="py-lineno">875</tt>  <tt class="py-line">    <tt class="py-name">state_dict</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
+<a name="L876"></a><tt class="py-lineno">876</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">dynamic_attr</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt><tt class="py-op">:</tt> </tt>
+<a name="L877"></a><tt class="py-lineno">877</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">state_dict</tt><tt class="py-op">[</tt><tt class="py-name">dynamic_attr</tt><tt class="py-op">]</tt> </tt>
+<a name="L878"></a><tt class="py-lineno">878</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">state_dict</tt><tt class="py-op">[</tt><tt class="py-string">'_dynamic_attrs'</tt><tt class="py-op">]</tt> </tt>
+<a name="L879"></a><tt class="py-lineno">879</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">state_dict</tt> </tt>
+</div><a name="L880"></a><tt class="py-lineno">880</tt>  <tt class="py-line"> </tt>
+<a name="Resource.__setstate__"></a><div id="Resource.__setstate__-def"><a name="L881"></a><tt class="py-lineno">881</tt> <a class="py-toggle" href="#" id="Resource.__setstate__-toggle" onclick="return toggle('Resource.__setstate__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#__setstate__">__setstate__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">state</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource.__setstate__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource.__setstate__-expanded"><a name="L882"></a><tt class="py-lineno">882</tt>  <tt class="py-line">    <tt class="py-docstring">"""Reconstitute the state of the object from being pickled.</tt> </tt>
+<a name="L883"></a><tt class="py-lineno">883</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L884"></a><tt class="py-lineno">884</tt>  <tt class="py-line"><tt class="py-docstring">    Uses the fact that the instance variable _dynamic_attrs holds attrs that</tt> </tt>
+<a name="L885"></a><tt class="py-lineno">885</tt>  <tt class="py-line"><tt class="py-docstring">    will be wiped and restored on pickle serialization.</tt> </tt>
+<a name="L886"></a><tt class="py-lineno">886</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L887"></a><tt class="py-lineno">887</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-193', 'update', 'link-92');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">state</tt><tt class="py-op">)</tt> </tt>
+<a name="L888"></a><tt class="py-lineno">888</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dynamic_attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L889"></a><tt class="py-lineno">889</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="googleapiclient.discovery.Resource._set_service_methods" class="py-name" href="#" onclick="return doclink('link-194', '_set_service_methods', 'link-192');">_set_service_methods</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L890"></a><tt class="py-lineno">890</tt>  <tt class="py-line"> </tt>
+<a name="Resource._set_service_methods"></a><div id="Resource._set_service_methods-def"><a name="L891"></a><tt class="py-lineno">891</tt> <a class="py-toggle" href="#" id="Resource._set_service_methods-toggle" onclick="return toggle('Resource._set_service_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_set_service_methods">_set_service_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._set_service_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._set_service_methods-expanded"><a name="L892"></a><tt class="py-lineno">892</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name" targets="Method googleapiclient.discovery.Resource._add_basic_methods()=googleapiclient.discovery.Resource-class.html#_add_basic_methods"><a title="googleapiclient.discovery.Resource._add_basic_methods" class="py-name" href="#" onclick="return doclink('link-195', '_add_basic_methods', 'link-195');">_add_basic_methods</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
+<a name="L893"></a><tt class="py-lineno">893</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name" targets="Method googleapiclient.discovery.Resource._add_nested_resources()=googleapiclient.discovery.Resource-class.html#_add_nested_resources"><a title="googleapiclient.discovery.Resource._add_nested_resources" class="py-name" href="#" onclick="return doclink('link-196', '_add_nested_resources', 'link-196');">_add_nested_resources</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rootDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
+<a name="L894"></a><tt class="py-lineno">894</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name" targets="Method googleapiclient.discovery.Resource._add_next_methods()=googleapiclient.discovery.Resource-class.html#_add_next_methods"><a title="googleapiclient.discovery.Resource._add_next_methods" class="py-name" href="#" onclick="return doclink('link-197', '_add_next_methods', 'link-197');">_add_next_methods</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_schema</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L895"></a><tt class="py-lineno">895</tt>  <tt class="py-line"> </tt>
+<a name="Resource._add_basic_methods"></a><div id="Resource._add_basic_methods-def"><a name="L896"></a><tt class="py-lineno">896</tt> <a class="py-toggle" href="#" id="Resource._add_basic_methods-toggle" onclick="return toggle('Resource._add_basic_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_basic_methods">_add_basic_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._add_basic_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_basic_methods-expanded"><a name="L897"></a><tt class="py-lineno">897</tt>  <tt class="py-line">    <tt class="py-comment"># Add basic methods to Resource</tt> </tt>
+<a name="L898"></a><tt class="py-lineno">898</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'methods'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L899"></a><tt class="py-lineno">899</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L900"></a><tt class="py-lineno">900</tt>  <tt class="py-line">        <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-198" class="py-name" targets="Function googleapiclient.discovery.createMethod()=googleapiclient.discovery-module.html#createMethod"><a title="googleapiclient.discovery.createMethod" class="py-name" href="#" onclick="return doclink('link-198', 'createMethod', 'link-198');">createMethod</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L901"></a><tt class="py-lineno">901</tt>  <tt class="py-line">            <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> <tt id="link-199" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-199', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L902"></a><tt class="py-lineno">902</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name" targets="Method googleapiclient.discovery.Resource._set_dynamic_attr()=googleapiclient.discovery.Resource-class.html#_set_dynamic_attr"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-200', '_set_dynamic_attr', 'link-200');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
+<a name="L903"></a><tt class="py-lineno">903</tt>  <tt class="py-line">                               <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno">904</tt>  <tt class="py-line">        <tt class="py-comment"># Add in _media methods. The functionality of the attached method will</tt> </tt>
+<a name="L905"></a><tt class="py-lineno">905</tt>  <tt class="py-line">        <tt class="py-comment"># change when it sees that the method name ends in _media.</tt> </tt>
+<a name="L906"></a><tt class="py-lineno">906</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-201', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'supportsMediaDownload'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L907"></a><tt class="py-lineno">907</tt>  <tt class="py-line">          <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-202" class="py-name"><a title="googleapiclient.discovery.createMethod" class="py-name" href="#" onclick="return doclink('link-202', 'createMethod', 'link-198');">createMethod</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L908"></a><tt class="py-lineno">908</tt>  <tt class="py-line">              <tt class="py-name">methodName</tt> <tt class="py-op">+</tt> <tt class="py-string">'_media'</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> <tt id="link-203" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-203', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L909"></a><tt class="py-lineno">909</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-204', '_set_dynamic_attr', 'link-200');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
+<a name="L910"></a><tt class="py-lineno">910</tt>  <tt class="py-line">                                 <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L911"></a><tt class="py-lineno">911</tt>  <tt class="py-line"> </tt>
+<a name="Resource._add_nested_resources"></a><div id="Resource._add_nested_resources-def"><a name="L912"></a><tt class="py-lineno">912</tt> <a class="py-toggle" href="#" id="Resource._add_nested_resources-toggle" onclick="return toggle('Resource._add_nested_resources');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_nested_resources">_add_nested_resources</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">rootDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._add_nested_resources-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_nested_resources-expanded"><a name="L913"></a><tt class="py-lineno">913</tt>  <tt class="py-line">    <tt class="py-comment"># Add in nested resources</tt> </tt>
+<a name="L914"></a><tt class="py-lineno">914</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'resources'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L915"></a><tt class="py-lineno">915</tt>  <tt class="py-line"> </tt>
+<a name="L916"></a><tt class="py-lineno">916</tt>  <tt class="py-line">      <tt class="py-keyword">def</tt> <tt class="py-def-name">createResourceMethod</tt><tt class="py-op">(</tt><tt class="py-param">methodName</tt><tt class="py-op">,</tt> <tt class="py-param">methodDesc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L917"></a><tt class="py-lineno">917</tt>  <tt class="py-line">        <tt class="py-docstring">"""Create a method on the Resource to access a nested Resource.</tt> </tt>
+<a name="L918"></a><tt class="py-lineno">918</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L919"></a><tt class="py-lineno">919</tt>  <tt class="py-line"><tt class="py-docstring">        Args:</tt> </tt>
+<a name="L920"></a><tt class="py-lineno">920</tt>  <tt class="py-line"><tt class="py-docstring">          methodName: string, name of the method to use.</tt> </tt>
+<a name="L921"></a><tt class="py-lineno">921</tt>  <tt class="py-line"><tt class="py-docstring">          methodDesc: object, fragment of deserialized discovery document that</tt> </tt>
+<a name="L922"></a><tt class="py-lineno">922</tt>  <tt class="py-line"><tt class="py-docstring">            describes the method.</tt> </tt>
+<a name="L923"></a><tt class="py-lineno">923</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L924"></a><tt class="py-lineno">924</tt>  <tt class="py-line">        <tt class="py-name">methodName</tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="googleapiclient.discovery.fix_method_name" class="py-name" href="#" onclick="return doclink('link-205', 'fix_method_name', 'link-121');">fix_method_name</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">)</tt> </tt>
+<a name="L925"></a><tt class="py-lineno">925</tt>  <tt class="py-line"> </tt>
+<a name="L926"></a><tt class="py-lineno">926</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">methodResource</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L927"></a><tt class="py-lineno">927</tt>  <tt class="py-line">          <tt class="py-keyword">return</tt> <tt id="link-206" class="py-name"><a title="googleapiclient.discovery.Resource" class="py-name" href="#" onclick="return doclink('link-206', 'Resource', 'link-76');">Resource</a></tt><tt class="py-op">(</tt><tt id="link-207" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-207', 'http', 'link-20');">http</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_http</tt><tt class="py-op">,</tt> <tt class="py-name">baseUrl</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_baseUrl</tt><tt class="py-op">,</tt> </tt>
+<a name="L928"></a><tt class="py-lineno">928</tt>  <tt class="py-line">                          <tt id="link-208" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-208', 'model', 'link-29');">model</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_model</tt><tt class="py-op">,</tt> <tt class="py-name">developerKey</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_developerKey</tt><tt class="py-op">,</tt> </tt>
+<a name="L929"></a><tt class="py-lineno">929</tt>  <tt class="py-line">                          <tt class="py-name">requestBuilder</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requestBuilder</tt><tt class="py-op">,</tt> </tt>
+<a name="L930"></a><tt class="py-lineno">930</tt>  <tt class="py-line">                          <tt class="py-name">resourceDesc</tt><tt class="py-op">=</tt><tt class="py-name">methodDesc</tt><tt class="py-op">,</tt> <tt class="py-name">rootDesc</tt><tt class="py-op">=</tt><tt class="py-name">rootDesc</tt><tt class="py-op">,</tt> </tt>
+<a name="L931"></a><tt class="py-lineno">931</tt>  <tt class="py-line">                          <tt id="link-209" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-209', 'schema', 'link-38');">schema</a></tt><tt class="py-op">=</tt><tt id="link-210" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-210', 'schema', 'link-38');">schema</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L932"></a><tt class="py-lineno">932</tt>  <tt class="py-line"> </tt>
+<a name="L933"></a><tt class="py-lineno">933</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">methodResource</tt><tt class="py-op">,</tt> <tt class="py-string">'__doc__'</tt><tt class="py-op">,</tt> <tt class="py-string">'A collection resource.'</tt><tt class="py-op">)</tt> </tt>
+<a name="L934"></a><tt class="py-lineno">934</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">methodResource</tt><tt class="py-op">,</tt> <tt class="py-string">'__is_resource__'</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L935"></a><tt class="py-lineno">935</tt>  <tt class="py-line"> </tt>
+<a name="L936"></a><tt class="py-lineno">936</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodResource</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L937"></a><tt class="py-lineno">937</tt>  <tt class="py-line"> </tt>
+<a name="L938"></a><tt class="py-lineno">938</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'resources'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L939"></a><tt class="py-lineno">939</tt>  <tt class="py-line">        <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">createResourceMethod</tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">)</tt> </tt>
+<a name="L940"></a><tt class="py-lineno">940</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-211', '_set_dynamic_attr', 'link-200');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
+<a name="L941"></a><tt class="py-lineno">941</tt>  <tt class="py-line">                               <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L942"></a><tt class="py-lineno">942</tt>  <tt class="py-line"> </tt>
+<a name="Resource._add_next_methods"></a><div id="Resource._add_next_methods-def"><a name="L943"></a><tt class="py-lineno">943</tt> <a class="py-toggle" href="#" id="Resource._add_next_methods-toggle" onclick="return toggle('Resource._add_next_methods');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.discovery.Resource-class.html#_add_next_methods">_add_next_methods</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resourceDesc</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Resource._add_next_methods-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Resource._add_next_methods-expanded"><a name="L944"></a><tt class="py-lineno">944</tt>  <tt class="py-line">    <tt class="py-comment"># Add _next() methods</tt> </tt>
+<a name="L945"></a><tt class="py-lineno">945</tt>  <tt class="py-line">    <tt class="py-comment"># Look for response bodies in schema that contain nextPageToken, and methods</tt> </tt>
+<a name="L946"></a><tt class="py-lineno">946</tt>  <tt class="py-line">    <tt class="py-comment"># that take a pageToken parameter.</tt> </tt>
+<a name="L947"></a><tt class="py-lineno">947</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'methods'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L948"></a><tt class="py-lineno">948</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">methodName</tt><tt class="py-op">,</tt> <tt class="py-name">methodDesc</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resourceDesc</tt><tt class="py-op">[</tt><tt class="py-string">'methods'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L949"></a><tt class="py-lineno">949</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'response'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">:</tt> </tt>
+<a name="L950"></a><tt class="py-lineno">950</tt>  <tt class="py-line">          <tt class="py-name">responseSchema</tt> <tt class="py-op">=</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">[</tt><tt class="py-string">'response'</tt><tt class="py-op">]</tt> </tt>
+<a name="L951"></a><tt class="py-lineno">951</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">responseSchema</tt><tt class="py-op">:</tt> </tt>
+<a name="L952"></a><tt class="py-lineno">952</tt>  <tt class="py-line">            <tt class="py-name">responseSchema</tt> <tt class="py-op">=</tt> <tt id="link-212" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-212', 'schema', 'link-38');">schema</a></tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-213', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">responseSchema</tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L953"></a><tt class="py-lineno">953</tt>  <tt class="py-line">          <tt class="py-name">hasNextPageToken</tt> <tt class="py-op">=</tt> <tt class="py-string">'nextPageToken'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">responseSchema</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-214', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'properties'</tt><tt class="py-op">,</tt> </tt>
+<a name="L954"></a><tt class="py-lineno">954</tt>  <tt class="py-line">                                                                   <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L955"></a><tt class="py-lineno">955</tt>  <tt class="py-line">          <tt class="py-name">hasPageToken</tt> <tt class="py-op">=</tt> <tt class="py-string">'pageToken'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">methodDesc</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-215', 'get', 'link-73');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'parameters'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L956"></a><tt class="py-lineno">956</tt>  <tt class="py-line">          <tt class="py-keyword">if</tt> <tt class="py-name">hasNextPageToken</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasPageToken</tt><tt class="py-op">:</tt> </tt>
+<a name="L957"></a><tt class="py-lineno">957</tt>  <tt class="py-line">            <tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt id="link-216" class="py-name" targets="Function googleapiclient.discovery.createNextMethod()=googleapiclient.discovery-module.html#createNextMethod"><a title="googleapiclient.discovery.createNextMethod" class="py-name" href="#" onclick="return doclink('link-216', 'createNextMethod', 'link-216');">createNextMethod</a></tt><tt class="py-op">(</tt><tt class="py-name">methodName</tt> <tt class="py-op">+</tt> <tt class="py-string">'_next'</tt><tt class="py-op">)</tt> </tt>
+<a name="L958"></a><tt class="py-lineno">958</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="googleapiclient.discovery.Resource._set_dynamic_attr" class="py-name" href="#" onclick="return doclink('link-217', '_set_dynamic_attr', 'link-200');">_set_dynamic_attr</a></tt><tt class="py-op">(</tt><tt class="py-name">fixedMethodName</tt><tt class="py-op">,</tt> </tt>
+<a name="L959"></a><tt class="py-lineno">959</tt>  <tt class="py-line">                                   <tt class="py-name">method</tt><tt class="py-op">.</tt><tt class="py-name">__get__</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L960"></a><tt class="py-lineno">960</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.discovery.Resource-class.html b/docs/epy/googleapiclient.discovery.Resource-class.html
new file mode 100644
index 0000000..ca589e7
--- /dev/null
+++ b/docs/epy/googleapiclient.discovery.Resource-class.html
@@ -0,0 +1,480 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.discovery.Resource</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.discovery-module.html">Module&nbsp;discovery</a> ::
+        Class&nbsp;Resource
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.discovery.Resource-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Resource</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_3" name="uml_class_diagram_for_googleap_3">
+<area shape="rect" id="node2" href="googleapiclient.discovery.Resource-class.html#__init__" title="Build a Resource from the API description." alt="" coords="17,39,607,57"/>
+<area shape="rect" id="node2" href="googleapiclient.discovery.Resource-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="17,57,607,76"/>
+<area shape="rect" id="node2" href="googleapiclient.discovery.Resource-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="17,76,607,95"/>
+<area shape="rect" id="node1" href="googleapiclient.discovery.Resource-class.html" title="A class for interacting with a resource." alt="" coords="5,6,619,101"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_3.gif" alt='' usemap="#uml_class_diagram_for_googleap_3" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+A class for interacting with a resource.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery.Resource-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">http</span>,
+        <span class="summary-sig-arg">baseUrl</span>,
+        <span class="summary-sig-arg">model</span>,
+        <span class="summary-sig-arg">requestBuilder</span>,
+        <span class="summary-sig-arg">developerKey</span>,
+        <span class="summary-sig-arg">resourceDesc</span>,
+        <span class="summary-sig-arg">rootDesc</span>,
+        <span class="summary-sig-arg">schema</span>)</span><br />
+      Build a Resource from the API description.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery.Resource-class.html#_set_dynamic_attr" class="summary-sig-name" onclick="show_private();">_set_dynamic_attr</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">attr_name</span>,
+        <span class="summary-sig-arg">value</span>)</span><br />
+      Sets an instance attribute and tracks it in a list of dynamic attributes.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource._set_dynamic_attr">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery.Resource-class.html#__getstate__" class="summary-sig-name">__getstate__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Trim the state down to something that can be pickled.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource.__getstate__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery.Resource-class.html#__setstate__" class="summary-sig-name">__setstate__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">state</span>)</span><br />
+      Reconstitute the state of the object from being pickled.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource.__setstate__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_set_service_methods"></a><span class="summary-sig-name">_set_service_methods</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource._set_service_methods">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_add_basic_methods"></a><span class="summary-sig-name">_add_basic_methods</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resourceDesc</span>,
+        <span class="summary-sig-arg">rootDesc</span>,
+        <span class="summary-sig-arg">schema</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource._add_basic_methods">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_add_nested_resources"></a><span class="summary-sig-name">_add_nested_resources</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resourceDesc</span>,
+        <span class="summary-sig-arg">rootDesc</span>,
+        <span class="summary-sig-arg">schema</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource._add_nested_resources">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_add_next_methods"></a><span class="summary-sig-name">_add_next_methods</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resourceDesc</span>,
+        <span class="summary-sig-arg">schema</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource._add_next_methods">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">http</span>,
+        <span class="sig-arg">baseUrl</span>,
+        <span class="sig-arg">model</span>,
+        <span class="sig-arg">requestBuilder</span>,
+        <span class="sig-arg">developerKey</span>,
+        <span class="sig-arg">resourceDesc</span>,
+        <span class="sig-arg">rootDesc</span>,
+        <span class="sig-arg">schema</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Build a Resource from the API description.
+
+Args:
+  http: httplib2.Http, Object to make http requests with.
+  baseUrl: string, base URL for the API. All requests are relative to this
+      URI.
+  model: googleapiclient.Model, converts to and from the wire format.
+  requestBuilder: class or callable that instantiates an
+      googleapiclient.HttpRequest object.
+  developerKey: string, key obtained from
+      https://code.google.com/apis/console
+  resourceDesc: object, section of deserialized discovery document that
+      describes a resource. Note that the top level discovery document
+      is considered a resource.
+  rootDesc: object, the entire deserialized discovery document.
+  schema: object, mapping of schema names to schema descriptions.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_set_dynamic_attr"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_set_dynamic_attr</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">attr_name</span>,
+        <span class="sig-arg">value</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource._set_dynamic_attr">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Sets an instance attribute and tracks it in a list of dynamic attributes.
+
+Args:
+  attr_name: string; The name of the attribute to be set
+  value: The value being set on the object and tracked in the dynamic cache.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="__getstate__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getstate__</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource.__getstate__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Trim the state down to something that can be pickled.
+
+Uses the fact that the instance variable _dynamic_attrs holds attrs that
+will be wiped and restored on pickle serialization.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="__setstate__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__setstate__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">state</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#Resource.__setstate__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Reconstitute the state of the object from being pickled.
+
+Uses the fact that the instance variable _dynamic_attrs holds attrs that
+will be wiped and restored on pickle serialization.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html b/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html
new file mode 100644
index 0000000..52d255a
--- /dev/null
+++ b/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.discovery.ResourceMethodParameters</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.discovery-module.html">Module&nbsp;discovery</a> ::
+        Class&nbsp;ResourceMethodParameters
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.discovery.ResourceMethodParameters-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ResourceMethodParameters</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#ResourceMethodParameters">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_4" name="uml_class_diagram_for_googleap_4">
+<area shape="rect" id="node3" href="googleapiclient.discovery.ResourceMethodParameters-class.html#__init__" title="Constructor for ResourceMethodParameters." alt="" coords="17,39,229,57"/>
+<area shape="rect" id="node3" href="googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters" title="Populates maps and lists based on method description." alt="" coords="17,57,229,76"/>
+<area shape="rect" id="node1" href="googleapiclient.discovery.ResourceMethodParameters-class.html" title="Represents the parameters associated with a method." alt="" coords="5,6,240,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_4.gif" alt='' usemap="#uml_class_diagram_for_googleap_4" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Represents the parameters associated with a method.
+
+Attributes:
+  argmap: Map from method parameter name (string) to query parameter name
+      (string).
+  required_params: List of required parameters (represented by parameter
+      name as string).
+  repeated_params: List of repeated parameters (represented by parameter
+      name as string).
+  pattern_params: Map from method parameter name (string) to regular
+      expression (as a string). If the pattern is set for a parameter, the
+      value for that parameter must match the regular expression.
+  query_params: List of parameters (represented by parameter name as string)
+      that will be used in the query string.
+  path_params: Set of parameters (represented by parameter name as string)
+      that will be used in the base URL path.
+  param_types: Map from method parameter name (string) to parameter type. Type
+      can be any valid JSON schema type; valid values are 'any', 'array',
+      'boolean', 'integer', 'number', 'object', or 'string'. Reference:
+      http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
+  enum_params: Map from method parameter name (string) to list of strings,
+     where each list of strings is the list of acceptable enum values.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery.ResourceMethodParameters-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">method_desc</span>)</span><br />
+      Constructor for ResourceMethodParameters.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#ResourceMethodParameters.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters" class="summary-sig-name">set_parameters</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">method_desc</span>)</span><br />
+      Populates maps and lists based on method description.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#ResourceMethodParameters.set_parameters">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">method_desc</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#ResourceMethodParameters.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor for ResourceMethodParameters.
+
+Sets default values and defers to set_parameters to populate.
+
+Args:
+  method_desc: Dictionary with metadata describing an API method. Value
+      comes from the dictionary of methods stored in the 'methods' key in
+      the deserialized discovery document.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="set_parameters"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">set_parameters</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">method_desc</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#ResourceMethodParameters.set_parameters">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Populates maps and lists based on method description.
+
+Iterates through each parameter for the method and parses the values from
+the parameter dictionary.
+
+Args:
+  method_desc: Dictionary with metadata describing an API method. Value
+      comes from the dictionary of methods stored in the 'methods' key in
+      the deserialized discovery document.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors-module.html b/docs/epy/googleapiclient.errors-module.html
new file mode 100644
index 0000000..047b037
--- /dev/null
+++ b/docs/epy/googleapiclient.errors-module.html
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;errors
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module errors</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+Errors for the library.
+
+All exceptions defined by the library
+should be defined in this file.
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        jcgregorio@google.com (Joe Gregorio)
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.Error-class.html" class="summary-name">Error</a><br />
+      Base error for this module.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.HttpError-class.html" class="summary-name">HttpError</a><br />
+      HTTP data was invalid or unexpected.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.InvalidJsonError-class.html" class="summary-name">InvalidJsonError</a><br />
+      The JSON returned could not be parsed.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.UnknownFileType-class.html" class="summary-name">UnknownFileType</a><br />
+      File type unknown or unexpected.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.UnknownLinkType-class.html" class="summary-name">UnknownLinkType</a><br />
+      Link type unknown or unexpected.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.UnknownApiNameOrVersion-class.html" class="summary-name">UnknownApiNameOrVersion</a><br />
+      No API with that name and version exists.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.UnacceptableMimeTypeError-class.html" class="summary-name">UnacceptableMimeTypeError</a><br />
+      That is an unacceptable mimetype for this operation.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.MediaUploadSizeError-class.html" class="summary-name">MediaUploadSizeError</a><br />
+      Media is larger than the method can accept.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.ResumableUploadError-class.html" class="summary-name">ResumableUploadError</a><br />
+      Error occured during resumable upload.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.InvalidChunkSizeError-class.html" class="summary-name">InvalidChunkSizeError</a><br />
+      The given chunksize is not valid.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.InvalidNotificationError-class.html" class="summary-name">InvalidNotificationError</a><br />
+      The channel Notification is invalid.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.BatchError-class.html" class="summary-name">BatchError</a><br />
+      Error occured during batch operations.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.UnexpectedMethodError-class.html" class="summary-name">UnexpectedMethodError</a><br />
+      Exception raised by RequestMockBuilder on unexpected calls.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.errors.UnexpectedBodyError-class.html" class="summary-name">UnexpectedBodyError</a><br />
+      Exception raised by RequestMockBuilder on unexpected bodies.
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors-pysrc.html b/docs/epy/googleapiclient.errors-pysrc.html
new file mode 100644
index 0000000..9370814
--- /dev/null
+++ b/docs/epy/googleapiclient.errors-pysrc.html
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;errors
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient.errors-module.html">Module googleapiclient.errors</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python2.4</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">"""Errors for the library.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">All exceptions defined by the library</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">should be defined in this file.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">util</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">anyjson</tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
+<a name="Error"></a><div id="Error-def"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="Error-toggle" onclick="return toggle('Error');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.Error-class.html">Error</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Error-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Error-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base error for this module."""</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
+<a name="HttpError"></a><div id="HttpError-def"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="HttpError-toggle" onclick="return toggle('HttpError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html">HttpError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HttpError-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">  <tt class="py-docstring">"""HTTP data was invalid or unexpected."""</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpError.__init__"></a><div id="HttpError.__init__-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="HttpError.__init__-toggle" onclick="return toggle('HttpError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError.__init__-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+</div><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="HttpError._get_reason"></a><div id="HttpError._get_reason-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="HttpError._get_reason-toggle" onclick="return toggle('HttpError._get_reason');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#_get_reason">_get_reason</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpError._get_reason-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError._get_reason-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-docstring">"""Calculate the reason for the error from the response content."""</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">      <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'error'</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">'message'</tt><tt class="py-op">]</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">KeyError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">reason</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">      <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">reason</tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="HttpError.__repr__"></a><div id="HttpError.__repr__-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="HttpError.__repr__-toggle" onclick="return toggle('HttpError.__repr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.HttpError-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpError.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="HttpError.__repr__-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HttpError %s when requesting %s returned "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Method googleapiclient.errors.HttpError._get_reason()=googleapiclient.errors.HttpError-class.html#_get_reason"><a title="googleapiclient.errors.HttpError._get_reason" class="py-name" href="#" onclick="return doclink('link-0', '_get_reason', 'link-0');">_get_reason</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;HttpError %s "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name"><a title="googleapiclient.errors.HttpError._get_reason" class="py-name" href="#" onclick="return doclink('link-1', '_get_reason', 'link-0');">_get_reason</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">  <tt class="py-name">__str__</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Method googleapiclient.errors.BatchError.__repr__()=googleapiclient.errors.BatchError-class.html#__repr__,Method googleapiclient.errors.HttpError.__repr__()=googleapiclient.errors.HttpError-class.html#__repr__"><a title="googleapiclient.errors.BatchError.__repr__
+googleapiclient.errors.HttpError.__repr__" class="py-name" href="#" onclick="return doclink('link-2', '__repr__', 'link-2');">__repr__</a></tt> </tt>
+</div><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
+<a name="InvalidJsonError"></a><div id="InvalidJsonError-def"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="InvalidJsonError-toggle" onclick="return toggle('InvalidJsonError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidJsonError-class.html">InvalidJsonError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="InvalidJsonError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidJsonError-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">  <tt class="py-docstring">"""The JSON returned could not be parsed."""</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="UnknownFileType"></a><div id="UnknownFileType-def"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="UnknownFileType-toggle" onclick="return toggle('UnknownFileType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownFileType-class.html">UnknownFileType</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnknownFileType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownFileType-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">  <tt class="py-docstring">"""File type unknown or unexpected."""</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="UnknownLinkType"></a><div id="UnknownLinkType-def"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt> <a class="py-toggle" href="#" id="UnknownLinkType-toggle" onclick="return toggle('UnknownLinkType');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownLinkType-class.html">UnknownLinkType</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnknownLinkType-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownLinkType-expanded"><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">  <tt class="py-docstring">"""Link type unknown or unexpected."""</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
+<a name="UnknownApiNameOrVersion"></a><div id="UnknownApiNameOrVersion-def"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="UnknownApiNameOrVersion-toggle" onclick="return toggle('UnknownApiNameOrVersion');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnknownApiNameOrVersion-class.html">UnknownApiNameOrVersion</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnknownApiNameOrVersion-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnknownApiNameOrVersion-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">  <tt class="py-docstring">"""No API with that name and version exists."""</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="UnacceptableMimeTypeError"></a><div id="UnacceptableMimeTypeError-def"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="UnacceptableMimeTypeError-toggle" onclick="return toggle('UnacceptableMimeTypeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnacceptableMimeTypeError-class.html">UnacceptableMimeTypeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnacceptableMimeTypeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnacceptableMimeTypeError-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">  <tt class="py-docstring">"""That is an unacceptable mimetype for this operation."""</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
+<a name="MediaUploadSizeError"></a><div id="MediaUploadSizeError-def"><a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="MediaUploadSizeError-toggle" onclick="return toggle('MediaUploadSizeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.MediaUploadSizeError-class.html">MediaUploadSizeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUploadSizeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MediaUploadSizeError-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">  <tt class="py-docstring">"""Media is larger than the method can accept."""</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"> </tt>
+<a name="ResumableUploadError"></a><div id="ResumableUploadError-def"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="ResumableUploadError-toggle" onclick="return toggle('ResumableUploadError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.ResumableUploadError-class.html">ResumableUploadError</a><tt class="py-op">(</tt><tt class="py-base-class">HttpError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ResumableUploadError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ResumableUploadError-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error occured during resumable upload."""</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
+<a name="InvalidChunkSizeError"></a><div id="InvalidChunkSizeError-def"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="InvalidChunkSizeError-toggle" onclick="return toggle('InvalidChunkSizeError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidChunkSizeError-class.html">InvalidChunkSizeError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="InvalidChunkSizeError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidChunkSizeError-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">  <tt class="py-docstring">"""The given chunksize is not valid."""</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="InvalidNotificationError"></a><div id="InvalidNotificationError-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="InvalidNotificationError-toggle" onclick="return toggle('InvalidNotificationError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.InvalidNotificationError-class.html">InvalidNotificationError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="InvalidNotificationError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="InvalidNotificationError-expanded"><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">  <tt class="py-docstring">"""The channel Notification is invalid."""</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">  <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"> </tt>
+<a name="BatchError"></a><div id="BatchError-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="BatchError-toggle" onclick="return toggle('BatchError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html">BatchError</a><tt class="py-op">(</tt><tt class="py-base-class">HttpError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BatchError-expanded"><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">  <tt class="py-docstring">"""Error occured during batch operations."""</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="BatchError.__init__"></a><div id="BatchError.__init__-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="BatchError.__init__-toggle" onclick="return toggle('BatchError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">reason</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BatchError.__init__-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">reason</tt> </tt>
+</div><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
+<a name="BatchError.__repr__"></a><div id="BatchError.__repr__-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="BatchError.__repr__-toggle" onclick="return toggle('BatchError.__repr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.BatchError-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchError.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BatchError.__repr__-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;BatchError %s "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">  <tt class="py-name">__str__</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="googleapiclient.errors.BatchError.__repr__
+googleapiclient.errors.HttpError.__repr__" class="py-name" href="#" onclick="return doclink('link-3', '__repr__', 'link-2');">__repr__</a></tt> </tt>
+</div><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="UnexpectedMethodError"></a><div id="UnexpectedMethodError-def"><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="UnexpectedMethodError-toggle" onclick="return toggle('UnexpectedMethodError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedMethodError-class.html">UnexpectedMethodError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnexpectedMethodError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnexpectedMethodError-expanded"><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exception raised by RequestMockBuilder on unexpected calls."""</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="UnexpectedMethodError.__init__"></a><div id="UnexpectedMethodError.__init__-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="UnexpectedMethodError.__init__-toggle" onclick="return toggle('UnexpectedMethodError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedMethodError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnexpectedMethodError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="UnexpectedMethodError.__init__-expanded"><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an UnexpectedMethodError."""</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name" targets="Class googleapiclient.errors.UnexpectedMethodError=googleapiclient.errors.UnexpectedMethodError-class.html"><a title="googleapiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-4', 'UnexpectedMethodError', 'link-4');">UnexpectedMethodError</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method googleapiclient.channel.Channel.__init__()=googleapiclient.channel.Channel-class.html#__init__,Method googleapiclient.channel.Notification.__init__()=googleapiclient.channel.Notification-class.html#__init__,Method googleapiclient.discovery.Resource.__init__()=googleapiclient.discovery.Resource-class.html#__init__,Method googleapiclient.discovery.ResourceMethodParameters.__init__()=googleapiclient.discovery.ResourceMethodParameters-class.html#__init__,Method googleapiclient.errors.BatchError.__init__()=googleapiclient.errors.BatchError-class.html#__init__,Method googleapiclient.errors.HttpError.__init__()=googleapiclient.errors.HttpError-class.html#__init__,Method googleapiclient.errors.UnexpectedBodyError.__init__()=googleapiclient.errors.UnexpectedBodyError-class.html#__init__,Method googleapiclient.errors.UnexpectedMethodError.__init__()=googleapiclient.errors.UnexpectedMethodError-class.html#__init__,Method googleapiclient.http.BatchHttpRequest.__init__()=googleapiclient.http.BatchHttpRequest-class.html#__init__,Method googleapiclient.http.HttpMock.__init__()=googleapiclient.http.HttpMock-class.html#__init__,Method googleapiclient.http.HttpMockSequence.__init__()=googleapiclient.http.HttpMockSequence-class.html#__init__,Method googleapiclient.http.HttpRequest.__init__()=googleapiclient.http.HttpRequest-class.html#__init__,Method googleapiclient.http.HttpRequestMock.__init__()=googleapiclient.http.HttpRequestMock-class.html#__init__,Method googleapiclient.http.MediaDownloadProgress.__init__()=googleapiclient.http.MediaDownloadProgress-class.html#__init__,Method googleapiclient.http.MediaFileUpload.__init__()=googleapiclient.http.MediaFileUpload-class.html#__init__,Method googleapiclient.http.MediaInMemoryUpload.__init__()=googleapiclient.http.MediaInMemoryUpload-class.html#__init__,Method googleapiclient.http.MediaIoBaseDownload.__init__()=googleapiclient.http.MediaIoBaseDownload-class.html#__init__,Method googleapiclient.http.MediaIoBaseUpload.__init__()=googleapiclient.http.MediaIoBaseUpload-class.html#__init__,Method googleapiclient.http.MediaUploadProgress.__init__()=googleapiclient.http.MediaUploadProgress-class.html#__init__,Method googleapiclient.http.RequestMockBuilder.__init__()=googleapiclient.http.RequestMockBuilder-class.html#__init__,Method googleapiclient.http._StreamSlice.__init__()=googleapiclient.http._StreamSlice-class.html#__init__,Method googleapiclient.model.JsonModel.__init__()=googleapiclient.model.JsonModel-class.html#__init__,Method googleapiclient.model.ProtocolBufferModel.__init__()=googleapiclient.model.ProtocolBufferModel-class.html#__init__,Method googleapiclient.schema.Schemas.__init__()=googleapiclient.schema.Schemas-class.html#__init__,Method googleapiclient.schema._SchemaToStruct.__init__()=googleapiclient.schema._SchemaToStruct-class.html#__init__"><a title="googleapiclient.channel.Channel.__init__
+googleapiclient.channel.Notification.__init__
+googleapiclient.discovery.Resource.__init__
+googleapiclient.discovery.ResourceMethodParameters.__init__
+googleapiclient.errors.BatchError.__init__
+googleapiclient.errors.HttpError.__init__
+googleapiclient.errors.UnexpectedBodyError.__init__
+googleapiclient.errors.UnexpectedMethodError.__init__
+googleapiclient.http.BatchHttpRequest.__init__
+googleapiclient.http.HttpMock.__init__
+googleapiclient.http.HttpMockSequence.__init__
+googleapiclient.http.HttpRequest.__init__
+googleapiclient.http.HttpRequestMock.__init__
+googleapiclient.http.MediaDownloadProgress.__init__
+googleapiclient.http.MediaFileUpload.__init__
+googleapiclient.http.MediaInMemoryUpload.__init__
+googleapiclient.http.MediaIoBaseDownload.__init__
+googleapiclient.http.MediaIoBaseUpload.__init__
+googleapiclient.http.MediaUploadProgress.__init__
+googleapiclient.http.RequestMockBuilder.__init__
+googleapiclient.http._StreamSlice.__init__
+googleapiclient.model.JsonModel.__init__
+googleapiclient.model.ProtocolBufferModel.__init__
+googleapiclient.schema.Schemas.__init__
+googleapiclient.schema._SchemaToStruct.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-string">'Received unexpected call %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">methodId</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
+<a name="UnexpectedBodyError"></a><div id="UnexpectedBodyError-def"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt> <a class="py-toggle" href="#" id="UnexpectedBodyError-toggle" onclick="return toggle('UnexpectedBodyError');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedBodyError-class.html">UnexpectedBodyError</a><tt class="py-op">(</tt><tt class="py-base-class">Error</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnexpectedBodyError-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="UnexpectedBodyError-expanded"><a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">  <tt class="py-docstring">"""Exception raised by RequestMockBuilder on unexpected bodies."""</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"> </tt>
+<a name="UnexpectedBodyError.__init__"></a><div id="UnexpectedBodyError.__init__-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="UnexpectedBodyError.__init__-toggle" onclick="return toggle('UnexpectedBodyError.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.errors.UnexpectedBodyError-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">expected</tt><tt class="py-op">,</tt> <tt class="py-param">provided</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="UnexpectedBodyError.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="UnexpectedBodyError.__init__-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an UnexpectedMethodError."""</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-6" class="py-name" targets="Class googleapiclient.errors.UnexpectedBodyError=googleapiclient.errors.UnexpectedBodyError-class.html"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-6', 'UnexpectedBodyError', 'link-6');">UnexpectedBodyError</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="googleapiclient.channel.Channel.__init__
+googleapiclient.channel.Notification.__init__
+googleapiclient.discovery.Resource.__init__
+googleapiclient.discovery.ResourceMethodParameters.__init__
+googleapiclient.errors.BatchError.__init__
+googleapiclient.errors.HttpError.__init__
+googleapiclient.errors.UnexpectedBodyError.__init__
+googleapiclient.errors.UnexpectedMethodError.__init__
+googleapiclient.http.BatchHttpRequest.__init__
+googleapiclient.http.HttpMock.__init__
+googleapiclient.http.HttpMockSequence.__init__
+googleapiclient.http.HttpRequest.__init__
+googleapiclient.http.HttpRequestMock.__init__
+googleapiclient.http.MediaDownloadProgress.__init__
+googleapiclient.http.MediaFileUpload.__init__
+googleapiclient.http.MediaInMemoryUpload.__init__
+googleapiclient.http.MediaIoBaseDownload.__init__
+googleapiclient.http.MediaIoBaseUpload.__init__
+googleapiclient.http.MediaUploadProgress.__init__
+googleapiclient.http.RequestMockBuilder.__init__
+googleapiclient.http._StreamSlice.__init__
+googleapiclient.model.JsonModel.__init__
+googleapiclient.model.ProtocolBufferModel.__init__
+googleapiclient.schema.Schemas.__init__
+googleapiclient.schema._SchemaToStruct.__init__" class="py-name" href="#" onclick="return doclink('link-7', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-string">'Expected: [%s] - Provided: [%s]'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">,</tt> <tt class="py-name">provided</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.BatchError-class.html b/docs/epy/googleapiclient.errors.BatchError-class.html
new file mode 100644
index 0000000..2518617
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.BatchError-class.html
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.BatchError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;BatchError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.BatchError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class BatchError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#BatchError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_5" name="uml_class_diagram_for_googleap_5">
+<area shape="rect" id="node4" href="googleapiclient.errors.BatchError-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,484,308,503"/>
+<area shape="rect" id="node4" href="googleapiclient.errors.BatchError-class.html#__repr__" title="str(x)" alt="" coords="17,503,308,521"/>
+<area shape="rect" id="node4" href="googleapiclient.errors.BatchError-class.html#__str__" title="str(x)" alt="" coords="17,521,308,540"/>
+<area shape="rect" id="node1" href="googleapiclient.errors.BatchError-class.html" title="Error occured during batch operations." alt="" coords="5,451,320,546"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.HttpError-class.html" title="HTTP data was invalid or unexpected." alt="" coords="123,387,200,431"/>
+<area shape="rect" id="node3" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="135,323,188,367"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="84,31,241,49"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="84,49,241,68"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="84,71,241,89"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="84,89,241,108"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="x[y]" alt="" coords="84,108,241,127"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="x[i:j]" alt="" coords="84,127,241,145"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="helper for pickle" alt="" coords="84,145,241,164"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="84,164,241,183"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="84,183,241,201"/>
+<area shape="rect" id="node8" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="84,201,241,220"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="72,6,253,226"/>
+<area shape="rect" id="node7" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="99,279,225,297"/>
+<area shape="rect" id="node5" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="87,246,236,303"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_5.gif" alt='' usemap="#uml_class_diagram_for_googleap_5" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Error occured during batch operations.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.errors.BatchError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">reason</span>,
+        <span class="summary-sig-arg">resp</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">content</span>=<span class="summary-sig-default">None</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#BatchError.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.errors.BatchError-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      str(x)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#BatchError.__repr__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.errors.BatchError-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      str(x)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#BatchError.__repr__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.errors.HttpError-class.html">HttpError</a></code></b> (private):
+      <code><a href="googleapiclient.errors.HttpError-class.html#_get_reason" onclick="show_private();">_get_reason</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">reason</span>,
+        <span class="sig-arg">resp</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">content</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.errors-pysrc.html#BatchError.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+x.__init__(...) initializes x; see help(type(x)) for signature
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(2)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__repr__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Representation operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.errors-pysrc.html#BatchError.__repr__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+str(x)
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__repr__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__str__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Informal representation operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.errors-pysrc.html#BatchError.__repr__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+str(x)
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__str__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.Error-class.html b/docs/epy/googleapiclient.errors.Error-class.html
new file mode 100644
index 0000000..85510f6
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.Error-class.html
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.Error</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;Error
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.Error-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Error</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#Error">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_6" name="uml_class_diagram_for_googleap_6">
+<area shape="rect" id="node1" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
+<area shape="rect" id="node10" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
+<area shape="rect" id="node10" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
+<area shape="rect" id="node2" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
+<area shape="rect" id="node11" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_6.gif" alt='' usemap="#uml_class_diagram_for_googleap_6" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Base error for this module.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.HttpError-class.html b/docs/epy/googleapiclient.errors.HttpError-class.html
new file mode 100644
index 0000000..1681ee3
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.HttpError-class.html
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.HttpError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;HttpError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.HttpError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HttpError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#HttpError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_7" name="uml_class_diagram_for_googleap_7">
+<area shape="rect" id="node12" href="googleapiclient.errors.HttpError-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,420,244,439"/>
+<area shape="rect" id="node12" href="googleapiclient.errors.HttpError-class.html#__repr__" title="str(x)" alt="" coords="17,439,244,457"/>
+<area shape="rect" id="node12" href="googleapiclient.errors.HttpError-class.html#__str__" title="str(x)" alt="" coords="17,457,244,476"/>
+<area shape="rect" id="node1" href="googleapiclient.errors.HttpError-class.html" title="HTTP data was invalid or unexpected." alt="" coords="5,387,256,482"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="103,323,156,367"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="52,31,209,49"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="52,49,209,68"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="52,71,209,89"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="52,89,209,108"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="x[y]" alt="" coords="52,108,209,127"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="x[i:j]" alt="" coords="52,127,209,145"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="helper for pickle" alt="" coords="52,145,209,164"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="52,164,209,183"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="52,183,209,201"/>
+<area shape="rect" id="node15" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="52,201,209,220"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="40,6,221,226"/>
+<area shape="rect" id="node14" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="67,279,193,297"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="55,246,204,303"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_7.gif" alt='' usemap="#uml_class_diagram_for_googleap_7" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+HTTP data was invalid or unexpected.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.errors.HttpError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resp</span>,
+        <span class="summary-sig-arg">content</span>,
+        <span class="summary-sig-arg">uri</span>=<span class="summary-sig-default">None</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#HttpError.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_get_reason"></a><span class="summary-sig-name">_get_reason</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Calculate the reason for the error from the response content.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#HttpError._get_reason">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.errors.HttpError-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      str(x)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#HttpError.__repr__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.errors.HttpError-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      str(x)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#HttpError.__repr__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">resp</span>,
+        <span class="sig-arg">content</span>,
+        <span class="sig-arg">uri</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.errors-pysrc.html#HttpError.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+x.__init__(...) initializes x; see help(type(x)) for signature
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(3)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__repr__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Representation operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.errors-pysrc.html#HttpError.__repr__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+str(x)
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__repr__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__str__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Informal representation operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.errors-pysrc.html#HttpError.__repr__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+str(x)
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__str__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html b/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html
new file mode 100644
index 0000000..c369049
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.InvalidChunkSizeError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;InvalidChunkSizeError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.InvalidChunkSizeError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class InvalidChunkSizeError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#InvalidChunkSizeError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_8" name="uml_class_diagram_for_googleap_8">
+<area shape="rect" id="node1" href="googleapiclient.errors.InvalidChunkSizeError-class.html" title="The given chunksize is not valid." alt="" coords="17,443,172,487"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
+<area shape="rect" id="node19" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
+<area shape="rect" id="node18" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
+<area shape="rect" id="node18" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_8.gif" alt='' usemap="#uml_class_diagram_for_googleap_8" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+The given chunksize is not valid.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.InvalidJsonError-class.html b/docs/epy/googleapiclient.errors.InvalidJsonError-class.html
new file mode 100644
index 0000000..2cdacea
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.InvalidJsonError-class.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.InvalidJsonError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;InvalidJsonError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.InvalidJsonError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class InvalidJsonError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#InvalidJsonError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_9" name="uml_class_diagram_for_googleap_9">
+<area shape="rect" id="node1" href="googleapiclient.errors.InvalidJsonError-class.html" title="The JSON returned could not be parsed." alt="" coords="36,443,156,487"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
+<area shape="rect" id="node23" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
+<area shape="rect" id="node22" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
+<area shape="rect" id="node22" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_9.gif" alt='' usemap="#uml_class_diagram_for_googleap_9" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+The JSON returned could not be parsed.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html b/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html
new file mode 100644
index 0000000..00e953e
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.InvalidNotificationError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;InvalidNotificationError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.InvalidNotificationError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class InvalidNotificationError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#InvalidNotificationError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_10" name="uml_class_diagram_for_googleap_10">
+<area shape="rect" id="node1" href="googleapiclient.errors.InvalidNotificationError-class.html" title="The channel Notification is invalid." alt="" coords="16,443,173,487"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
+<area shape="rect" id="node27" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
+<area shape="rect" id="node26" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
+<area shape="rect" id="node26" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_10.gif" alt='' usemap="#uml_class_diagram_for_googleap_10" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+The channel Notification is invalid.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html b/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html
new file mode 100644
index 0000000..ad3d1e2
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.MediaUploadSizeError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;MediaUploadSizeError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.MediaUploadSizeError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaUploadSizeError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#MediaUploadSizeError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_11" name="uml_class_diagram_for_googleap_11">
+<area shape="rect" id="node1" href="googleapiclient.errors.MediaUploadSizeError-class.html" title="Media is larger than the method can accept." alt="" coords="17,443,172,487"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
+<area shape="rect" id="node31" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
+<area shape="rect" id="node30" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
+<area shape="rect" id="node30" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_11.gif" alt='' usemap="#uml_class_diagram_for_googleap_11" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Media is larger than the method can accept.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.ResumableUploadError-class.html b/docs/epy/googleapiclient.errors.ResumableUploadError-class.html
new file mode 100644
index 0000000..a4afbdf
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.ResumableUploadError-class.html
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.ResumableUploadError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;ResumableUploadError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.ResumableUploadError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ResumableUploadError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#ResumableUploadError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_12" name="uml_class_diagram_for_googleap_12">
+<area shape="rect" id="node1" href="googleapiclient.errors.ResumableUploadError-class.html" title="Error occured during resumable upload." alt="" coords="49,502,209,546"/>
+<area shape="rect" id="node33" href="googleapiclient.errors.HttpError-class.html#__init__" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="17,420,244,439"/>
+<area shape="rect" id="node33" href="googleapiclient.errors.HttpError-class.html#__repr__" title="str(x)" alt="" coords="17,439,244,457"/>
+<area shape="rect" id="node33" href="googleapiclient.errors.HttpError-class.html#__str__" title="str(x)" alt="" coords="17,457,244,476"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.HttpError-class.html" title="HTTP data was invalid or unexpected." alt="" coords="5,387,256,482"/>
+<area shape="rect" id="node3" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="103,323,156,367"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="52,31,209,49"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="52,49,209,68"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="52,71,209,89"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="52,89,209,108"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="x[y]" alt="" coords="52,108,209,127"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="x[i:j]" alt="" coords="52,127,209,145"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="helper for pickle" alt="" coords="52,145,209,164"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="52,164,209,183"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="52,183,209,201"/>
+<area shape="rect" id="node36" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="52,201,209,220"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="40,6,221,226"/>
+<area shape="rect" id="node35" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="67,279,193,297"/>
+<area shape="rect" id="node5" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="55,246,204,303"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_12.gif" alt='' usemap="#uml_class_diagram_for_googleap_12" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Error occured during resumable upload.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.errors.HttpError-class.html">HttpError</a></code></b>:
+      <code><a href="googleapiclient.errors.HttpError-class.html#__init__">__init__</a></code>,
+      <code><a href="googleapiclient.errors.HttpError-class.html#__repr__">__repr__</a></code>,
+      <code><a href="googleapiclient.errors.HttpError-class.html#__str__">__str__</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.errors.HttpError-class.html">HttpError</a></code></b> (private):
+      <code><a href="googleapiclient.errors.HttpError-class.html#_get_reason" onclick="show_private();">_get_reason</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html b/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html
new file mode 100644
index 0000000..d1ef6b8
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.UnacceptableMimeTypeError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;UnacceptableMimeTypeError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.UnacceptableMimeTypeError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class UnacceptableMimeTypeError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnacceptableMimeTypeError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_13" name="uml_class_diagram_for_googleap_13">
+<area shape="rect" id="node1" href="googleapiclient.errors.UnacceptableMimeTypeError-class.html" title="That is an unacceptable mimetype for this operation." alt="" coords="5,443,200,487"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="75,379,128,423"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="24,31,181,49"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="24,49,181,68"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="24,71,181,89"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="24,89,181,108"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="x[y]" alt="" coords="24,108,181,127"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="x[i:j]" alt="" coords="24,127,181,145"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="helper for pickle" alt="" coords="24,145,181,164"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="repr(x)" alt="" coords="24,164,181,183"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="24,183,181,201"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="24,201,181,220"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="str(x)" alt="" coords="24,220,181,239"/>
+<area shape="rect" id="node40" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="24,239,181,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="12,6,193,263"/>
+<area shape="rect" id="node39" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="39,316,165,335"/>
+<area shape="rect" id="node39" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="39,335,165,353"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="27,283,176,359"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_13.gif" alt='' usemap="#uml_class_diagram_for_googleap_13" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+That is an unacceptable mimetype for this operation.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html b/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html
new file mode 100644
index 0000000..b1c841d
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.UnexpectedBodyError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;UnexpectedBodyError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.UnexpectedBodyError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class UnexpectedBodyError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnexpectedBodyError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_14" name="uml_class_diagram_for_googleap_14">
+<area shape="rect" id="node41" href="googleapiclient.errors.UnexpectedBodyError-class.html#__init__" title="Constructor for an UnexpectedMethodError." alt="" coords="17,457,217,476"/>
+<area shape="rect" id="node1" href="googleapiclient.errors.UnexpectedBodyError-class.html" title="Exception raised by RequestMockBuilder on unexpected bodies." alt="" coords="5,425,229,482"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="89,361,143,405"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="39,31,196,49"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="39,49,196,68"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="39,71,196,89"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="39,89,196,108"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="x[y]" alt="" coords="39,108,196,127"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="x[i:j]" alt="" coords="39,127,196,145"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="helper for pickle" alt="" coords="39,145,196,164"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="repr(x)" alt="" coords="39,164,196,183"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="39,183,196,201"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="39,201,196,220"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="str(x)" alt="" coords="39,220,196,239"/>
+<area shape="rect" id="node44" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="39,239,196,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="27,6,208,263"/>
+<area shape="rect" id="node43" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="53,316,180,335"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="41,283,191,341"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_14.gif" alt='' usemap="#uml_class_diagram_for_googleap_14" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Exception raised by RequestMockBuilder on unexpected bodies.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.errors.UnexpectedBodyError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">expected</span>,
+        <span class="summary-sig-arg">provided</span>)</span><br />
+      Constructor for an UnexpectedMethodError.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnexpectedBodyError.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">expected</span>,
+        <span class="sig-arg">provided</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnexpectedBodyError.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor for an UnexpectedMethodError.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html b/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html
new file mode 100644
index 0000000..b92c2a8
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.UnexpectedMethodError</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;UnexpectedMethodError
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.UnexpectedMethodError-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class UnexpectedMethodError</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnexpectedMethodError">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_15" name="uml_class_diagram_for_googleap_15">
+<area shape="rect" id="node45" href="googleapiclient.errors.UnexpectedMethodError-class.html#__init__" title="Constructor for an UnexpectedMethodError." alt="" coords="17,457,200,476"/>
+<area shape="rect" id="node1" href="googleapiclient.errors.UnexpectedMethodError-class.html" title="Exception raised by RequestMockBuilder on unexpected calls." alt="" coords="5,425,211,482"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="81,361,135,405"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="31,31,188,49"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="31,49,188,68"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="31,71,188,89"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="31,89,188,108"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="x[y]" alt="" coords="31,108,188,127"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="x[i:j]" alt="" coords="31,127,188,145"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="helper for pickle" alt="" coords="31,145,188,164"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="repr(x)" alt="" coords="31,164,188,183"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="31,183,188,201"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="31,201,188,220"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="str(x)" alt="" coords="31,220,188,239"/>
+<area shape="rect" id="node48" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="31,239,188,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="19,6,200,263"/>
+<area shape="rect" id="node47" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="45,316,172,335"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="33,283,183,341"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_15.gif" alt='' usemap="#uml_class_diagram_for_googleap_15" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Exception raised by RequestMockBuilder on unexpected calls.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.errors.UnexpectedMethodError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">methodId</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Constructor for an UnexpectedMethodError.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnexpectedMethodError.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">methodId</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnexpectedMethodError.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor for an UnexpectedMethodError.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(1)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html b/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html
new file mode 100644
index 0000000..977c6aa
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.UnknownApiNameOrVersion</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;UnknownApiNameOrVersion
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.UnknownApiNameOrVersion-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class UnknownApiNameOrVersion</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnknownApiNameOrVersion">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_16" name="uml_class_diagram_for_googleap_16">
+<area shape="rect" id="node1" href="googleapiclient.errors.UnknownApiNameOrVersion-class.html" title="No API with that name and version exists." alt="" coords="5,443,197,487"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="75,379,128,423"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="24,31,181,49"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="24,49,181,68"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="24,71,181,89"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="24,89,181,108"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="x[y]" alt="" coords="24,108,181,127"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="x[i:j]" alt="" coords="24,127,181,145"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="helper for pickle" alt="" coords="24,145,181,164"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="repr(x)" alt="" coords="24,164,181,183"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="24,183,181,201"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="24,201,181,220"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="str(x)" alt="" coords="24,220,181,239"/>
+<area shape="rect" id="node52" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="24,239,181,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="12,6,193,263"/>
+<area shape="rect" id="node51" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="39,316,165,335"/>
+<area shape="rect" id="node51" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="39,335,165,353"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="27,283,176,359"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_16.gif" alt='' usemap="#uml_class_diagram_for_googleap_16" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+No API with that name and version exists.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.UnknownFileType-class.html b/docs/epy/googleapiclient.errors.UnknownFileType-class.html
new file mode 100644
index 0000000..e205b14
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.UnknownFileType-class.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.UnknownFileType</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;UnknownFileType
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.UnknownFileType-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class UnknownFileType</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnknownFileType">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_17" name="uml_class_diagram_for_googleap_17">
+<area shape="rect" id="node1" href="googleapiclient.errors.UnknownFileType-class.html" title="File type unknown or unexpected." alt="" coords="31,443,161,487"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
+<area shape="rect" id="node56" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
+<area shape="rect" id="node55" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
+<area shape="rect" id="node55" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_17.gif" alt='' usemap="#uml_class_diagram_for_googleap_17" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+File type unknown or unexpected.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.errors.UnknownLinkType-class.html b/docs/epy/googleapiclient.errors.UnknownLinkType-class.html
new file mode 100644
index 0000000..12a0ff5
--- /dev/null
+++ b/docs/epy/googleapiclient.errors.UnknownLinkType-class.html
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.errors.UnknownLinkType</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.errors-module.html">Module&nbsp;errors</a> ::
+        Class&nbsp;UnknownLinkType
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.errors.UnknownLinkType-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class UnknownLinkType</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.errors-pysrc.html#UnknownLinkType">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_18" name="uml_class_diagram_for_googleap_18">
+<area shape="rect" id="node1" href="googleapiclient.errors.UnknownLinkType-class.html" title="Link type unknown or unexpected." alt="" coords="28,443,161,487"/>
+<area shape="rect" id="node2" href="googleapiclient.errors.Error-class.html" title="Base error for this module." alt="" coords="68,379,121,423"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="exceptions.BaseException.args" alt="" coords="17,31,175,49"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="exceptions.BaseException.message" alt="" coords="17,49,175,68"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="x.__delattr__(&#39;name&#39;) &lt;==&gt; del x.name" alt="" coords="17,71,175,89"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="x.__getattribute__(&#39;name&#39;) &lt;==&gt; x.name" alt="" coords="17,89,175,108"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="x[y]" alt="" coords="17,108,175,127"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="x[i:j]" alt="" coords="17,127,175,145"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="helper for pickle" alt="" coords="17,145,175,164"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="repr(x)" alt="" coords="17,164,175,183"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="x.__setattr__(&#39;name&#39;, value) &lt;==&gt; x.name = value" alt="" coords="17,183,175,201"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="exceptions.BaseException.__setstate__" alt="" coords="17,201,175,220"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="str(x)" alt="" coords="17,220,175,239"/>
+<area shape="rect" id="node60" href="javascript:void(0);" title="exceptions.BaseException.__unicode__" alt="" coords="17,239,175,257"/>
+<area shape="rect" id="node3" href="javascript:void(0);" title="Common base class for all exceptions" alt="" coords="5,6,187,263"/>
+<area shape="rect" id="node59" href="javascript:void(0);" title="x.__init__(...) initializes x; see help(type(x)) for signature" alt="" coords="32,316,159,335"/>
+<area shape="rect" id="node59" href="javascript:void(0);" title="exceptions.Exception.__new__" alt="" coords="32,335,159,353"/>
+<area shape="rect" id="node4" href="javascript:void(0);" title="Common base class for all non&#45;exit exceptions." alt="" coords="20,283,169,359"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_18.gif" alt='' usemap="#uml_class_diagram_for_googleap_18" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Link type unknown or unexpected.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
+      <code>__init__</code>,
+      <code>__new__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>__delattr__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__reduce__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__setstate__</code>,
+      <code>__str__</code>,
+      <code>__unicode__</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__format__</code>,
+      <code>__hash__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
+      <code>args</code>,
+      <code>message</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http-module.html b/docs/epy/googleapiclient.http-module.html
new file mode 100644
index 0000000..b66a031
--- /dev/null
+++ b/docs/epy/googleapiclient.http-module.html
@@ -0,0 +1,427 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;http
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module http</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+Classes to encapsulate a single HTTP request.
+
+The classes implement a command pattern, with every
+object supporting an execute() method that does the
+actuall HTTP request.
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        jcgregorio@google.com (Joe Gregorio)
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.MediaUploadProgress-class.html" class="summary-name">MediaUploadProgress</a><br />
+      Status of a resumable upload.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.MediaDownloadProgress-class.html" class="summary-name">MediaDownloadProgress</a><br />
+      Status of a resumable download.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.MediaUpload-class.html" class="summary-name">MediaUpload</a><br />
+      Describes a media object to upload.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.MediaIoBaseUpload-class.html" class="summary-name">MediaIoBaseUpload</a><br />
+      A MediaUpload for a io.Base objects.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.MediaFileUpload-class.html" class="summary-name">MediaFileUpload</a><br />
+      A MediaUpload for a file.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.MediaInMemoryUpload-class.html" class="summary-name">MediaInMemoryUpload</a><br />
+      MediaUpload for a chunk of bytes.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.MediaIoBaseDownload-class.html" class="summary-name">MediaIoBaseDownload</a><br />
+      &quot;Download media resources.
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http._StreamSlice-class.html" class="summary-name" onclick="show_private();">_StreamSlice</a><br />
+      Truncated stream.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.HttpRequest-class.html" class="summary-name">HttpRequest</a><br />
+      Encapsulates a single HTTP request.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.BatchHttpRequest-class.html" class="summary-name">BatchHttpRequest</a><br />
+      Batches multiple HttpRequest objects into a single HTTP request.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.HttpRequestMock-class.html" class="summary-name">HttpRequestMock</a><br />
+      Mock of HttpRequest.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.RequestMockBuilder-class.html" class="summary-name">RequestMockBuilder</a><br />
+      A simple mock of HttpRequest
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.HttpMock-class.html" class="summary-name">HttpMock</a><br />
+      Mock of httplib2.Http
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.http.HttpMockSequence-class.html" class="summary-name">HttpMockSequence</a><br />
+      Mock of httplib2.Http
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http-module.html#set_user_agent" class="summary-sig-name">set_user_agent</a>(<span class="summary-sig-arg">http</span>,
+        <span class="summary-sig-arg">user_agent</span>)</span><br />
+      Set the user-agent on every request.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http-module.html#tunnel_patch" class="summary-sig-name">tunnel_patch</a>(<span class="summary-sig-arg">http</span>)</span><br />
+      Tunnel PATCH requests over POST.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="DEFAULT_CHUNK_SIZE"></a><span class="summary-name">DEFAULT_CHUNK_SIZE</span> = <code title="512* 1024">512* 1024</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="MAX_URI_LENGTH"></a><span class="summary-name">MAX_URI_LENGTH</span> = <code title="2048">2048</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="set_user_agent"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">set_user_agent</span>(<span class="sig-arg">http</span>,
+        <span class="sig-arg">user_agent</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Set the user-agent on every request.
+
+Args:
+   http - An instance of httplib2.Http
+       or something that acts like it.
+   user_agent: string, the value for the user-agent header.
+
+Returns:
+   A modified instance of http that was passed in.
+
+Example:
+
+  h = httplib2.Http()
+  h = set_user_agent(h, &quot;my-app-name/6.0&quot;)
+
+Most of the time the user-agent will be set doing auth, this is for the rare
+cases where you are accessing an unauthenticated endpoint.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="tunnel_patch"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">tunnel_patch</span>(<span class="sig-arg">http</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Tunnel PATCH requests over POST.
+Args:
+   http - An instance of httplib2.Http
+       or something that acts like it.
+
+Returns:
+   A modified instance of http that was passed in.
+
+Example:
+
+  h = httplib2.Http()
+  h = tunnel_patch(h, &quot;my-app-name/6.0&quot;)
+
+Useful if you are running on a platform that doesn't support PATCH.
+Apply this last if you are using OAuth 1.0, as changing the method
+will result in a different signature.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http-pysrc.html b/docs/epy/googleapiclient.http-pysrc.html
new file mode 100644
index 0000000..700a6e5
--- /dev/null
+++ b/docs/epy/googleapiclient.http-pysrc.html
@@ -0,0 +1,2020 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;http
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient.http-module.html">Module googleapiclient.http</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2012 Google Inc.</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-docstring">"""Classes to encapsulate a single HTTP request.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-docstring">The classes implement a command pattern, with every</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-docstring">object supporting an execute() method that does the</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt class="py-docstring">actuall HTTP request.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">gzip</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module googleapiclient.mimeparse=googleapiclient.mimeparse-module.html"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-0', 'mimeparse', 'link-0');">mimeparse</a></tt> </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">mimetypes</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">uuid</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">generator</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Generator</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">multipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMEMultipart</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">mime</tt><tt class="py-op">.</tt><tt class="py-name">nonmultipart</tt> <tt class="py-keyword">import</tt> <tt class="py-name">MIMENonMultipart</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">email</tt><tt class="py-op">.</tt><tt class="py-name">parser</tt> <tt class="py-keyword">import</tt> <tt class="py-name">FeedParser</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module googleapiclient.errors=googleapiclient.errors-module.html"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-1', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class googleapiclient.errors.BatchError=googleapiclient.errors.BatchError-class.html"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-2', 'BatchError', 'link-2');">BatchError</a></tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-3', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class googleapiclient.errors.HttpError=googleapiclient.errors.HttpError-class.html"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-4', 'HttpError', 'link-4');">HttpError</a></tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-5', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Class googleapiclient.errors.InvalidChunkSizeError=googleapiclient.errors.InvalidChunkSizeError-class.html"><a title="googleapiclient.errors.InvalidChunkSizeError" class="py-name" href="#" onclick="return doclink('link-6', 'InvalidChunkSizeError', 'link-6');">InvalidChunkSizeError</a></tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-7', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Class googleapiclient.errors.ResumableUploadError=googleapiclient.errors.ResumableUploadError-class.html"><a title="googleapiclient.errors.ResumableUploadError" class="py-name" href="#" onclick="return doclink('link-8', 'ResumableUploadError', 'link-8');">ResumableUploadError</a></tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-9', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Class googleapiclient.errors.UnexpectedBodyError=googleapiclient.errors.UnexpectedBodyError-class.html"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-10', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-11" class="py-name"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-11', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Class googleapiclient.errors.UnexpectedMethodError=googleapiclient.errors.UnexpectedMethodError-class.html"><a title="googleapiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-12', 'UnexpectedMethodError', 'link-12');">UnexpectedMethodError</a></tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name" targets="Module googleapiclient.model=googleapiclient.model-module.html"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-13', 'model', 'link-13');">model</a></tt> <tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Class googleapiclient.model.JsonModel=googleapiclient.model.JsonModel-class.html"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-14', 'JsonModel', 'link-14');">JsonModel</a></tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">util</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">anyjson</tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line"><tt id="link-15" class="py-name" targets="Variable googleapiclient.http.DEFAULT_CHUNK_SIZE=googleapiclient.http-module.html#DEFAULT_CHUNK_SIZE"><a title="googleapiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-15', 'DEFAULT_CHUNK_SIZE', 'link-15');">DEFAULT_CHUNK_SIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">512</tt><tt class="py-op">*</tt><tt class="py-number">1024</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line"> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"><tt id="link-16" class="py-name" targets="Variable googleapiclient.http.MAX_URI_LENGTH=googleapiclient.http-module.html#MAX_URI_LENGTH"><a title="googleapiclient.http.MAX_URI_LENGTH" class="py-name" href="#" onclick="return doclink('link-16', 'MAX_URI_LENGTH', 'link-16');">MAX_URI_LENGTH</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2048</tt> </tt>
+<a name="MediaUploadProgress"></a><div id="MediaUploadProgress-def"><a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno">  60</tt> <a class="py-toggle" href="#" id="MediaUploadProgress-toggle" onclick="return toggle('MediaUploadProgress');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.MediaUploadProgress-class.html">MediaUploadProgress</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUploadProgress-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaUploadProgress-expanded"><a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">  <tt class="py-docstring">"""Status of a resumable upload."""</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line"> </tt>
+<a name="MediaUploadProgress.__init__"></a><div id="MediaUploadProgress.__init__-def"><a name="L63"></a><tt class="py-lineno">  63</tt> <a class="py-toggle" href="#" id="MediaUploadProgress.__init__-toggle" onclick="return toggle('MediaUploadProgress.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUploadProgress-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-param">total_size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUploadProgress.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUploadProgress.__init__-expanded"><a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line"><tt class="py-docstring">      resumable_progress: int, bytes sent so far.</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line"><tt class="py-docstring">      total_size: int, total bytes in complete upload, or None if the total</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line"><tt class="py-docstring">        upload size isn't known ahead of time.</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-name">resumable_progress</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">total_size</tt> </tt>
+</div><a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line"> </tt>
+<a name="MediaUploadProgress.progress"></a><div id="MediaUploadProgress.progress-def"><a name="L74"></a><tt class="py-lineno">  74</tt> <a class="py-toggle" href="#" id="MediaUploadProgress.progress-toggle" onclick="return toggle('MediaUploadProgress.progress');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUploadProgress-class.html#progress">progress</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUploadProgress.progress-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUploadProgress.progress-expanded"><a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">    <tt class="py-docstring">"""Percent of upload completed, as a float.</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line"><tt class="py-docstring">      the percentage complete as a float, returning 0.0 if the total size of</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line"><tt class="py-docstring">      the upload is unknown.</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-number">0.0</tt> </tt>
+</div></div><a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line"> </tt>
+<a name="MediaDownloadProgress"></a><div id="MediaDownloadProgress-def"><a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line"> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt> <a class="py-toggle" href="#" id="MediaDownloadProgress-toggle" onclick="return toggle('MediaDownloadProgress');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.MediaDownloadProgress-class.html">MediaDownloadProgress</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaDownloadProgress-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaDownloadProgress-expanded"><a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">  <tt class="py-docstring">"""Status of a resumable download."""</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line"> </tt>
+<a name="MediaDownloadProgress.__init__"></a><div id="MediaDownloadProgress.__init__-def"><a name="L90"></a><tt class="py-lineno">  90</tt> <a class="py-toggle" href="#" id="MediaDownloadProgress.__init__-toggle" onclick="return toggle('MediaDownloadProgress.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaDownloadProgress-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-param">total_size</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaDownloadProgress.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaDownloadProgress.__init__-expanded"><a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line"><tt class="py-docstring">      resumable_progress: int, bytes received so far.</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line"><tt class="py-docstring">      total_size: int, total bytes in complete download.</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-name">resumable_progress</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">total_size</tt> </tt>
+</div><a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"> </tt>
+<a name="MediaDownloadProgress.progress"></a><div id="MediaDownloadProgress.progress-def"><a name="L100"></a><tt class="py-lineno"> 100</tt> <a class="py-toggle" href="#" id="MediaDownloadProgress.progress-toggle" onclick="return toggle('MediaDownloadProgress.progress');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaDownloadProgress-class.html#progress">progress</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaDownloadProgress.progress-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaDownloadProgress.progress-expanded"><a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">    <tt class="py-docstring">"""Percent of download completed, as a float.</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line"><tt class="py-docstring">      the percentage complete as a float, returning 0.0 if the total size of</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line"><tt class="py-docstring">      the download is unknown.</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">total_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-number">0.0</tt> </tt>
+</div></div><a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload"></a><div id="MediaUpload-def"><a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line"> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt> <a class="py-toggle" href="#" id="MediaUpload-toggle" onclick="return toggle('MediaUpload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaUpload-expanded"><a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">  <tt class="py-docstring">"""Describes a media object to upload.</tt> </tt>
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line"><tt class="py-docstring">  Base class that defines the interface of MediaUpload subclasses.</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line"><tt class="py-docstring">  Note that subclasses of MediaUpload may allow you to control the chunksize</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"><tt class="py-docstring">  when uploading a media object. It is important to keep the size of the chunk</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"><tt class="py-docstring">  as large as possible to keep the upload efficient. Other factors may influence</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line"><tt class="py-docstring">  the size of the chunk you use, particularly if you are working in an</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line"><tt class="py-docstring">  environment where individual HTTP requests may have a hardcoded time limit,</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"><tt class="py-docstring">  such as under certain classes of requests under Google App Engine.</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"><tt class="py-docstring">  Streams are io.Base compatible objects that support seek(). Some MediaUpload</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line"><tt class="py-docstring">  subclasses support using streams directly to upload data. Support for</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"><tt class="py-docstring">  streaming may be indicated by a MediaUpload sub-class and if appropriate for a</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line"><tt class="py-docstring">  platform that stream will be used for uploading the media object. The support</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line"><tt class="py-docstring">  for streaming is indicated by has_stream() returning True. The stream() method</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line"><tt class="py-docstring">  should return an io.Base object that supports seek(). On platforms where the</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"><tt class="py-docstring">  underlying httplib module supports streaming, for example Python 2.6 and</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line"><tt class="py-docstring">  later, the stream will be passed into the http library which will result in</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line"><tt class="py-docstring">  less memory being used and possibly faster uploads.</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line"><tt class="py-docstring">  If you need to upload media that can't be uploaded using any of the existing</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line"><tt class="py-docstring">  MediaUpload sub-class then you can sub-class MediaUpload for your particular</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"><tt class="py-docstring">  needs.</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload.chunksize"></a><div id="MediaUpload.chunksize-def"><a name="L140"></a><tt class="py-lineno"> 140</tt> <a class="py-toggle" href="#" id="MediaUpload.chunksize-toggle" onclick="return toggle('MediaUpload.chunksize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#chunksize">chunksize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.chunksize-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.chunksize-expanded"><a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">    <tt class="py-docstring">"""Chunk size for resumable uploads.</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line"><tt class="py-docstring">      Chunk size in bytes.</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload.mimetype"></a><div id="MediaUpload.mimetype-def"><a name="L148"></a><tt class="py-lineno"> 148</tt> <a class="py-toggle" href="#" id="MediaUpload.mimetype-toggle" onclick="return toggle('MediaUpload.mimetype');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#mimetype">mimetype</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.mimetype-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.mimetype-expanded"><a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">    <tt class="py-docstring">"""Mime type of the body.</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line"><tt class="py-docstring">      Mime type.</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'application/octet-stream'</tt> </tt>
+</div><a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload.size"></a><div id="MediaUpload.size-def"><a name="L156"></a><tt class="py-lineno"> 156</tt> <a class="py-toggle" href="#" id="MediaUpload.size-toggle" onclick="return toggle('MediaUpload.size');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#size">size</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.size-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.size-expanded"><a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">    <tt class="py-docstring">"""Size of upload.</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"><tt class="py-docstring">      Size of the body, or None of the size is unknown.</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload.resumable"></a><div id="MediaUpload.resumable-def"><a name="L164"></a><tt class="py-lineno"> 164</tt> <a class="py-toggle" href="#" id="MediaUpload.resumable-toggle" onclick="return toggle('MediaUpload.resumable');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#resumable">resumable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.resumable-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.resumable-expanded"><a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">    <tt class="py-docstring">"""Whether this upload is resumable.</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"><tt class="py-docstring">      True if resumable upload or False.</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload.getbytes"></a><div id="MediaUpload.getbytes-def"><a name="L172"></a><tt class="py-lineno"> 172</tt> <a class="py-toggle" href="#" id="MediaUpload.getbytes-toggle" onclick="return toggle('MediaUpload.getbytes');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#getbytes">getbytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">begin</tt><tt class="py-op">,</tt> <tt class="py-param">end</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.getbytes-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.getbytes-expanded"><a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get bytes from the media.</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line"><tt class="py-docstring">      begin: int, offset from beginning of file.</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line"><tt class="py-docstring">      length: int, number of bytes to read, starting at begin.</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line"><tt class="py-docstring">      A string of bytes read. May be shorter than length if EOF was reached</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line"><tt class="py-docstring">      first.</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload.has_stream"></a><div id="MediaUpload.has_stream-def"><a name="L185"></a><tt class="py-lineno"> 185</tt> <a class="py-toggle" href="#" id="MediaUpload.has_stream-toggle" onclick="return toggle('MediaUpload.has_stream');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#has_stream">has_stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.has_stream-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.has_stream-expanded"><a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">    <tt class="py-docstring">"""Does the underlying upload support a streaming interface.</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line"><tt class="py-docstring">    Streaming means it is an io.IOBase subclass that supports seek, i.e.</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line"><tt class="py-docstring">    seekable() returns True.</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line"><tt class="py-docstring">      True if the call to stream() will return an instance of a seekable io.Base</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line"><tt class="py-docstring">      subclass.</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload.stream"></a><div id="MediaUpload.stream-def"><a name="L197"></a><tt class="py-lineno"> 197</tt> <a class="py-toggle" href="#" id="MediaUpload.stream-toggle" onclick="return toggle('MediaUpload.stream');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#stream">stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.stream-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.stream-expanded"><a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">    <tt class="py-docstring">"""A stream interface to the data being uploaded.</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line"><tt class="py-docstring">      The returned value is an io.IOBase subclass that supports seek, i.e.</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line"><tt class="py-docstring">      seekable() returns True.</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="MediaUpload._to_json"></a><div id="MediaUpload._to_json-def"><a name="L207"></a><tt class="py-lineno"> 207</tt> <a class="py-toggle" href="#" id="MediaUpload._to_json-toggle" onclick="return toggle('MediaUpload._to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#_to_json">_to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">strip</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload._to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload._to_json-expanded"><a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">    <tt class="py-docstring">"""Utility function for creating a JSON representation of a MediaUpload.</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line"><tt class="py-docstring">      strip: array, An array of names of members to not include in the JSON.</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line"><tt class="py-docstring">       string, a JSON representation of this instance, suitable to pass to</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line"><tt class="py-docstring">       from_json().</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">    <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">strip</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">member</tt> <tt class="py-keyword">in</tt> <tt class="py-name">strip</tt><tt class="py-op">:</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-name">member</tt><tt class="py-op">]</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">    <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">__name__</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">    <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_module'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">__module__</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line"> </tt>
+<a name="MediaUpload.to_json"></a><div id="MediaUpload.to_json-def"><a name="L226"></a><tt class="py-lineno"> 226</tt> <a class="py-toggle" href="#" id="MediaUpload.to_json-toggle" onclick="return toggle('MediaUpload.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.to_json-expanded"><a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a JSON representation of an instance of MediaUpload.</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line"><tt class="py-docstring">       string, a JSON representation of this instance, suitable to pass to</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line"><tt class="py-docstring">       from_json().</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method googleapiclient.http.MediaUpload._to_json()=googleapiclient.http.MediaUpload-class.html#_to_json"><a title="googleapiclient.http.MediaUpload._to_json" class="py-name" href="#" onclick="return doclink('link-17', '_to_json', 'link-17');">_to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">classmethod</tt> </tt>
+<a name="MediaUpload.new_from_json"></a><div id="MediaUpload.new_from_json-def"><a name="L236"></a><tt class="py-lineno"> 236</tt> <a class="py-toggle" href="#" id="MediaUpload.new_from_json-toggle" onclick="return toggle('MediaUpload.new_from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaUpload-class.html#new_from_json">new_from_json</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaUpload.new_from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaUpload.new_from_json-expanded"><a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">    <tt class="py-docstring">"""Utility class method to instantiate a MediaUpload subclass from a JSON</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"><tt class="py-docstring">    representation produced by to_json().</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line"><tt class="py-docstring">      s: string, JSON from to_json().</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line"><tt class="py-docstring">      An instance of the subclass of MediaUpload that was serialized with</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line"><tt class="py-docstring">      to_json().</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">    <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">    <tt class="py-comment"># Find and call the right classmethod from_json() to restore the object.</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'_module'</tt><tt class="py-op">]</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">    <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">fromlist</tt><tt class="py-op">=</tt><tt class="py-name">module</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">    <tt class="py-name">kls</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">m</tt><tt class="py-op">,</tt> <tt class="py-name">data</tt><tt class="py-op">[</tt><tt class="py-string">'_class'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Static Method googleapiclient.http.HttpRequest.from_json()=googleapiclient.http.HttpRequest-class.html#from_json,Static Method googleapiclient.http.MediaFileUpload.from_json()=googleapiclient.http.MediaFileUpload-class.html#from_json"><a title="googleapiclient.http.HttpRequest.from_json
+googleapiclient.http.MediaFileUpload.from_json" class="py-name" href="#" onclick="return doclink('link-18', 'from_json', 'link-18');">from_json</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">kls</tt><tt class="py-op">,</tt> <tt class="py-string">'from_json'</tt><tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-19" class="py-name"><a title="googleapiclient.http.HttpRequest.from_json
+googleapiclient.http.MediaFileUpload.from_json" class="py-name" href="#" onclick="return doclink('link-19', 'from_json', 'link-18');">from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload"></a><div id="MediaIoBaseUpload-def"><a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line"> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload-toggle" onclick="return toggle('MediaIoBaseUpload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a><tt class="py-op">(</tt><tt class="py-base-class">MediaUpload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaIoBaseUpload-expanded"><a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">  <tt class="py-docstring">"""A MediaUpload for a io.Base objects.</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line"><tt class="py-docstring">  Note that the Python file object is compatible with io.Base and can be used</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line"><tt class="py-docstring">  with this class also.</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line"><tt class="py-docstring">    fh = io.BytesIO('...Some data to upload...')</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line"><tt class="py-docstring">    media = MediaIoBaseUpload(fh, mimetype='image/png',</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize=1024*1024, resumable=True)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line"><tt class="py-docstring">    farm.animals().insert(</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line"><tt class="py-docstring">        id='cow',</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line"><tt class="py-docstring">        name='cow.png',</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line"><tt class="py-docstring">        media_body=media).execute()</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line"><tt class="py-docstring">  Depending on the platform you are working on, you may pass -1 as the</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line"><tt class="py-docstring">  chunksize, which indicates that the entire file should be uploaded in a single</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line"><tt class="py-docstring">  request. If the underlying platform supports streams, such as Python 2.6 or</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line"><tt class="py-docstring">  later, then this can be very efficient as it avoids multiple connections, and</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line"><tt class="py-docstring">  also avoids loading the entire file into memory before sending it. Note that</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line"><tt class="py-docstring">  Google App Engine has a 5MB limit on request size, so you should never set</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"><tt class="py-docstring">  your chunksize larger than 5MB, or to -1.</tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line"> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="MediaIoBaseUpload.__init__"></a><div id="MediaIoBaseUpload.__init__-def"><a name="L280"></a><tt class="py-lineno"> 280</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.__init__-toggle" onclick="return toggle('MediaIoBaseUpload.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fd</tt><tt class="py-op">,</tt> <tt class="py-param">mimetype</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">=</tt><tt id="link-20" class="py-name"><a title="googleapiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-20', 'DEFAULT_CHUNK_SIZE', 'link-15');">DEFAULT_CHUNK_SIZE</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">      <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.__init__-expanded"><a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line"><tt class="py-docstring">      fd: io.Base or file object, The source of the bytes to upload. MUST be</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line"><tt class="py-docstring">        opened in blocking mode, do not use streams opened in non-blocking mode.</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line"><tt class="py-docstring">        The given stream must be seekable, that is, it must be able to call</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line"><tt class="py-docstring">        seek() on fd.</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"><tt class="py-docstring">      mimetype: string, Mime-type of the file.</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, File will be uploaded in chunks of this many bytes. Only</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"><tt class="py-docstring">        used if resumable=True. Pass in a value of -1 if the file is to be</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line"><tt class="py-docstring">        uploaded as a single chunk. Note that Google App Engine has a 5MB limit</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line"><tt class="py-docstring">        on request size, so you should never set your chunksize larger than 5MB,</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line"><tt class="py-docstring">        or to -1.</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line"><tt class="py-docstring">      resumable: bool, True if this is a resumable upload. False means upload</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line"><tt class="py-docstring">        in a single request.</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-21" class="py-name" targets="Class googleapiclient.http.MediaIoBaseUpload=googleapiclient.http.MediaIoBaseUpload-class.html"><a title="googleapiclient.http.MediaIoBaseUpload" class="py-name" href="#" onclick="return doclink('link-21', 'MediaIoBaseUpload', 'link-21');">MediaIoBaseUpload</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method googleapiclient.channel.Channel.__init__()=googleapiclient.channel.Channel-class.html#__init__,Method googleapiclient.channel.Notification.__init__()=googleapiclient.channel.Notification-class.html#__init__,Method googleapiclient.discovery.Resource.__init__()=googleapiclient.discovery.Resource-class.html#__init__,Method googleapiclient.discovery.ResourceMethodParameters.__init__()=googleapiclient.discovery.ResourceMethodParameters-class.html#__init__,Method googleapiclient.errors.BatchError.__init__()=googleapiclient.errors.BatchError-class.html#__init__,Method googleapiclient.errors.HttpError.__init__()=googleapiclient.errors.HttpError-class.html#__init__,Method googleapiclient.errors.UnexpectedBodyError.__init__()=googleapiclient.errors.UnexpectedBodyError-class.html#__init__,Method googleapiclient.errors.UnexpectedMethodError.__init__()=googleapiclient.errors.UnexpectedMethodError-class.html#__init__,Method googleapiclient.http.BatchHttpRequest.__init__()=googleapiclient.http.BatchHttpRequest-class.html#__init__,Method googleapiclient.http.HttpMock.__init__()=googleapiclient.http.HttpMock-class.html#__init__,Method googleapiclient.http.HttpMockSequence.__init__()=googleapiclient.http.HttpMockSequence-class.html#__init__,Method googleapiclient.http.HttpRequest.__init__()=googleapiclient.http.HttpRequest-class.html#__init__,Method googleapiclient.http.HttpRequestMock.__init__()=googleapiclient.http.HttpRequestMock-class.html#__init__,Method googleapiclient.http.MediaDownloadProgress.__init__()=googleapiclient.http.MediaDownloadProgress-class.html#__init__,Method googleapiclient.http.MediaFileUpload.__init__()=googleapiclient.http.MediaFileUpload-class.html#__init__,Method googleapiclient.http.MediaInMemoryUpload.__init__()=googleapiclient.http.MediaInMemoryUpload-class.html#__init__,Method googleapiclient.http.MediaIoBaseDownload.__init__()=googleapiclient.http.MediaIoBaseDownload-class.html#__init__,Method googleapiclient.http.MediaIoBaseUpload.__init__()=googleapiclient.http.MediaIoBaseUpload-class.html#__init__,Method googleapiclient.http.MediaUploadProgress.__init__()=googleapiclient.http.MediaUploadProgress-class.html#__init__,Method googleapiclient.http.RequestMockBuilder.__init__()=googleapiclient.http.RequestMockBuilder-class.html#__init__,Method googleapiclient.http._StreamSlice.__init__()=googleapiclient.http._StreamSlice-class.html#__init__,Method googleapiclient.model.JsonModel.__init__()=googleapiclient.model.JsonModel-class.html#__init__,Method googleapiclient.model.ProtocolBufferModel.__init__()=googleapiclient.model.ProtocolBufferModel-class.html#__init__,Method googleapiclient.schema.Schemas.__init__()=googleapiclient.schema.Schemas-class.html#__init__,Method googleapiclient.schema._SchemaToStruct.__init__()=googleapiclient.schema._SchemaToStruct-class.html#__init__"><a title="googleapiclient.channel.Channel.__init__
+googleapiclient.channel.Notification.__init__
+googleapiclient.discovery.Resource.__init__
+googleapiclient.discovery.ResourceMethodParameters.__init__
+googleapiclient.errors.BatchError.__init__
+googleapiclient.errors.HttpError.__init__
+googleapiclient.errors.UnexpectedBodyError.__init__
+googleapiclient.errors.UnexpectedMethodError.__init__
+googleapiclient.http.BatchHttpRequest.__init__
+googleapiclient.http.HttpMock.__init__
+googleapiclient.http.HttpMockSequence.__init__
+googleapiclient.http.HttpRequest.__init__
+googleapiclient.http.HttpRequestMock.__init__
+googleapiclient.http.MediaDownloadProgress.__init__
+googleapiclient.http.MediaFileUpload.__init__
+googleapiclient.http.MediaInMemoryUpload.__init__
+googleapiclient.http.MediaIoBaseDownload.__init__
+googleapiclient.http.MediaIoBaseUpload.__init__
+googleapiclient.http.MediaUploadProgress.__init__
+googleapiclient.http.RequestMockBuilder.__init__
+googleapiclient.http._StreamSlice.__init__
+googleapiclient.model.JsonModel.__init__
+googleapiclient.model.ProtocolBufferModel.__init__
+googleapiclient.schema.Schemas.__init__
+googleapiclient.schema._SchemaToStruct.__init__" class="py-name" href="#" onclick="return doclink('link-22', '__init__', 'link-22');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mimetype</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.mimetype()=googleapiclient.http.MediaIoBaseUpload-class.html#mimetype,Method googleapiclient.http.MediaUpload.mimetype()=googleapiclient.http.MediaUpload-class.html#mimetype"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-23', 'mimetype', 'link-23');">mimetype</a></tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt id="link-24" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.chunksize()=googleapiclient.http.MediaIoBaseUpload-class.html#chunksize,Method googleapiclient.http.MediaUpload.chunksize()=googleapiclient.http.MediaUpload-class.html#chunksize"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-24', 'chunksize', 'link-24');">chunksize</a></tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt id="link-25" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-25', 'chunksize', 'link-24');">chunksize</a></tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-26" class="py-name"><a title="googleapiclient.errors.InvalidChunkSizeError" class="py-name" href="#" onclick="return doclink('link-26', 'InvalidChunkSizeError', 'link-6');">InvalidChunkSizeError</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> <tt class="py-op">=</tt> <tt id="link-27" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-27', 'chunksize', 'link-24');">chunksize</a></tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resumable</tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.resumable()=googleapiclient.http.MediaIoBaseUpload-class.html#resumable,Method googleapiclient.http.MediaUpload.resumable()=googleapiclient.http.MediaUpload-class.html#resumable"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-28', 'resumable', 'link-28');">resumable</a></tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line"> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_END</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload.chunksize"></a><div id="MediaIoBaseUpload.chunksize-def"><a name="L309"></a><tt class="py-lineno"> 309</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.chunksize-toggle" onclick="return toggle('MediaIoBaseUpload.chunksize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#chunksize">chunksize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.chunksize-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.chunksize-expanded"><a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">    <tt class="py-docstring">"""Chunk size for resumable uploads.</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line"><tt class="py-docstring">      Chunk size in bytes.</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> </tt>
+</div><a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload.mimetype"></a><div id="MediaIoBaseUpload.mimetype-def"><a name="L317"></a><tt class="py-lineno"> 317</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.mimetype-toggle" onclick="return toggle('MediaIoBaseUpload.mimetype');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#mimetype">mimetype</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.mimetype-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.mimetype-expanded"><a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">    <tt class="py-docstring">"""Mime type of the body.</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line"><tt class="py-docstring">      Mime type.</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_mimetype</tt> </tt>
+</div><a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload.size"></a><div id="MediaIoBaseUpload.size-def"><a name="L325"></a><tt class="py-lineno"> 325</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.size-toggle" onclick="return toggle('MediaIoBaseUpload.size');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#size">size</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.size-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.size-expanded"><a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">    <tt class="py-docstring">"""Size of upload.</tt> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line"><tt class="py-docstring">      Size of the body, or None of the size is unknown.</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_size</tt> </tt>
+</div><a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload.resumable"></a><div id="MediaIoBaseUpload.resumable-def"><a name="L333"></a><tt class="py-lineno"> 333</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.resumable-toggle" onclick="return toggle('MediaIoBaseUpload.resumable');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#resumable">resumable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.resumable-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.resumable-expanded"><a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">    <tt class="py-docstring">"""Whether this upload is resumable.</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line"><tt class="py-docstring">      True if resumable upload or False.</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_resumable</tt> </tt>
+</div><a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload.getbytes"></a><div id="MediaIoBaseUpload.getbytes-def"><a name="L341"></a><tt class="py-lineno"> 341</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.getbytes-toggle" onclick="return toggle('MediaIoBaseUpload.getbytes');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#getbytes">getbytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">begin</tt><tt class="py-op">,</tt> <tt class="py-param">length</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.getbytes-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.getbytes-expanded"><a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get bytes from the media.</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line"><tt class="py-docstring">      begin: int, offset from beginning of file.</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line"><tt class="py-docstring">      length: int, number of bytes to read, starting at begin.</tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line"><tt class="py-docstring">      A string of bytes read. May be shorted than length if EOF was reached</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line"><tt class="py-docstring">      first.</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">begin</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method googleapiclient.http._StreamSlice.read()=googleapiclient.http._StreamSlice-class.html#read"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-29', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload.has_stream"></a><div id="MediaIoBaseUpload.has_stream-def"><a name="L355"></a><tt class="py-lineno"> 355</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.has_stream-toggle" onclick="return toggle('MediaIoBaseUpload.has_stream');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#has_stream">has_stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.has_stream-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.has_stream-expanded"><a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">    <tt class="py-docstring">"""Does the underlying upload support a streaming interface.</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line"><tt class="py-docstring">    Streaming means it is an io.IOBase subclass that supports seek, i.e.</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line"><tt class="py-docstring">    seekable() returns True.</tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line"><tt class="py-docstring">      True if the call to stream() will return an instance of a seekable io.Base</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line"><tt class="py-docstring">      subclass.</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload.stream"></a><div id="MediaIoBaseUpload.stream-def"><a name="L367"></a><tt class="py-lineno"> 367</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.stream-toggle" onclick="return toggle('MediaIoBaseUpload.stream');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#stream">stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.stream-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.stream-expanded"><a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">    <tt class="py-docstring">"""A stream interface to the data being uploaded.</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line"><tt class="py-docstring">      The returned value is an io.IOBase subclass that supports seek, i.e.</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line"><tt class="py-docstring">      seekable() returns True.</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt> </tt>
+</div><a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseUpload.to_json"></a><div id="MediaIoBaseUpload.to_json-def"><a name="L376"></a><tt class="py-lineno"> 376</tt> <a class="py-toggle" href="#" id="MediaIoBaseUpload.to_json-toggle" onclick="return toggle('MediaIoBaseUpload.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseUpload-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseUpload.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseUpload.to_json-expanded"><a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">    <tt class="py-docstring">"""This upload type is not serializable."""</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">'MediaIoBaseUpload is not serializable.'</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line"> </tt>
+<a name="MediaFileUpload"></a><div id="MediaFileUpload-def"><a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line"> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt> <a class="py-toggle" href="#" id="MediaFileUpload-toggle" onclick="return toggle('MediaFileUpload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.MediaFileUpload-class.html">MediaFileUpload</a><tt class="py-op">(</tt><tt class="py-base-class">MediaIoBaseUpload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaFileUpload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaFileUpload-expanded"><a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">  <tt class="py-docstring">"""A MediaUpload for a file.</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line"><tt class="py-docstring">  Construct a MediaFileUpload and pass as the media_body parameter of the</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line"><tt class="py-docstring">  method. For example, if we had a service that allowed uploading images:</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line"><tt class="py-docstring">    media = MediaFileUpload('cow.png', mimetype='image/png',</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize=1024*1024, resumable=True)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line"><tt class="py-docstring">    farm.animals().insert(</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line"><tt class="py-docstring">        id='cow',</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line"><tt class="py-docstring">        name='cow.png',</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line"><tt class="py-docstring">        media_body=media).execute()</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line"><tt class="py-docstring">  Depending on the platform you are working on, you may pass -1 as the</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line"><tt class="py-docstring">  chunksize, which indicates that the entire file should be uploaded in a single</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line"><tt class="py-docstring">  request. If the underlying platform supports streams, such as Python 2.6 or</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line"><tt class="py-docstring">  later, then this can be very efficient as it avoids multiple connections, and</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line"><tt class="py-docstring">  also avoids loading the entire file into memory before sending it. Note that</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line"><tt class="py-docstring">  Google App Engine has a 5MB limit on request size, so you should never set</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line"><tt class="py-docstring">  your chunksize larger than 5MB, or to -1.</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line"> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="MediaFileUpload.__init__"></a><div id="MediaFileUpload.__init__-def"><a name="L405"></a><tt class="py-lineno"> 405</tt> <a class="py-toggle" href="#" id="MediaFileUpload.__init__-toggle" onclick="return toggle('MediaFileUpload.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaFileUpload-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">mimetype</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">=</tt><tt id="link-30" class="py-name"><a title="googleapiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-30', 'DEFAULT_CHUNK_SIZE', 'link-15');">DEFAULT_CHUNK_SIZE</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">               <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaFileUpload.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaFileUpload.__init__-expanded"><a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, Name of the file.</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line"><tt class="py-docstring">      mimetype: string, Mime-type of the file. If None then a mime-type will be</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line"><tt class="py-docstring">        guessed from the file extension.</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, File will be uploaded in chunks of this many bytes. Only</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"><tt class="py-docstring">        used if resumable=True. Pass in a value of -1 if the file is to be</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line"><tt class="py-docstring">        uploaded in a single chunk. Note that Google App Engine has a 5MB limit</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line"><tt class="py-docstring">        on request size, so you should never set your chunksize larger than 5MB,</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"><tt class="py-docstring">        or to -1.</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line"><tt class="py-docstring">      resumable: bool, True if this is a resumable upload. False means upload</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line"><tt class="py-docstring">        in a single request.</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">filename</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">    <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_filename</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-31" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-31', 'mimetype', 'link-23');">mimetype</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">      <tt class="py-op">(</tt><tt id="link-32" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-32', 'mimetype', 'link-23');">mimetype</a></tt><tt class="py-op">,</tt> <tt class="py-name">encoding</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">mimetypes</tt><tt class="py-op">.</tt><tt class="py-name">guess_type</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-33" class="py-name" targets="Class googleapiclient.http.MediaFileUpload=googleapiclient.http.MediaFileUpload-class.html"><a title="googleapiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-33', 'MediaFileUpload', 'link-33');">MediaFileUpload</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="googleapiclient.channel.Channel.__init__
+googleapiclient.channel.Notification.__init__
+googleapiclient.discovery.Resource.__init__
+googleapiclient.discovery.ResourceMethodParameters.__init__
+googleapiclient.errors.BatchError.__init__
+googleapiclient.errors.HttpError.__init__
+googleapiclient.errors.UnexpectedBodyError.__init__
+googleapiclient.errors.UnexpectedMethodError.__init__
+googleapiclient.http.BatchHttpRequest.__init__
+googleapiclient.http.HttpMock.__init__
+googleapiclient.http.HttpMockSequence.__init__
+googleapiclient.http.HttpRequest.__init__
+googleapiclient.http.HttpRequestMock.__init__
+googleapiclient.http.MediaDownloadProgress.__init__
+googleapiclient.http.MediaFileUpload.__init__
+googleapiclient.http.MediaInMemoryUpload.__init__
+googleapiclient.http.MediaIoBaseDownload.__init__
+googleapiclient.http.MediaIoBaseUpload.__init__
+googleapiclient.http.MediaUploadProgress.__init__
+googleapiclient.http.RequestMockBuilder.__init__
+googleapiclient.http._StreamSlice.__init__
+googleapiclient.model.JsonModel.__init__
+googleapiclient.model.ProtocolBufferModel.__init__
+googleapiclient.schema.Schemas.__init__
+googleapiclient.schema._SchemaToStruct.__init__" class="py-name" href="#" onclick="return doclink('link-34', '__init__', 'link-22');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">,</tt> <tt id="link-35" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-35', 'mimetype', 'link-23');">mimetype</a></tt><tt class="py-op">,</tt> <tt id="link-36" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-36', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">=</tt><tt id="link-37" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-37', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">                                          <tt id="link-38" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-38', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">=</tt><tt id="link-39" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-39', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line"> </tt>
+<a name="MediaFileUpload.to_json"></a><div id="MediaFileUpload.to_json-def"><a name="L428"></a><tt class="py-lineno"> 428</tt> <a class="py-toggle" href="#" id="MediaFileUpload.to_json-toggle" onclick="return toggle('MediaFileUpload.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaFileUpload-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaFileUpload.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaFileUpload.to_json-expanded"><a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">    <tt class="py-docstring">"""Creating a JSON representation of an instance of MediaFileUpload.</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line"><tt class="py-docstring">       string, a JSON representation of this instance, suitable to pass to</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line"><tt class="py-docstring">       from_json().</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="googleapiclient.http.MediaUpload._to_json" class="py-name" href="#" onclick="return doclink('link-40', '_to_json', 'link-17');">_to_json</a></tt><tt class="py-op">(</tt><tt class="py-name">strip</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'_fd'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line"> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="MediaFileUpload.from_json"></a><div id="MediaFileUpload.from_json-def"><a name="L438"></a><tt class="py-lineno"> 438</tt> <a class="py-toggle" href="#" id="MediaFileUpload.from_json-toggle" onclick="return toggle('MediaFileUpload.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaFileUpload-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaFileUpload.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaFileUpload.from_json-expanded"><a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-41" class="py-name"><a title="googleapiclient.http.MediaFileUpload" class="py-name" href="#" onclick="return doclink('link-41', 'MediaFileUpload', 'link-33');">MediaFileUpload</a></tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_filename'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-42" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-42', 'mimetype', 'link-23');">mimetype</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_mimetype'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">                           <tt id="link-43" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-43', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_chunksize'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-44" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-44', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line"> </tt>
+<a name="MediaInMemoryUpload"></a><div id="MediaInMemoryUpload-def"><a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line"> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt> <a class="py-toggle" href="#" id="MediaInMemoryUpload-toggle" onclick="return toggle('MediaInMemoryUpload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.MediaInMemoryUpload-class.html">MediaInMemoryUpload</a><tt class="py-op">(</tt><tt class="py-base-class">MediaIoBaseUpload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaInMemoryUpload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaInMemoryUpload-expanded"><a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">  <tt class="py-docstring">"""MediaUpload for a chunk of bytes.</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"><tt class="py-docstring">  DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line"><tt class="py-docstring">  the stream.</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="MediaInMemoryUpload.__init__"></a><div id="MediaInMemoryUpload.__init__-def"><a name="L452"></a><tt class="py-lineno"> 452</tt> <a class="py-toggle" href="#" id="MediaInMemoryUpload.__init__-toggle" onclick="return toggle('MediaInMemoryUpload.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaInMemoryUpload-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">,</tt> <tt class="py-param">mimetype</tt><tt class="py-op">=</tt><tt class="py-string">'application/octet-stream'</tt><tt class="py-op">,</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">               <tt class="py-param">chunksize</tt><tt class="py-op">=</tt><tt id="link-45" class="py-name"><a title="googleapiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-45', 'DEFAULT_CHUNK_SIZE', 'link-15');">DEFAULT_CHUNK_SIZE</a></tt><tt class="py-op">,</tt> <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaInMemoryUpload.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaInMemoryUpload.__init__-expanded"><a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new MediaInMemoryUpload.</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line"><tt class="py-docstring">  DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line"><tt class="py-docstring">  the stream.</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line"><tt class="py-docstring">    body: string, Bytes of body content.</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line"><tt class="py-docstring">    mimetype: string, Mime-type of the file or default of</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line"><tt class="py-docstring">      'application/octet-stream'.</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line"><tt class="py-docstring">    chunksize: int, File will be uploaded in chunks of this many bytes. Only</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line"><tt class="py-docstring">      used if resumable=True.</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line"><tt class="py-docstring">    resumable: bool, True if this is a resumable upload. False means upload</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line"><tt class="py-docstring">      in a single request.</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">    <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-46" class="py-name" targets="Method googleapiclient.channel.Channel.body()=googleapiclient.channel.Channel-class.html#body"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-46', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-47" class="py-name" targets="Class googleapiclient.http.MediaInMemoryUpload=googleapiclient.http.MediaInMemoryUpload-class.html"><a title="googleapiclient.http.MediaInMemoryUpload" class="py-name" href="#" onclick="return doclink('link-47', 'MediaInMemoryUpload', 'link-47');">MediaInMemoryUpload</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="googleapiclient.channel.Channel.__init__
+googleapiclient.channel.Notification.__init__
+googleapiclient.discovery.Resource.__init__
+googleapiclient.discovery.ResourceMethodParameters.__init__
+googleapiclient.errors.BatchError.__init__
+googleapiclient.errors.HttpError.__init__
+googleapiclient.errors.UnexpectedBodyError.__init__
+googleapiclient.errors.UnexpectedMethodError.__init__
+googleapiclient.http.BatchHttpRequest.__init__
+googleapiclient.http.HttpMock.__init__
+googleapiclient.http.HttpMockSequence.__init__
+googleapiclient.http.HttpRequest.__init__
+googleapiclient.http.HttpRequestMock.__init__
+googleapiclient.http.MediaDownloadProgress.__init__
+googleapiclient.http.MediaFileUpload.__init__
+googleapiclient.http.MediaInMemoryUpload.__init__
+googleapiclient.http.MediaIoBaseDownload.__init__
+googleapiclient.http.MediaIoBaseUpload.__init__
+googleapiclient.http.MediaUploadProgress.__init__
+googleapiclient.http.RequestMockBuilder.__init__
+googleapiclient.http._StreamSlice.__init__
+googleapiclient.model.JsonModel.__init__
+googleapiclient.model.ProtocolBufferModel.__init__
+googleapiclient.schema.Schemas.__init__
+googleapiclient.schema._SchemaToStruct.__init__" class="py-name" href="#" onclick="return doclink('link-48', '__init__', 'link-22');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">,</tt> <tt id="link-49" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-49', 'mimetype', 'link-23');">mimetype</a></tt><tt class="py-op">,</tt> <tt id="link-50" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-50', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">=</tt><tt id="link-51" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-51', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">                                              <tt id="link-52" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-52', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">=</tt><tt id="link-53" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-53', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line"> </tt>
+<a name="MediaIoBaseDownload"></a><div id="MediaIoBaseDownload-def"><a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line"> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt> <a class="py-toggle" href="#" id="MediaIoBaseDownload-toggle" onclick="return toggle('MediaIoBaseDownload');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseDownload-class.html">MediaIoBaseDownload</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseDownload-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="MediaIoBaseDownload-expanded"><a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">  <tt class="py-docstring">""""Download media resources.</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line"><tt class="py-docstring">  Note that the Python file object is compatible with io.Base and can be used</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line"><tt class="py-docstring">  with this class also.</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line"><tt class="py-docstring">    request = farms.animals().get_media(id='cow')</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line"><tt class="py-docstring">    fh = io.FileIO('cow.png', mode='wb')</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line"><tt class="py-docstring">    downloader = MediaIoBaseDownload(fh, request, chunksize=1024*1024)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line"><tt class="py-docstring">    done = False</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line"><tt class="py-docstring">    while done is False:</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line"><tt class="py-docstring">      status, done = downloader.next_chunk()</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line"><tt class="py-docstring">      if status:</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line"><tt class="py-docstring">        print "Download %d%%." % int(status.progress() * 100)</tt> </tt>
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line"><tt class="py-docstring">    print "Download Complete!"</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line"> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="MediaIoBaseDownload.__init__"></a><div id="MediaIoBaseDownload.__init__-def"><a name="L494"></a><tt class="py-lineno"> 494</tt> <a class="py-toggle" href="#" id="MediaIoBaseDownload.__init__-toggle" onclick="return toggle('MediaIoBaseDownload.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseDownload-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fd</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">=</tt><tt id="link-54" class="py-name"><a title="googleapiclient.http.DEFAULT_CHUNK_SIZE" class="py-name" href="#" onclick="return doclink('link-54', 'DEFAULT_CHUNK_SIZE', 'link-15');">DEFAULT_CHUNK_SIZE</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseDownload.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseDownload.__init__-expanded"><a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line"><tt class="py-docstring">      fd: io.Base or file object, The stream in which to write the downloaded</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line"><tt class="py-docstring">        bytes.</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line"><tt class="py-docstring">      request: googleapiclient.http.HttpRequest, the media request to perform in</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line"><tt class="py-docstring">        chunks.</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, File will be downloaded in chunks of this many bytes.</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name" targets="Method googleapiclient.http.HttpMock.request()=googleapiclient.http.HttpMock-class.html#request,Method googleapiclient.http.HttpMockSequence.request()=googleapiclient.http.HttpMockSequence-class.html#request,Method googleapiclient.model.BaseModel.request()=googleapiclient.model.BaseModel-class.html#request,Method googleapiclient.model.Model.request()=googleapiclient.model.Model-class.html#request"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-55', 'request', 'link-55');">request</a></tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-56', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-57', 'chunksize', 'link-24');">chunksize</a></tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line"> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">    <tt class="py-comment"># Stubs for testing.</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt> </tt>
+</div><a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line"> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="MediaIoBaseDownload.next_chunk"></a><div id="MediaIoBaseDownload.next_chunk-def"><a name="L517"></a><tt class="py-lineno"> 517</tt> <a class="py-toggle" href="#" id="MediaIoBaseDownload.next_chunk-toggle" onclick="return toggle('MediaIoBaseDownload.next_chunk');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk">next_chunk</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaIoBaseDownload.next_chunk-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="MediaIoBaseDownload.next_chunk-expanded"><a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get the next chunk of the download.</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line"><tt class="py-docstring">      (status, done): (MediaDownloadStatus, boolean)</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line"><tt class="py-docstring">         The value of 'done' will be True when the media has been fully</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line"><tt class="py-docstring">         downloaded.</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">        <tt class="py-string">'range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes=%d-%d'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt><tt class="py-op">)</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">    <tt id="link-58" class="py-name" targets="Module googleapiclient.http=googleapiclient.http-module.html"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-58', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_request</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-59', 'http', 'link-58');">http</a></tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line"> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">            <tt class="py-string">'Retry #%d for media download: GET %s, following status: %d'</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line"> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-60', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-61', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line"> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-number">206</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'content-location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt> <tt class="py-keyword">and</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-location'</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">:</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-location'</tt><tt class="py-op">]</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">+=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_fd</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line"> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'content-range'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">        <tt class="py-name">content_range</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-range'</tt><tt class="py-op">]</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">        <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">content_range</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line"> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt><tt class="py-op">:</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-62" class="py-name" targets="Class googleapiclient.http.MediaDownloadProgress=googleapiclient.http.MediaDownloadProgress-class.html"><a title="googleapiclient.http.MediaDownloadProgress" class="py-name" href="#" onclick="return doclink('link-62', 'MediaDownloadProgress', 'link-62');">MediaDownloadProgress</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_total_size</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_done</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-63" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-63', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_uri</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line"> </tt>
+<a name="_StreamSlice"></a><div id="_StreamSlice-def"><a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line"> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt> <a class="py-toggle" href="#" id="_StreamSlice-toggle" onclick="return toggle('_StreamSlice');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html">_StreamSlice</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_StreamSlice-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_StreamSlice-expanded"><a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">  <tt class="py-docstring">"""Truncated stream.</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line"><tt class="py-docstring">  Takes a stream and presents a stream that is a slice of the original stream.</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"><tt class="py-docstring">  This is used when uploading media in chunks. In later versions of Python a</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line"><tt class="py-docstring">  stream can be passed to httplib in place of the string of data to send. The</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line"><tt class="py-docstring">  problem is that httplib just blindly reads to the end of the stream. This</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line"><tt class="py-docstring">  wrapper presents a virtual stream that only reads to the end of the chunk.</tt> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line"> </tt>
+<a name="_StreamSlice.__init__"></a><div id="_StreamSlice.__init__-def"><a name="L580"></a><tt class="py-lineno"> 580</tt> <a class="py-toggle" href="#" id="_StreamSlice.__init__-toggle" onclick="return toggle('_StreamSlice.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">begin</tt><tt class="py-op">,</tt> <tt class="py-param">chunksize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_StreamSlice.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="_StreamSlice.__init__-expanded"><a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line"><tt class="py-docstring">      stream: (io.Base, file object), the stream to wrap.</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line"><tt class="py-docstring">      begin: int, the seek position the chunk begins at.</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line"><tt class="py-docstring">      chunksize: int, the size of the chunk.</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.stream()=googleapiclient.http.MediaIoBaseUpload-class.html#stream,Method googleapiclient.http.MediaUpload.stream()=googleapiclient.http.MediaUpload-class.html#stream"><a title="googleapiclient.http.MediaIoBaseUpload.stream
+googleapiclient.http.MediaUpload.stream" class="py-name" href="#" onclick="return doclink('link-64', 'stream', 'link-64');">stream</a></tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_begin</tt> <tt class="py-op">=</tt> <tt class="py-name">begin</tt> </tt>
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-65', 'chunksize', 'link-24');">chunksize</a></tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">begin</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line"> </tt>
+<a name="_StreamSlice.read"></a><div id="_StreamSlice.read-def"><a name="L593"></a><tt class="py-lineno"> 593</tt> <a class="py-toggle" href="#" id="_StreamSlice.read-toggle" onclick="return toggle('_StreamSlice.read');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http._StreamSlice-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">n</tt><tt class="py-op">=</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_StreamSlice.read-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="_StreamSlice.read-expanded"><a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">    <tt class="py-docstring">"""Read n bytes.</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line"><tt class="py-docstring">      n, int, the number of bytes to read.</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line"><tt class="py-docstring">      A string of length 'n', or less if EOF is reached.</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">    <tt class="py-comment"># The data left available to read sits in [cur, end)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">    <tt class="py-name">cur</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_begin</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_chunksize</tt> </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt class="py-name">cur</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">end</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">      <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">cur</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_stream</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-66', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequest"></a><div id="HttpRequest-def"><a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line"> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt> <a class="py-toggle" href="#" id="HttpRequest-toggle" onclick="return toggle('HttpRequest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpRequest-expanded"><a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">  <tt class="py-docstring">"""Encapsulates a single HTTP request."""</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line"> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpRequest.__init__"></a><div id="HttpRequest.__init__-def"><a name="L614"></a><tt class="py-lineno"> 614</tt> <a class="py-toggle" href="#" id="HttpRequest.__init__-toggle" onclick="return toggle('HttpRequest.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">               <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">               <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">               <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">               <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">               <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.__init__-expanded"><a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for an HttpRequest.</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, the transport object to use to make a request</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line"><tt class="py-docstring">      postproc: callable, called on the HTTP response and content to transform</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line"><tt class="py-docstring">                it into a data object before returning, or raising an exception</tt> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line"><tt class="py-docstring">                on an error.</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line"><tt class="py-docstring">      uri: string, the absolute URI to send the request to</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line"><tt class="py-docstring">      method: string, the HTTP method to use</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the request body of the HTTP request,</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, the HTTP request headers</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line"><tt class="py-docstring">      methodId: string, a unique identifier for the API method being called.</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"><tt class="py-docstring">      resumable: MediaUpload, None if this is not a resumbale request.</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-67', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-68', 'body', 'link-46');">body</a></tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">or</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">methodId</tt> <tt class="py-op">=</tt> <tt class="py-name">methodId</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-69', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-70" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-70', 'http', 'link-58');">http</a></tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt> <tt class="py-op">=</tt> <tt class="py-name">postproc</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-71', 'resumable', 'link-28');">resumable</a></tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-72', 'resumable', 'link-28');">resumable</a></tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line"> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">    <tt class="py-comment"># Pull the multipart boundary out of the content-type header.</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">    <tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt id="link-73" class="py-name"><a title="googleapiclient.mimeparse" class="py-name" href="#" onclick="return doclink('link-73', 'mimeparse', 'link-0');">mimeparse</a></tt><tt class="py-op">.</tt><tt id="link-74" class="py-name" targets="Function googleapiclient.mimeparse.parse_mime_type()=googleapiclient.mimeparse-module.html#parse_mime_type"><a title="googleapiclient.mimeparse.parse_mime_type" class="py-name" href="#" onclick="return doclink('link-74', 'parse_mime_type', 'link-74');">parse_mime_type</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">        <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-75', 'get', 'link-75');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'content-type'</tt><tt class="py-op">,</tt> <tt class="py-string">'application/json'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line"> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">    <tt class="py-comment"># The size of the non-media part of the request.</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-76', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line"> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">    <tt class="py-comment"># The resumable URI to send chunks to.</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line"> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">    <tt class="py-comment"># The bytes that have been uploaded.</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">    <tt class="py-comment"># Stubs for testing.</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt> <tt class="py-op">=</tt> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">random</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt> </tt>
+</div><a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line"> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpRequest.execute"></a><div id="HttpRequest.execute-def"><a name="L663"></a><tt class="py-lineno"> 663</tt> <a class="py-toggle" href="#" id="HttpRequest.execute-toggle" onclick="return toggle('HttpRequest.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.execute-expanded"><a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the request.</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line"><tt class="py-docstring">            one the HttpRequest request object was constructed with.</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line"><tt class="py-docstring">      A deserialized object model of the response body as determined</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line"><tt class="py-docstring">      by the postproc.</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-77" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-77', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">      <tt id="link-78" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-78', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-79', 'http', 'link-58');">http</a></tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line"> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-80', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">      <tt id="link-81" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-81', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">      <tt class="py-keyword">while</tt> <tt id="link-82" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-82', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt id="link-83" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-83', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method googleapiclient.http.HttpRequest.next_chunk()=googleapiclient.http.HttpRequest-class.html#next_chunk,Method googleapiclient.http.MediaIoBaseDownload.next_chunk()=googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk"><a title="googleapiclient.http.HttpRequest.next_chunk
+googleapiclient.http.MediaIoBaseDownload.next_chunk" class="py-name" href="#" onclick="return doclink('link-84', 'next_chunk', 'link-84');">next_chunk</a></tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-85', 'http', 'link-58');">http</a></tt><tt class="py-op">=</tt><tt id="link-86" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-86', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">num_retries</tt><tt class="py-op">=</tt><tt class="py-name">num_retries</tt><tt class="py-op">)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-87" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-87', 'body', 'link-46');">body</a></tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line"> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">    <tt class="py-comment"># Non-resumable case.</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line"> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'content-length'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">    <tt class="py-comment"># If the request URI is too long then turn it into a POST request.</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt id="link-88" class="py-name"><a title="googleapiclient.http.MAX_URI_LENGTH" class="py-name" href="#" onclick="return doclink('link-88', 'MAX_URI_LENGTH', 'link-16');">MAX_URI_LENGTH</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'GET'</tt><tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'x-http-method-override'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'GET'</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-www-form-urlencoded'</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">      <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">          <tt class="py-op">(</tt><tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">           <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">          <tt class="py-op">)</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-89', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">query</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-90', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line"> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">    <tt class="py-comment"># Handle retries for server-side errors.</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">'Retry #%d for request: %s %s, following status: %d'</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                        <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line"> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-91" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-91', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-92', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                                   <tt id="link-93" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-93', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-94', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line"> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt><tt class="py-op">:</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">      <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-95" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-95', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line"> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpRequest.add_response_callback"></a><div id="HttpRequest.add_response_callback-def"><a name="L727"></a><tt class="py-lineno"> 727</tt> <a class="py-toggle" href="#" id="HttpRequest.add_response_callback-toggle" onclick="return toggle('HttpRequest.add_response_callback');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#add_response_callback">add_response_callback</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cb</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.add_response_callback-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.add_response_callback-expanded"><a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">    <tt class="py-docstring">"""add_response_headers_callback</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line"><tt class="py-docstring">      cb: Callback to be called on receiving the response headers, of signature:</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line"><tt class="py-docstring">      def cb(resp):</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line"><tt class="py-docstring">        # Where resp is an instance of httplib2.Response</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_callbacks</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">cb</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line"> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="HttpRequest.next_chunk"></a><div id="HttpRequest.next_chunk-def"><a name="L739"></a><tt class="py-lineno"> 739</tt> <a class="py-toggle" href="#" id="HttpRequest.next_chunk-toggle" onclick="return toggle('HttpRequest.next_chunk');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#next_chunk">next_chunk</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">num_retries</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.next_chunk-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.next_chunk-expanded"><a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the next step of a resumable upload.</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line"><tt class="py-docstring">    Can only be used if the method being executed supports media uploads and</tt> </tt>
+<a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line"><tt class="py-docstring">    the MediaUpload object passed in was flagged as using resumable upload.</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line"><tt class="py-docstring">      media = MediaFileUpload('cow.png', mimetype='image/png',</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line"><tt class="py-docstring">                              chunksize=1000, resumable=True)</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line"><tt class="py-docstring">      request = farm.animals().insert(</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line"><tt class="py-docstring">          id='cow',</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line"><tt class="py-docstring">          name='cow.png',</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line"><tt class="py-docstring">          media_body=media)</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line"><tt class="py-docstring">      response = None</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line"><tt class="py-docstring">      while response is None:</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line"><tt class="py-docstring">        status, response = request.next_chunk()</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line"><tt class="py-docstring">        if status:</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line"><tt class="py-docstring">          print "Upload %d%% complete." % int(status.progress() * 100)</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line"><tt class="py-docstring">            one the HttpRequest request object was constructed with.</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line"><tt class="py-docstring">      num_retries: Integer, number of times to retry 500's with randomized</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line"><tt class="py-docstring">            exponential backoff. If all retries fail, the raised HttpError</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line"><tt class="py-docstring">            represents the last request. If zero (default), we attempt the</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line"><tt class="py-docstring">            request only once.</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line"><tt class="py-docstring">      (status, body): (ResumableMediaStatus, object)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"><tt class="py-docstring">         The body will be None until the resumable media is fully uploaded.</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx.</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-96" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-96', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">      <tt id="link-97" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-97', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-98', 'http', 'link-58');">http</a></tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line"> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-99', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.size()=googleapiclient.http.MediaIoBaseUpload-class.html#size,Method googleapiclient.http.MediaUpload.size()=googleapiclient.http.MediaUpload-class.html#size"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-100', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">      <tt id="link-101" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-101', 'size', 'link-100');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*'</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">      <tt id="link-102" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-102', 'size', 'link-100');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-103', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-104', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'X-Upload-Content-Type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-105', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.mimetype
+googleapiclient.http.MediaUpload.mimetype" class="py-name" href="#" onclick="return doclink('link-106', 'mimetype', 'link-23');">mimetype</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-107" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-107', 'size', 'link-100');">size</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">'*'</tt><tt class="py-op">:</tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">        <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'X-Upload-Content-Length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-108', 'size', 'link-100');">size</a></tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">      <tt class="py-name">start_headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">body_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line"> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">          <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">              <tt class="py-string">'Retry #%d for resumable URI request: %s %s, following status: %d'</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">              <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line"> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">        <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-109', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-110', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">                                     <tt id="link-111" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-111', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-112', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">                                     <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">start_headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">          <tt class="py-keyword">break</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line"> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">200</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'location'</tt><tt class="py-op">]</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-113" class="py-name"><a title="googleapiclient.errors.ResumableUploadError" class="py-name" href="#" onclick="return doclink('link-113', 'ResumableUploadError', 'link-8');">ResumableUploadError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt><tt class="py-op">:</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line">      <tt class="py-comment"># If we are in an error state then query the server for current state of</tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">      <tt class="py-comment"># the upload by sending an empty PUT and reading the 'range' header in</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">      <tt class="py-comment"># the response.</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">          <tt class="py-string">'Content-Range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes */%s'</tt> <tt class="py-op">%</tt> <tt id="link-114" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-114', 'size', 'link-100');">size</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">          <tt class="py-string">'content-length'</tt><tt class="py-op">:</tt> <tt class="py-string">'0'</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">          <tt class="py-op">}</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-115" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-115', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-116', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt><tt class="py-op">,</tt> <tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">                                   <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">      <tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-117" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-117', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name" targets="Method googleapiclient.http.HttpRequest._process_response()=googleapiclient.http.HttpRequest-class.html#_process_response"><a title="googleapiclient.http.HttpRequest._process_response" class="py-name" href="#" onclick="return doclink('link-118', '_process_response', 'link-118');">_process_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt id="link-119" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-119', 'body', 'link-46');">body</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">        <tt class="py-comment"># The upload was complete.</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-120" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-120', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line"> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">    <tt class="py-comment"># The httplib.request method can take streams for the body parameter, but</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">    <tt class="py-comment"># only in Python 2.6 or later. If a stream is available under those</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">    <tt class="py-comment"># conditions then use it as the body argument.</tt> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-121', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-122" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.has_stream()=googleapiclient.http.MediaIoBaseUpload-class.html#has_stream,Method googleapiclient.http.MediaUpload.has_stream()=googleapiclient.http.MediaUpload-class.html#has_stream"><a title="googleapiclient.http.MediaIoBaseUpload.has_stream
+googleapiclient.http.MediaUpload.has_stream" class="py-name" href="#" onclick="return doclink('link-122', 'has_stream', 'link-122');">has_stream</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">6</tt><tt class="py-op">:</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-123', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.stream
+googleapiclient.http.MediaUpload.stream" class="py-name" href="#" onclick="return doclink('link-124', 'stream', 'link-64');">stream</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-125', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-126', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">        <tt class="py-name">data</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">)</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">        <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-127', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-128', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">        <tt class="py-comment"># Doing chunking with a stream, so wrap a slice of the stream.</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">        <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt id="link-129" class="py-name" targets="Class googleapiclient.http._StreamSlice=googleapiclient.http._StreamSlice-class.html"><a title="googleapiclient.http._StreamSlice" class="py-name" href="#" onclick="return doclink('link-129', '_StreamSlice', 'link-129');">_StreamSlice</a></tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-130', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-131', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">        <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">min</tt><tt class="py-op">(</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-132', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-133', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-134', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-135', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">      <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-136', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-137" class="py-name" targets="Method googleapiclient.http.MediaIoBaseUpload.getbytes()=googleapiclient.http.MediaIoBaseUpload-class.html#getbytes,Method googleapiclient.http.MediaUpload.getbytes()=googleapiclient.http.MediaUpload-class.html#getbytes"><a title="googleapiclient.http.MediaIoBaseUpload.getbytes
+googleapiclient.http.MediaUpload.getbytes" class="py-name" href="#" onclick="return doclink('link-137', 'getbytes', 'link-137');">getbytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-138', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-139', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line"> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">      <tt class="py-comment"># A short read implies that we are at EOF, so finish the upload.</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-140', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.chunksize
+googleapiclient.http.MediaUpload.chunksize" class="py-name" href="#" onclick="return doclink('link-141', 'chunksize', 'link-24');">chunksize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">        <tt id="link-142" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-142', 'size', 'link-100');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line"> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">      <tt class="py-name">chunk_end</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line"> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">        <tt class="py-string">'Content-Range'</tt><tt class="py-op">:</tt> <tt class="py-string">'bytes %d-%d/%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">chunk_end</tt><tt class="py-op">,</tt> <tt id="link-143" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-143', 'size', 'link-100');">size</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">        <tt class="py-comment"># Must set the content-length header here because httplib can't</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">        <tt class="py-comment"># calculate the size when working with _StreamSlice.</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">        <tt class="py-string">'Content-Length'</tt><tt class="py-op">:</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">chunk_end</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">        <tt class="py-op">}</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line"> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">retry_num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">num_retries</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">retry_num</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_sleep</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_rand</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">**</tt><tt class="py-name">retry_num</tt><tt class="py-op">)</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">            <tt class="py-string">'Retry #%d for media upload: %s %s, following status: %d'</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">retry_num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line"> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">        <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-144" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-144', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-145', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">'PUT'</tt><tt class="py-op">,</tt> </tt>
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">                                     <tt id="link-146" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-146', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> </tt>
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">                                     <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">500</tt><tt class="py-op">:</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line"> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="googleapiclient.http.HttpRequest._process_response" class="py-name" href="#" onclick="return doclink('link-147', '_process_response', 'link-118');">_process_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequest._process_response"></a><div id="HttpRequest._process_response-def"><a name="L876"></a><tt class="py-lineno"> 876</tt> <a class="py-toggle" href="#" id="HttpRequest._process_response-toggle" onclick="return toggle('HttpRequest._process_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#_process_response">_process_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest._process_response-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest._process_response-expanded"><a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">    <tt class="py-docstring">"""Process the response from a single chunk upload.</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the response object.</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the content of the response.</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"><tt class="py-docstring">      (status, body): (ResumableMediaStatus, object)</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"><tt class="py-docstring">         The body will be None until the resumable media is fully uploaded.</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if the response was not a 2xx or a 308.</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-number">201</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">308</tt><tt class="py-op">:</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">      <tt class="py-comment"># A "308 Resume Incomplete" indicates we are not done.</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'range'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'location'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'location'</tt><tt class="py-op">]</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_in_error_state</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-148" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-148', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line"> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-149" class="py-name" targets="Class googleapiclient.http.MediaUploadProgress=googleapiclient.http.MediaUploadProgress-class.html"><a title="googleapiclient.http.MediaUploadProgress" class="py-name" href="#" onclick="return doclink('link-149', 'MediaUploadProgress', 'link-149');">MediaUploadProgress</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resumable_progress</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-150', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.size
+googleapiclient.http.MediaUpload.size" class="py-name" href="#" onclick="return doclink('link-151', 'size', 'link-100');">size</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequest.to_json"></a><div id="HttpRequest.to_json-def"><a name="L906"></a><tt class="py-lineno"> 906</tt> <a class="py-toggle" href="#" id="HttpRequest.to_json-toggle" onclick="return toggle('HttpRequest.to_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#to_json">to_json</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.to_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.to_json-expanded"><a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns a JSON representation of the HttpRequest."""</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">copy</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__dict__</tt><tt class="py-op">)</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-152', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">.</tt><tt id="link-153" class="py-name" targets="Method googleapiclient.http.HttpRequest.to_json()=googleapiclient.http.HttpRequest-class.html#to_json,Method googleapiclient.http.MediaFileUpload.to_json()=googleapiclient.http.MediaFileUpload-class.html#to_json,Method googleapiclient.http.MediaIoBaseUpload.to_json()=googleapiclient.http.MediaIoBaseUpload-class.html#to_json,Method googleapiclient.http.MediaUpload.to_json()=googleapiclient.http.MediaUpload-class.html#to_json"><a title="googleapiclient.http.HttpRequest.to_json
+googleapiclient.http.MediaFileUpload.to_json
+googleapiclient.http.MediaIoBaseUpload.to_json
+googleapiclient.http.MediaUpload.to_json" class="py-name" href="#" onclick="return doclink('link-153', 'to_json', 'link-153');">to_json</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'http'</tt><tt class="py-op">]</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'postproc'</tt><tt class="py-op">]</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_sleep'</tt><tt class="py-op">]</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">    <tt class="py-keyword">del</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'_rand'</tt><tt class="py-op">]</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line"> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line"> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="HttpRequest.from_json"></a><div id="HttpRequest.from_json-def"><a name="L919"></a><tt class="py-lineno"> 919</tt> <a class="py-toggle" href="#" id="HttpRequest.from_json-toggle" onclick="return toggle('HttpRequest.from_json');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequest-class.html#from_json">from_json</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequest.from_json-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequest.from_json-expanded"><a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">    <tt class="py-docstring">"""Returns an HttpRequest populated with info from a JSON object."""</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">    <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">      <tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-154" class="py-name" targets="Class googleapiclient.http.MediaUpload=googleapiclient.http.MediaUpload-class.html"><a title="googleapiclient.http.MediaUpload" class="py-name" href="#" onclick="return doclink('link-154', 'MediaUpload', 'link-154');">MediaUpload</a></tt><tt class="py-op">.</tt><tt id="link-155" class="py-name" targets="Class Method googleapiclient.http.MediaUpload.new_from_json()=googleapiclient.http.MediaUpload-class.html#new_from_json"><a title="googleapiclient.http.MediaUpload.new_from_json" class="py-name" href="#" onclick="return doclink('link-155', 'new_from_json', 'link-155');">new_from_json</a></tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-156" class="py-name" targets="Class googleapiclient.http.HttpRequest=googleapiclient.http.HttpRequest-class.html"><a title="googleapiclient.http.HttpRequest" class="py-name" href="#" onclick="return doclink('link-156', 'HttpRequest', 'link-156');">HttpRequest</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">        <tt id="link-157" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-157', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">        <tt class="py-name">postproc</tt><tt class="py-op">,</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">        <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'uri'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">        <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'method'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt id="link-158" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-158', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'body'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">        <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'headers'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">        <tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'methodId'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">        <tt id="link-159" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-159', 'resumable', 'link-28');">resumable</a></tt><tt class="py-op">=</tt><tt class="py-name">d</tt><tt class="py-op">[</tt><tt class="py-string">'resumable'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest"></a><div id="BatchHttpRequest-def"><a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line"> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt> <a class="py-toggle" href="#" id="BatchHttpRequest-toggle" onclick="return toggle('BatchHttpRequest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="BatchHttpRequest-expanded"><a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">  <tt class="py-docstring">"""Batches multiple HttpRequest objects into a single HTTP request.</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line"><tt class="py-docstring">    from googleapiclient.http import BatchHttpRequest</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"><tt class="py-docstring">    def list_animals(request_id, response, exception):</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"><tt class="py-docstring">      \"\"\"Do something with the animals list response.\"\"\"</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"><tt class="py-docstring">      if exception is not None:</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the exception.</tt> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line"><tt class="py-docstring">      else:</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the response.</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line"><tt class="py-docstring">    def list_farmers(request_id, response, exception):</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line"><tt class="py-docstring">      \"\"\"Do something with the farmers list response.\"\"\"</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line"><tt class="py-docstring">      if exception is not None:</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the exception.</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line"><tt class="py-docstring">      else:</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line"><tt class="py-docstring">        # Do something with the response.</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line"><tt class="py-docstring">        pass</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line"><tt class="py-docstring">    service = build('farm', 'v2')</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"><tt class="py-docstring">    batch = BatchHttpRequest()</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line"><tt class="py-docstring">    batch.add(service.animals().list(), list_animals)</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line"><tt class="py-docstring">    batch.add(service.farmers().list(), list_farmers)</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line"><tt class="py-docstring">    batch.execute(http=http)</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line"> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="BatchHttpRequest.__init__"></a><div id="BatchHttpRequest.__init__-def"><a name="L969"></a><tt class="py-lineno"> 969</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.__init__-toggle" onclick="return toggle('BatchHttpRequest.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">batch_uri</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.__init__-expanded"><a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for a BatchHttpRequest.</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line"><tt class="py-docstring">      callback: callable, A callback to be called for each response, of the</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"><tt class="py-docstring">        form callback(id, response, exception). The first parameter is the</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"><tt class="py-docstring">        request id, and the second is the deserialized response object. The</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line"><tt class="py-docstring">        third is an googleapiclient.errors.HttpError exception object if an HTTP error</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"><tt class="py-docstring">        occurred while processing the request, or None if no error occurred.</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"><tt class="py-docstring">      batch_uri: string, URI to send batch requests to.</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">batch_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">      <tt class="py-name">batch_uri</tt> <tt class="py-op">=</tt> <tt class="py-string">'https://www.googleapis.com/batch'</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt> <tt class="py-op">=</tt> <tt class="py-name">batch_uri</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line"> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">    <tt class="py-comment"># Global callback to be called for each individual response in the batch.</tt> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line"> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">    <tt class="py-comment"># A map from id to request.</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line"> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">    <tt class="py-comment"># A map from id to callback.</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line"> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">    <tt class="py-comment"># List of request ids, in the order in which they were added.</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line"> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">    <tt class="py-comment"># The last auto generated id.</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line"> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">    <tt class="py-comment"># Unique ID on which to base the Content-ID headers.</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line"> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">    <tt class="py-comment"># A map from request id to (httplib2.Response, content) response pairs</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line"> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">    <tt class="py-comment"># A map of id(Credentials) that have been refreshed.</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+</div><a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._refresh_and_apply_credentials"></a><div id="BatchHttpRequest._refresh_and_apply_credentials-def"><a name="L1008"></a><tt class="py-lineno">1008</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._refresh_and_apply_credentials-toggle" onclick="return toggle('BatchHttpRequest._refresh_and_apply_credentials');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials">_refresh_and_apply_credentials</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._refresh_and_apply_credentials-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._refresh_and_apply_credentials-expanded"><a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">    <tt class="py-docstring">"""Refresh the credentials and apply to the request.</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, the request.</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, the global http object for the batch.</tt> </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">    <tt class="py-comment"># For the credentials to refresh, but only once per refresh_token</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">    <tt class="py-comment"># If there is no http per the request then refresh the http passed in</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">    <tt class="py-comment"># via execute()</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">    <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-160" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-160', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-161', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-162" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-162', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-163', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-164', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">      <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-165', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-166', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-167', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">credentials</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt id="link-168" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-168', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-169" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-169', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-170', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">      <tt class="py-name">creds</tt> <tt class="py-op">=</tt> <tt id="link-171" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-171', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-172', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">credentials</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">creds</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">creds</tt><tt class="py-op">)</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt><tt class="py-op">:</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">        <tt class="py-name">creds</tt><tt class="py-op">.</tt><tt class="py-name">refresh</tt><tt class="py-op">(</tt><tt id="link-173" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-173', 'http', 'link-58');">http</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_refreshed_credentials</tt><tt class="py-op">[</tt><tt class="py-name">id</tt><tt class="py-op">(</tt><tt class="py-name">creds</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line"> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">    <tt class="py-comment"># Only apply the credentials if we are using the http object passed in,</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">    <tt class="py-comment"># otherwise apply() will get called during _serialize_request().</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-174" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-174', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-175', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-176" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-176', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-177', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-178', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">      <tt class="py-name">creds</tt><tt class="py-op">.</tt><tt class="py-name">apply</tt><tt class="py-op">(</tt><tt id="link-179" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-179', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._id_to_header"></a><div id="BatchHttpRequest._id_to_header-def"><a name="L1035"></a><tt class="py-lineno">1035</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._id_to_header-toggle" onclick="return toggle('BatchHttpRequest._id_to_header');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_id_to_header">_id_to_header</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">id_</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._id_to_header-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._id_to_header-expanded"><a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert an id to a Content-ID header value.</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line"><tt class="py-docstring">      id_: string, identifier of individual request.</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line"><tt class="py-docstring">      A Content-ID header with the id_ encoded into it. A UUID is prepended to</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line"><tt class="py-docstring">      the value because Content-ID headers are supposed to be universally</tt> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line"><tt class="py-docstring">      unique.</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt> <tt class="py-op">=</tt> <tt class="py-name">uuid</tt><tt class="py-op">.</tt><tt class="py-name">uuid4</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line"> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'&lt;%s+%s&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt><tt class="py-op">,</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._header_to_id"></a><div id="BatchHttpRequest._header_to_id-def"><a name="L1051"></a><tt class="py-lineno">1051</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._header_to_id-toggle" onclick="return toggle('BatchHttpRequest._header_to_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_header_to_id">_header_to_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">header</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._header_to_id-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._header_to_id-expanded"><a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert a Content-ID header value to an id.</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line"><tt class="py-docstring">    Presumes the Content-ID header conforms to the format that _id_to_header()</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line"><tt class="py-docstring">    returns.</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line"><tt class="py-docstring">      header: string, Content-ID header value.</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line"><tt class="py-docstring">      The extracted id value.</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"><tt class="py-docstring">      BatchError if the header is not in the expected format.</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'&lt;'</tt> <tt class="py-keyword">or</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">'&gt;'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-180" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-180', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Invalid value for Content-ID: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'+'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">header</tt><tt class="py-op">:</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-181" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-181', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Invalid value for Content-ID: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">header</tt><tt class="py-op">)</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">    <tt class="py-name">base</tt><tt class="py-op">,</tt> <tt class="py-name">id_</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</tt><tt class="py-op">(</tt><tt class="py-string">'+'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line"> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">unquote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._serialize_request"></a><div id="BatchHttpRequest._serialize_request-def"><a name="L1074"></a><tt class="py-lineno">1074</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._serialize_request-toggle" onclick="return toggle('BatchHttpRequest._serialize_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_serialize_request">_serialize_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._serialize_request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._serialize_request-expanded"><a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert an HttpRequest object into a string.</tt> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, the request to serialize.</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line"><tt class="py-docstring">      The request as a string in application/http format.</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">    <tt class="py-comment"># Construct status line</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">    <tt class="py-name">parsed</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt id="link-182" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-182', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line">    <tt class="py-name">request_line</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlunparse</tt><tt class="py-op">(</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">params</tt><tt class="py-op">,</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">        <tt class="py-op">)</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">    <tt class="py-name">status_line</tt> <tt class="py-op">=</tt> <tt id="link-183" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-183', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">request_line</tt> <tt class="py-op">+</tt> <tt class="py-string">' HTTP/1.1\n'</tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">    <tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt> <tt class="py-op">=</tt> <tt id="link-184" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-184', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-185', 'get', 'link-75');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'content-type'</tt><tt class="py-op">,</tt> <tt class="py-string">'application/json'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">    <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-name">major</tt><tt class="py-op">,</tt> <tt class="py-name">minor</tt><tt class="py-op">)</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt id="link-186" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-186', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line"> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-187" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-187', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-188', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-189" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-189', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-190', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-191', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">        <tt class="py-string">'credentials'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">      <tt id="link-192" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-192', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-193', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-194', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">apply</tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line"> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">    <tt class="py-comment"># MIMENonMultipart adds its own Content-Type header.</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'content-type'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">      <tt class="py-keyword">del</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line"> </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Host'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">parsed</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_unixfrom</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line"> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-195" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-195', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-196', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-197" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-197', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-198', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'content-length'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-199" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-199', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-200', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line"> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">    <tt class="py-comment"># Serialize the mime message.</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">    <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">    <tt class="py-comment"># maxheaderlen=0 means don't line wrap headers.</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">    <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt class="py-name">Generator</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt> <tt class="py-name">maxheaderlen</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">    <tt class="py-name">g</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">,</tt> <tt class="py-name">unixfrom</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">    <tt id="link-201" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-201', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">getvalue</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line"> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line">    <tt class="py-comment"># Strip off the \n\n that the MIME lib tacks onto the end of the payload.</tt> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-202" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-202', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-203', 'body', 'link-46');">body</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">      <tt id="link-204" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-204', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-205', 'body', 'link-46');">body</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line"> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">status_line</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-206" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-206', 'body', 'link-46');">body</a></tt> </tt>
+</div><a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._deserialize_response"></a><div id="BatchHttpRequest._deserialize_response-def"><a name="L1123"></a><tt class="py-lineno">1123</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._deserialize_response-toggle" onclick="return toggle('BatchHttpRequest._deserialize_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response">_deserialize_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">payload</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._deserialize_response-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._deserialize_response-expanded"><a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert string into httplib2 response and content.</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"><tt class="py-docstring">      payload: string, headers and body as a string.</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line"><tt class="py-docstring">      A pair (resp, content), such as would be returned from httplib2.request.</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">    <tt class="py-comment"># Strip off the status line</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">    <tt class="py-name">status_line</tt><tt class="py-op">,</tt> <tt class="py-name">payload</tt> <tt class="py-op">=</tt> <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">    <tt class="py-name">protocol</tt><tt class="py-op">,</tt> <tt class="py-name">status</tt><tt class="py-op">,</tt> <tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">status_line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line"> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">    <tt class="py-comment"># Parse the rest of the response</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">FeedParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">payload</tt><tt class="py-op">)</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">    <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">    <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">status</tt> </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line"> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">    <tt class="py-comment"># Create httplib2.Response from the parsed headers.</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">    <tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">reason</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">version</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">protocol</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line"> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">payload</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'\r\n\r\n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line"> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._new_id"></a><div id="BatchHttpRequest._new_id-def"><a name="L1151"></a><tt class="py-lineno">1151</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._new_id-toggle" onclick="return toggle('BatchHttpRequest._new_id');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_new_id">_new_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._new_id-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._new_id-expanded"><a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">    <tt class="py-docstring">"""Create a new id.</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line"><tt class="py-docstring">    Auto incrementing number that avoids conflicts with ids already used.</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line"><tt class="py-docstring">       string, a new unique id.</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">:</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_last_auto_id</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line"> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="BatchHttpRequest.add"></a><div id="BatchHttpRequest.add-def"><a name="L1165"></a><tt class="py-lineno">1165</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.add-toggle" onclick="return toggle('BatchHttpRequest.add');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#add">add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">request_id</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest.add-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.add-expanded"><a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add a new request.</tt> </tt>
+<a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line"><tt class="py-docstring">    Every callback added will be paired with a unique id, the request_id. That</tt> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line"><tt class="py-docstring">    unique id will be passed back to the callback when the response comes back</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line"><tt class="py-docstring">    from the server. The default behavior is to have the library generate it's</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line"><tt class="py-docstring">    own unique id. If the caller passes in a request_id then they must ensure</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line"><tt class="py-docstring">    uniqueness for each request_id, and if they are not an exception is</tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line"><tt class="py-docstring">    raised. Callers should either supply all request_ids or nevery supply a</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"><tt class="py-docstring">    request id, to avoid such an error.</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line"><tt class="py-docstring">      request: HttpRequest, Request to add to the batch.</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line"><tt class="py-docstring">      callback: callable, A callback to be called for this response, of the</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line"><tt class="py-docstring">        form callback(id, response, exception). The first parameter is the</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line"><tt class="py-docstring">        request id, and the second is the deserialized response object. The</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line"><tt class="py-docstring">        third is an googleapiclient.errors.HttpError exception object if an HTTP error</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line"><tt class="py-docstring">        occurred while processing the request, or None if no errors occurred.</tt> </tt>
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line"><tt class="py-docstring">      request_id: string, A unique id for the request. The id will be passed to</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line"><tt class="py-docstring">        the callback with the response.</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line"><tt class="py-docstring">      BatchError if a media request is added to a batch.</tt> </tt>
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line"><tt class="py-docstring">      KeyError is the request_id is not unique.</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">      <tt class="py-name">request_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._new_id()=googleapiclient.http.BatchHttpRequest-class.html#_new_id"><a title="googleapiclient.http.BatchHttpRequest._new_id" class="py-name" href="#" onclick="return doclink('link-207', '_new_id', 'link-207');">_new_id</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-208" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-208', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="googleapiclient.http.MediaIoBaseUpload.resumable
+googleapiclient.http.MediaUpload.resumable" class="py-name" href="#" onclick="return doclink('link-209', 'resumable', 'link-28');">resumable</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-210" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-210', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Media requests cannot be used in a batch request."</tt><tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">:</tt> </tt>
+<a name="L1198"></a><tt class="py-lineno">1198</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">KeyError</tt><tt class="py-op">(</tt><tt class="py-string">"A request with this ID already exists: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L1199"></a><tt class="py-lineno">1199</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-211" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-211', 'request', 'link-55');">request</a></tt> </tt>
+<a name="L1200"></a><tt class="py-lineno">1200</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">callback</tt> </tt>
+<a name="L1201"></a><tt class="py-lineno">1201</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1202"></a><tt class="py-lineno">1202</tt>  <tt class="py-line"> </tt>
+<a name="BatchHttpRequest._execute"></a><div id="BatchHttpRequest._execute-def"><a name="L1203"></a><tt class="py-lineno">1203</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._execute-toggle" onclick="return toggle('BatchHttpRequest._execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_execute">_execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">order</tt><tt class="py-op">,</tt> <tt class="py-param">requests</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest._execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest._execute-expanded"><a name="L1204"></a><tt class="py-lineno">1204</tt>  <tt class="py-line">    <tt class="py-docstring">"""Serialize batch request, send to server, process response.</tt> </tt>
+<a name="L1205"></a><tt class="py-lineno">1205</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1206"></a><tt class="py-lineno">1206</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1207"></a><tt class="py-lineno">1207</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used to make the request with.</tt> </tt>
+<a name="L1208"></a><tt class="py-lineno">1208</tt>  <tt class="py-line"><tt class="py-docstring">      order: list, list of request ids in the order they were added to the</tt> </tt>
+<a name="L1209"></a><tt class="py-lineno">1209</tt>  <tt class="py-line"><tt class="py-docstring">        batch.</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line"><tt class="py-docstring">      request: list, list of request objects to send.</tt> </tt>
+<a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L1213"></a><tt class="py-lineno">1213</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L1214"></a><tt class="py-lineno">1214</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.BatchError if the response is the wrong format.</tt> </tt>
+<a name="L1215"></a><tt class="py-lineno">1215</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1216"></a><tt class="py-lineno">1216</tt>  <tt class="py-line">    <tt class="py-name">message</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMEMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'mixed'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1217"></a><tt class="py-lineno">1217</tt>  <tt class="py-line">    <tt class="py-comment"># Message should not write out it's own headers.</tt> </tt>
+<a name="L1218"></a><tt class="py-lineno">1218</tt>  <tt class="py-line">    <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">message</tt><tt class="py-op">,</tt> <tt class="py-string">'_write_headers'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1219"></a><tt class="py-lineno">1219</tt>  <tt class="py-line"> </tt>
+<a name="L1220"></a><tt class="py-lineno">1220</tt>  <tt class="py-line">    <tt class="py-comment"># Add all the individual requests.</tt> </tt>
+<a name="L1221"></a><tt class="py-lineno">1221</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">order</tt><tt class="py-op">:</tt> </tt>
+<a name="L1222"></a><tt class="py-lineno">1222</tt>  <tt class="py-line">      <tt id="link-212" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-212', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1223"></a><tt class="py-lineno">1223</tt>  <tt class="py-line"> </tt>
+<a name="L1224"></a><tt class="py-lineno">1224</tt>  <tt class="py-line">      <tt class="py-name">msg</tt> <tt class="py-op">=</tt> <tt class="py-name">MIMENonMultipart</tt><tt class="py-op">(</tt><tt class="py-string">'application'</tt><tt class="py-op">,</tt> <tt class="py-string">'http'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1225"></a><tt class="py-lineno">1225</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-Transfer-Encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'binary'</tt> </tt>
+<a name="L1226"></a><tt class="py-lineno">1226</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">[</tt><tt class="py-string">'Content-ID'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._id_to_header()=googleapiclient.http.BatchHttpRequest-class.html#_id_to_header"><a title="googleapiclient.http.BatchHttpRequest._id_to_header" class="py-name" href="#" onclick="return doclink('link-213', '_id_to_header', 'link-213');">_id_to_header</a></tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L1227"></a><tt class="py-lineno">1227</tt>  <tt class="py-line"> </tt>
+<a name="L1228"></a><tt class="py-lineno">1228</tt>  <tt class="py-line">      <tt id="link-214" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-214', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._serialize_request()=googleapiclient.http.BatchHttpRequest-class.html#_serialize_request"><a title="googleapiclient.http.BatchHttpRequest._serialize_request" class="py-name" href="#" onclick="return doclink('link-215', '_serialize_request', 'link-215');">_serialize_request</a></tt><tt class="py-op">(</tt><tt id="link-216" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-216', 'request', 'link-55');">request</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1229"></a><tt class="py-lineno">1229</tt>  <tt class="py-line">      <tt class="py-name">msg</tt><tt class="py-op">.</tt><tt class="py-name">set_payload</tt><tt class="py-op">(</tt><tt id="link-217" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-217', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line">      <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">attach</tt><tt class="py-op">(</tt><tt class="py-name">msg</tt><tt class="py-op">)</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line"> </tt>
+<a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">    <tt id="link-218" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-218', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">as_string</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line"> </tt>
+<a name="L1234"></a><tt class="py-lineno">1234</tt>  <tt class="py-line">    <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1235"></a><tt class="py-lineno">1235</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-string">'multipart/mixed; '</tt> </tt>
+<a name="L1236"></a><tt class="py-lineno">1236</tt>  <tt class="py-line">                               <tt class="py-string">'boundary="%s"'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">message</tt><tt class="py-op">.</tt><tt class="py-name">get_boundary</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1237"></a><tt class="py-lineno">1237</tt>  <tt class="py-line"> </tt>
+<a name="L1238"></a><tt class="py-lineno">1238</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-219" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-219', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-220', 'request', 'link-55');">request</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">=</tt><tt class="py-string">'POST'</tt><tt class="py-op">,</tt> <tt id="link-221" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-221', 'body', 'link-46');">body</a></tt><tt class="py-op">=</tt><tt id="link-222" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-222', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1239"></a><tt class="py-lineno">1239</tt>  <tt class="py-line">                                 <tt class="py-name">headers</tt><tt class="py-op">=</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L1240"></a><tt class="py-lineno">1240</tt>  <tt class="py-line"> </tt>
+<a name="L1241"></a><tt class="py-lineno">1241</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
+<a name="L1242"></a><tt class="py-lineno">1242</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-223" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-223', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_batch_uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L1243"></a><tt class="py-lineno">1243</tt>  <tt class="py-line"> </tt>
+<a name="L1244"></a><tt class="py-lineno">1244</tt>  <tt class="py-line">    <tt class="py-comment"># Now break out the individual responses and store each one.</tt> </tt>
+<a name="L1245"></a><tt class="py-lineno">1245</tt>  <tt class="py-line">    <tt class="py-name">boundary</tt><tt class="py-op">,</tt> <tt class="py-name">_</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L1246"></a><tt class="py-lineno">1246</tt>  <tt class="py-line"> </tt>
+<a name="L1247"></a><tt class="py-lineno">1247</tt>  <tt class="py-line">    <tt class="py-comment"># Prepend with a content-type header so FeedParser can handle it.</tt> </tt>
+<a name="L1248"></a><tt class="py-lineno">1248</tt>  <tt class="py-line">    <tt class="py-name">header</tt> <tt class="py-op">=</tt> <tt class="py-string">'content-type: %s\r\n\r\n'</tt> <tt class="py-op">%</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line">    <tt class="py-name">for_parser</tt> <tt class="py-op">=</tt> <tt class="py-name">header</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt> </tt>
+<a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line"> </tt>
+<a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">    <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">FeedParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">    <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">feed</tt><tt class="py-op">(</tt><tt class="py-name">for_parser</tt><tt class="py-op">)</tt> </tt>
+<a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">    <tt class="py-name">mime_response</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line"> </tt>
+<a name="L1255"></a><tt class="py-lineno">1255</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">mime_response</tt><tt class="py-op">.</tt><tt class="py-name">is_multipart</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1256"></a><tt class="py-lineno">1256</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-224" class="py-name"><a title="googleapiclient.errors.BatchError" class="py-name" href="#" onclick="return doclink('link-224', 'BatchError', 'link-2');">BatchError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Response not in multipart/mixed format."</tt><tt class="py-op">,</tt> <tt class="py-name">resp</tt><tt class="py-op">=</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> </tt>
+<a name="L1257"></a><tt class="py-lineno">1257</tt>  <tt class="py-line">                       <tt class="py-name">content</tt><tt class="py-op">=</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L1258"></a><tt class="py-lineno">1258</tt>  <tt class="py-line"> </tt>
+<a name="L1259"></a><tt class="py-lineno">1259</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">part</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mime_response</tt><tt class="py-op">.</tt><tt class="py-name">get_payload</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1260"></a><tt class="py-lineno">1260</tt>  <tt class="py-line">      <tt class="py-name">request_id</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._header_to_id()=googleapiclient.http.BatchHttpRequest-class.html#_header_to_id"><a title="googleapiclient.http.BatchHttpRequest._header_to_id" class="py-name" href="#" onclick="return doclink('link-225', '_header_to_id', 'link-225');">_header_to_id</a></tt><tt class="py-op">(</tt><tt class="py-name">part</tt><tt class="py-op">[</tt><tt class="py-string">'Content-ID'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1261"></a><tt class="py-lineno">1261</tt>  <tt class="py-line">      <tt id="link-226" class="py-name" targets="Method googleapiclient.model.BaseModel.response()=googleapiclient.model.BaseModel-class.html#response,Method googleapiclient.model.Model.response()=googleapiclient.model.Model-class.html#response"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-226', 'response', 'link-226');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._deserialize_response()=googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response"><a title="googleapiclient.http.BatchHttpRequest._deserialize_response" class="py-name" href="#" onclick="return doclink('link-227', '_deserialize_response', 'link-227');">_deserialize_response</a></tt><tt class="py-op">(</tt><tt class="py-name">part</tt><tt class="py-op">.</tt><tt class="py-name">get_payload</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1262"></a><tt class="py-lineno">1262</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt id="link-228" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-228', 'response', 'link-226');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1263"></a><tt class="py-lineno">1263</tt>  <tt class="py-line"> </tt>
+<a name="L1264"></a><tt class="py-lineno">1264</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="BatchHttpRequest.execute"></a><div id="BatchHttpRequest.execute-def"><a name="L1265"></a><tt class="py-lineno">1265</tt> <a class="py-toggle" href="#" id="BatchHttpRequest.execute-toggle" onclick="return toggle('BatchHttpRequest.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BatchHttpRequest.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="BatchHttpRequest.execute-expanded"><a name="L1266"></a><tt class="py-lineno">1266</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute all the requests as a single batched HTTP request.</tt> </tt>
+<a name="L1267"></a><tt class="py-lineno">1267</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1268"></a><tt class="py-lineno">1268</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1269"></a><tt class="py-lineno">1269</tt>  <tt class="py-line"><tt class="py-docstring">      http: httplib2.Http, an http object to be used in place of the one the</tt> </tt>
+<a name="L1270"></a><tt class="py-lineno">1270</tt>  <tt class="py-line"><tt class="py-docstring">        HttpRequest request object was constructed with. If one isn't supplied</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line"><tt class="py-docstring">        then use a http object from the requests in this batch.</tt> </tt>
+<a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L1274"></a><tt class="py-lineno">1274</tt>  <tt class="py-line"><tt class="py-docstring">      None</tt> </tt>
+<a name="L1275"></a><tt class="py-lineno">1275</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1276"></a><tt class="py-lineno">1276</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L1277"></a><tt class="py-lineno">1277</tt>  <tt class="py-line"><tt class="py-docstring">      httplib2.HttpLib2Error if a transport error has occured.</tt> </tt>
+<a name="L1278"></a><tt class="py-lineno">1278</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.BatchError if the response is the wrong format.</tt> </tt>
+<a name="L1279"></a><tt class="py-lineno">1279</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1280"></a><tt class="py-lineno">1280</tt>  <tt class="py-line"> </tt>
+<a name="L1281"></a><tt class="py-lineno">1281</tt>  <tt class="py-line">    <tt class="py-comment"># If http is not supplied use the first valid one given in the requests.</tt> </tt>
+<a name="L1282"></a><tt class="py-lineno">1282</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-229" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-229', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1283"></a><tt class="py-lineno">1283</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
+<a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line">        <tt id="link-230" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-230', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-231" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-231', 'request', 'link-55');">request</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1286"></a><tt class="py-lineno">1286</tt>  <tt class="py-line">          <tt id="link-232" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-232', 'http', 'link-58');">http</a></tt> <tt class="py-op">=</tt> <tt id="link-233" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-233', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-234', 'http', 'link-58');">http</a></tt> </tt>
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">          <tt class="py-keyword">break</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line"> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-235" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-235', 'http', 'link-58');">http</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Missing a valid http object."</tt><tt class="py-op">)</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line"> </tt>
+<a name="L1292"></a><tt class="py-lineno">1292</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._execute()=googleapiclient.http.BatchHttpRequest-class.html#_execute"><a title="googleapiclient.http.BatchHttpRequest._execute" class="py-name" href="#" onclick="return doclink('link-236', '_execute', 'link-236');">_execute</a></tt><tt class="py-op">(</tt><tt id="link-237" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-237', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">)</tt> </tt>
+<a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line"> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">    <tt class="py-comment"># Loop over all the requests and check for 401s. For each 401 request the</tt> </tt>
+<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">    <tt class="py-comment"># credentials should be refreshed and then sent again in a separate batch.</tt> </tt>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">    <tt class="py-name">redo_requests</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">    <tt class="py-name">redo_order</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line"> </tt>
+<a name="L1299"></a><tt class="py-lineno">1299</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
+<a name="L1300"></a><tt class="py-lineno">1300</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'status'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'401'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1302"></a><tt class="py-lineno">1302</tt>  <tt class="py-line">        <tt class="py-name">redo_order</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">        <tt id="link-238" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-238', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name" targets="Method googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials()=googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials"><a title="googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials" class="py-name" href="#" onclick="return doclink('link-239', '_refresh_and_apply_credentials', 'link-239');">_refresh_and_apply_credentials</a></tt><tt class="py-op">(</tt><tt id="link-240" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-240', 'request', 'link-55');">request</a></tt><tt class="py-op">,</tt> <tt id="link-241" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-241', 'http', 'link-58');">http</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1305"></a><tt class="py-lineno">1305</tt>  <tt class="py-line">        <tt class="py-name">redo_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-242" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-242', 'request', 'link-55');">request</a></tt> </tt>
+<a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line"> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">redo_requests</tt><tt class="py-op">:</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="googleapiclient.http.BatchHttpRequest._execute" class="py-name" href="#" onclick="return doclink('link-243', '_execute', 'link-236');">_execute</a></tt><tt class="py-op">(</tt><tt id="link-244" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-244', 'http', 'link-58');">http</a></tt><tt class="py-op">,</tt> <tt class="py-name">redo_order</tt><tt class="py-op">,</tt> <tt class="py-name">redo_requests</tt><tt class="py-op">)</tt> </tt>
+<a name="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line"> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line">    <tt class="py-comment"># Now process all callbacks that are erroring, and raise an exception for</tt> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">    <tt class="py-comment"># ones that return a non-2xx response? Or add extra parameter to callback</tt> </tt>
+<a name="L1312"></a><tt class="py-lineno">1312</tt>  <tt class="py-line">    <tt class="py-comment"># that contains an HttpError?</tt> </tt>
+<a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line"> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">request_id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_order</tt><tt class="py-op">:</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_responses</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line"> </tt>
+<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">      <tt id="link-245" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-245', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_requests</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">      <tt class="py-name">callback</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callbacks</tt><tt class="py-op">[</tt><tt class="py-name">request_id</tt><tt class="py-op">]</tt> </tt>
+<a name="L1319"></a><tt class="py-lineno">1319</tt>  <tt class="py-line"> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">      <tt id="link-246" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-246', 'response', 'link-226');">response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">      <tt class="py-name">exception</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">      <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&gt;=</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
+<a name="L1324"></a><tt class="py-lineno">1324</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-247" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-247', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">uri</tt><tt class="py-op">=</tt><tt id="link-248" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-248', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">uri</tt><tt class="py-op">)</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">        <tt id="link-249" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-249', 'response', 'link-226');">response</a></tt> <tt class="py-op">=</tt> <tt id="link-250" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-250', 'request', 'link-55');">request</a></tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">      <tt class="py-keyword">except</tt> <tt id="link-251" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-251', 'HttpError', 'link-4');">HttpError</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
+<a name="L1327"></a><tt class="py-lineno">1327</tt>  <tt class="py-line">        <tt class="py-name">exception</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt> </tt>
+<a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line"> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">        <tt class="py-name">callback</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">,</tt> <tt id="link-252" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-252', 'response', 'link-226');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">exception</tt><tt class="py-op">)</tt> </tt>
+<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_callback</tt><tt class="py-op">(</tt><tt class="py-name">request_id</tt><tt class="py-op">,</tt> <tt id="link-253" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-253', 'response', 'link-226');">response</a></tt><tt class="py-op">,</tt> <tt class="py-name">exception</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequestMock"></a><div id="HttpRequestMock-def"><a name="L1334"></a><tt class="py-lineno">1334</tt>  <tt class="py-line"> </tt>
+<a name="L1335"></a><tt class="py-lineno">1335</tt> <a class="py-toggle" href="#" id="HttpRequestMock-toggle" onclick="return toggle('HttpRequestMock');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html">HttpRequestMock</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequestMock-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpRequestMock-expanded"><a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of HttpRequest.</tt> </tt>
+<a name="L1337"></a><tt class="py-lineno">1337</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1338"></a><tt class="py-lineno">1338</tt>  <tt class="py-line"><tt class="py-docstring">  Do not construct directly, instead use RequestMockBuilder.</tt> </tt>
+<a name="L1339"></a><tt class="py-lineno">1339</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequestMock.__init__"></a><div id="HttpRequestMock.__init__-def"><a name="L1341"></a><tt class="py-lineno">1341</tt> <a class="py-toggle" href="#" id="HttpRequestMock.__init__-toggle" onclick="return toggle('HttpRequestMock.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequestMock.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequestMock.__init__-expanded"><a name="L1342"></a><tt class="py-lineno">1342</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for HttpRequestMock</tt> </tt>
+<a name="L1343"></a><tt class="py-lineno">1343</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1345"></a><tt class="py-lineno">1345</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the response to emulate coming from the request</tt> </tt>
+<a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the response body</tt> </tt>
+<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line"><tt class="py-docstring">      postproc: callable, the post processing function usually supplied by</tt> </tt>
+<a name="L1348"></a><tt class="py-lineno">1348</tt>  <tt class="py-line"><tt class="py-docstring">                the model class. See model.JsonModel.response() as an example.</tt> </tt>
+<a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">resp</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt> <tt class="py-op">=</tt> <tt class="py-name">postproc</tt> </tt>
+<a name="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-string">'reason'</tt><tt class="py-op">:</tt> <tt class="py-string">'OK'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'reason'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">:</tt> </tt>
+<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">reason</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">[</tt><tt class="py-string">'reason'</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line"> </tt>
+<a name="HttpRequestMock.execute"></a><div id="HttpRequestMock.execute-def"><a name="L1358"></a><tt class="py-lineno">1358</tt> <a class="py-toggle" href="#" id="HttpRequestMock.execute-toggle" onclick="return toggle('HttpRequestMock.execute');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpRequestMock-class.html#execute">execute</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpRequestMock.execute-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpRequestMock.execute-expanded"><a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">    <tt class="py-docstring">"""Execute the request.</tt> </tt>
+<a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line"><tt class="py-docstring">    Same behavior as HttpRequest.execute(), but the response is</tt> </tt>
+<a name="L1362"></a><tt class="py-lineno">1362</tt>  <tt class="py-line"><tt class="py-docstring">    mocked and not really from an HTTP request/response.</tt> </tt>
+<a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postproc</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line"> </tt>
+<a name="RequestMockBuilder"></a><div id="RequestMockBuilder-def"><a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line"> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt> <a class="py-toggle" href="#" id="RequestMockBuilder-toggle" onclick="return toggle('RequestMockBuilder');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RequestMockBuilder-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="RequestMockBuilder-expanded"><a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">  <tt class="py-docstring">"""A simple mock of HttpRequest</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line"><tt class="py-docstring">    Pass in a dictionary to the constructor that maps request methodIds to</tt> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line"><tt class="py-docstring">    tuples of (httplib2.Response, content, opt_expected_body) that should be</tt> </tt>
+<a name="L1372"></a><tt class="py-lineno">1372</tt>  <tt class="py-line"><tt class="py-docstring">    returned when that method is called. None may also be passed in for the</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line"><tt class="py-docstring">    httplib2.Response, in which case a 200 OK response will be generated.</tt> </tt>
+<a name="L1374"></a><tt class="py-lineno">1374</tt>  <tt class="py-line"><tt class="py-docstring">    If an opt_expected_body (str or dict) is provided, it will be compared to</tt> </tt>
+<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line"><tt class="py-docstring">    the body and UnexpectedBodyError will be raised on inequality.</tt> </tt>
+<a name="L1376"></a><tt class="py-lineno">1376</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1377"></a><tt class="py-lineno">1377</tt>  <tt class="py-line"><tt class="py-docstring">    Example:</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"><tt class="py-docstring">      response = '{"data": {"id": "tag:google.c...'</tt> </tt>
+<a name="L1379"></a><tt class="py-lineno">1379</tt>  <tt class="py-line"><tt class="py-docstring">      requestBuilder = RequestMockBuilder(</tt> </tt>
+<a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line"><tt class="py-docstring">        {</tt> </tt>
+<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line"><tt class="py-docstring">          'plus.activities.get': (None, response),</tt> </tt>
+<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line"><tt class="py-docstring">        }</tt> </tt>
+<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line"><tt class="py-docstring">      )</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.discovery.build("plus", "v1", requestBuilder=requestBuilder)</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line"><tt class="py-docstring">    Methods that you do not supply a response for will return a</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line"><tt class="py-docstring">    200 OK with an empty string as the response content or raise an excpetion</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line"><tt class="py-docstring">    if check_unexpected is set to True. The methodId is taken from the rpcName</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line"><tt class="py-docstring">    in the discovery document.</tt> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line"><tt class="py-docstring">    For more details see the project wiki.</tt> </tt>
+<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line"> </tt>
+<a name="RequestMockBuilder.__init__"></a><div id="RequestMockBuilder.__init__-def"><a name="L1394"></a><tt class="py-lineno">1394</tt> <a class="py-toggle" href="#" id="RequestMockBuilder.__init__-toggle" onclick="return toggle('RequestMockBuilder.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">responses</tt><tt class="py-op">,</tt> <tt class="py-param">check_unexpected</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RequestMockBuilder.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="RequestMockBuilder.__init__-expanded"><a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor for RequestMockBuilder</tt> </tt>
+<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line"><tt class="py-docstring">    The constructed object should be a callable object</tt> </tt>
+<a name="L1398"></a><tt class="py-lineno">1398</tt>  <tt class="py-line"><tt class="py-docstring">    that can replace the class HttpResponse.</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line"><tt class="py-docstring">    responses - A dictionary that maps methodIds into tuples</tt> </tt>
+<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line"><tt class="py-docstring">                of (httplib2.Response, content). The methodId</tt> </tt>
+<a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line"><tt class="py-docstring">                comes from the 'rpcName' field in the discovery</tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line"><tt class="py-docstring">                document.</tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line"><tt class="py-docstring">    check_unexpected - A boolean setting whether or not UnexpectedMethodError</tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line"><tt class="py-docstring">                       should be raised on unsupplied method.</tt> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt> <tt class="py-op">=</tt> <tt class="py-name">responses</tt> </tt>
+<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">check_unexpected</tt> <tt class="py-op">=</tt> <tt class="py-name">check_unexpected</tt> </tt>
+</div><a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line"> </tt>
+<a name="RequestMockBuilder.__call__"></a><div id="RequestMockBuilder.__call__-def"><a name="L1410"></a><tt class="py-lineno">1410</tt> <a class="py-toggle" href="#" id="RequestMockBuilder.__call__-toggle" onclick="return toggle('RequestMockBuilder.__call__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.RequestMockBuilder-class.html#__call__">__call__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">postproc</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">               <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">methodId</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">resumable</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RequestMockBuilder.__call__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="RequestMockBuilder.__call__-expanded"><a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">    <tt class="py-docstring">"""Implements the callable interface that discovery.build() expects</tt> </tt>
+<a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line"><tt class="py-docstring">    of requestBuilder, which is to build an object compatible with</tt> </tt>
+<a name="L1414"></a><tt class="py-lineno">1414</tt>  <tt class="py-line"><tt class="py-docstring">    HttpRequest.execute(). See that method for the description of the</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line"><tt class="py-docstring">    parameters and the expected response.</tt> </tt>
+<a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1417"></a><tt class="py-lineno">1417</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">methodId</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt><tt class="py-op">:</tt> </tt>
+<a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">      <tt id="link-254" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-254', 'response', 'link-226');">response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">responses</tt><tt class="py-op">[</tt><tt class="py-name">methodId</tt><tt class="py-op">]</tt> </tt>
+<a name="L1419"></a><tt class="py-lineno">1419</tt>  <tt class="py-line">      <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-255" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-255', 'response', 'link-226');">response</a></tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-256" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-256', 'response', 'link-226');">response</a></tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L1421"></a><tt class="py-lineno">1421</tt>  <tt class="py-line">        <tt class="py-comment"># Test the body against the supplied expected_body.</tt> </tt>
+<a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">        <tt class="py-name">expected_body</tt> <tt class="py-op">=</tt> <tt id="link-257" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-257', 'response', 'link-226');">response</a></tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt id="link-258" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-258', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1424"></a><tt class="py-lineno">1424</tt>  <tt class="py-line">          <tt class="py-comment"># Not expecting a body and provided one</tt> </tt>
+<a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">          <tt class="py-comment"># or expecting a body and not provided one.</tt> </tt>
+<a name="L1426"></a><tt class="py-lineno">1426</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-259" class="py-name"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-259', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt id="link-260" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-260', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1427"></a><tt class="py-lineno">1427</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line">          <tt class="py-name">expected_body</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">)</tt> </tt>
+<a name="L1429"></a><tt class="py-lineno">1429</tt>  <tt class="py-line">        <tt id="link-261" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-261', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt id="link-262" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-262', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-263" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-263', 'body', 'link-46');">body</a></tt> <tt class="py-op">!=</tt> <tt class="py-name">expected_body</tt><tt class="py-op">:</tt> </tt>
+<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">          <tt class="py-keyword">raise</tt> <tt id="link-264" class="py-name"><a title="googleapiclient.errors.UnexpectedBodyError" class="py-name" href="#" onclick="return doclink('link-264', 'UnexpectedBodyError', 'link-10');">UnexpectedBodyError</a></tt><tt class="py-op">(</tt><tt class="py-name">expected_body</tt><tt class="py-op">,</tt> <tt id="link-265" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-265', 'body', 'link-46');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-266" class="py-name" targets="Class googleapiclient.http.HttpRequestMock=googleapiclient.http.HttpRequestMock-class.html"><a title="googleapiclient.http.HttpRequestMock" class="py-name" href="#" onclick="return doclink('link-266', 'HttpRequestMock', 'link-266');">HttpRequestMock</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">,</tt> <tt class="py-name">postproc</tt><tt class="py-op">)</tt> </tt>
+<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">check_unexpected</tt><tt class="py-op">:</tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-267" class="py-name"><a title="googleapiclient.errors.UnexpectedMethodError" class="py-name" href="#" onclick="return doclink('link-267', 'UnexpectedMethodError', 'link-12');">UnexpectedMethodError</a></tt><tt class="py-op">(</tt><tt class="py-name">methodId</tt><tt class="py-op">=</tt><tt class="py-name">methodId</tt><tt class="py-op">)</tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line">      <tt id="link-268" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-268', 'model', 'link-13');">model</a></tt> <tt class="py-op">=</tt> <tt id="link-269" class="py-name"><a title="googleapiclient.model.JsonModel" class="py-name" href="#" onclick="return doclink('link-269', 'JsonModel', 'link-14');">JsonModel</a></tt><tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt id="link-270" class="py-name"><a title="googleapiclient.http.HttpRequestMock" class="py-name" href="#" onclick="return doclink('link-270', 'HttpRequestMock', 'link-266');">HttpRequestMock</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'{}'</tt><tt class="py-op">,</tt> <tt id="link-271" class="py-name"><a title="googleapiclient.model" class="py-name" href="#" onclick="return doclink('link-271', 'model', 'link-13');">model</a></tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="googleapiclient.model.BaseModel.response
+googleapiclient.model.Model.response" class="py-name" href="#" onclick="return doclink('link-272', 'response', 'link-226');">response</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line"> </tt>
+<a name="HttpMock"></a><div id="HttpMock-def"><a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line"> </tt>
+<a name="L1440"></a><tt class="py-lineno">1440</tt> <a class="py-toggle" href="#" id="HttpMock-toggle" onclick="return toggle('HttpMock');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html">HttpMock</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMock-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpMock-expanded"><a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of httplib2.Http"""</tt> </tt>
+<a name="L1442"></a><tt class="py-lineno">1442</tt>  <tt class="py-line"> </tt>
+<a name="HttpMock.__init__"></a><div id="HttpMock.__init__-def"><a name="L1443"></a><tt class="py-lineno">1443</tt> <a class="py-toggle" href="#" id="HttpMock.__init__-toggle" onclick="return toggle('HttpMock.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMock.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMock.__init__-expanded"><a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line"><tt class="py-docstring">      filename: string, absolute filename to read response from</tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, header to return with response</tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'status'</tt><tt class="py-op">:</tt> <tt class="py-string">'200 OK'</tt><tt class="py-op">}</tt> </tt>
+<a name="L1451"></a><tt class="py-lineno">1451</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt><tt class="py-op">:</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line">      <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-273', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">      <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
+<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-274', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line"> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line"> </tt>
+<a name="HttpMock.request"></a><div id="HttpMock.request-def"><a name="L1465"></a><tt class="py-lineno">1465</tt> <a class="py-toggle" href="#" id="HttpMock.request-toggle" onclick="return toggle('HttpMock.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMock-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">              <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">              <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">              <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</tt>  <tt class="py-line">              <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">              <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMock.request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMock.request-expanded"><a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">uri</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-name">method</tt> </tt>
+<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-275', 'body', 'link-46');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-276" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-276', 'body', 'link-46');">body</a></tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
+<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">response_headers</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> </tt>
+</div></div><a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line"> </tt>
+<a name="HttpMockSequence"></a><div id="HttpMockSequence-def"><a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line"> </tt>
+<a name="L1478"></a><tt class="py-lineno">1478</tt> <a class="py-toggle" href="#" id="HttpMockSequence-toggle" onclick="return toggle('HttpMockSequence');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html">HttpMockSequence</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMockSequence-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="HttpMockSequence-expanded"><a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">  <tt class="py-docstring">"""Mock of httplib2.Http</tt> </tt>
+<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line"><tt class="py-docstring">  Mocks a sequence of calls to request returning different responses for each</tt> </tt>
+<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line"><tt class="py-docstring">  call. Create an instance initialized with the desired response headers</tt> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line"><tt class="py-docstring">  and content and then use as if an httplib2.Http instance.</tt> </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line"><tt class="py-docstring">    http = HttpMockSequence([</tt> </tt>
+<a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '401'}, ''),</tt> </tt>
+<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '200'}, '{"access_token":"1/3w","expires_in":3600}'),</tt> </tt>
+<a name="L1488"></a><tt class="py-lineno">1488</tt>  <tt class="py-line"><tt class="py-docstring">      ({'status': '200'}, 'echo_request_headers'),</tt> </tt>
+<a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line"><tt class="py-docstring">      ])</tt> </tt>
+<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line"><tt class="py-docstring">    resp, content = http.request("http://examples.com")</tt> </tt>
+<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line"><tt class="py-docstring">  There are special values you can pass in for content to trigger</tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line"><tt class="py-docstring">  behavours that are helpful in testing.</tt> </tt>
+<a name="L1494"></a><tt class="py-lineno">1494</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1495"></a><tt class="py-lineno">1495</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_headers' means return the request headers in the response body</tt> </tt>
+<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_headers_as_json' means return the request headers in</tt> </tt>
+<a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line"><tt class="py-docstring">     the response body</tt> </tt>
+<a name="L1498"></a><tt class="py-lineno">1498</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_body' means return the request body in the response body</tt> </tt>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line"><tt class="py-docstring">  'echo_request_uri' means return the request uri in the response body</tt> </tt>
+<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line"> </tt>
+<a name="HttpMockSequence.__init__"></a><div id="HttpMockSequence.__init__-def"><a name="L1502"></a><tt class="py-lineno">1502</tt> <a class="py-toggle" href="#" id="HttpMockSequence.__init__-toggle" onclick="return toggle('HttpMockSequence.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">iterable</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMockSequence.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMockSequence.__init__-expanded"><a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L1505"></a><tt class="py-lineno">1505</tt>  <tt class="py-line"><tt class="py-docstring">      iterable: iterable, a sequence of pairs of (headers, body)</tt> </tt>
+<a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1507"></a><tt class="py-lineno">1507</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_iterable</tt> <tt class="py-op">=</tt> <tt class="py-name">iterable</tt> </tt>
+<a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">follow_redirects</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line"> </tt>
+<a name="HttpMockSequence.request"></a><div id="HttpMockSequence.request-def"><a name="L1510"></a><tt class="py-lineno">1510</tt> <a class="py-toggle" href="#" id="HttpMockSequence.request-toggle" onclick="return toggle('HttpMockSequence.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.HttpMockSequence-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">,</tt> </tt>
+<a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">              <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">              <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">              <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1514"></a><tt class="py-lineno">1514</tt>  <tt class="py-line">              <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">              <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HttpMockSequence.request-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="HttpMockSequence.request-expanded"><a name="L1516"></a><tt class="py-lineno">1516</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_iterable</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1517"></a><tt class="py-lineno">1517</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_headers'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">headers</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_headers_as_json'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">)</tt> </tt>
+<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_body'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt id="link-277" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-277', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-string">'read'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-278" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-278', 'body', 'link-46');">body</a></tt><tt class="py-op">.</tt><tt id="link-279" class="py-name"><a title="googleapiclient.http._StreamSlice.read" class="py-name" href="#" onclick="return doclink('link-279', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-280" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-280', 'body', 'link-46');">body</a></tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">content</tt> <tt class="py-op">==</tt> <tt class="py-string">'echo_request_uri'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">      <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">uri</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Response</tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
+</div></div><a name="L1529"></a><tt class="py-lineno">1529</tt>  <tt class="py-line"> </tt>
+<a name="set_user_agent"></a><div id="set_user_agent-def"><a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line"> </tt>
+<a name="L1531"></a><tt class="py-lineno">1531</tt> <a class="py-toggle" href="#" id="set_user_agent-toggle" onclick="return toggle('set_user_agent');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http-module.html#set_user_agent">set_user_agent</a><tt class="py-op">(</tt><tt class="py-param">http</tt><tt class="py-op">,</tt> <tt class="py-param">user_agent</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="set_user_agent-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="set_user_agent-expanded"><a name="L1532"></a><tt class="py-lineno">1532</tt>  <tt class="py-line">  <tt class="py-docstring">"""Set the user-agent on every request.</tt> </tt>
+<a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line"><tt class="py-docstring">     http - An instance of httplib2.Http</tt> </tt>
+<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line"><tt class="py-docstring">     user_agent: string, the value for the user-agent header.</tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line"><tt class="py-docstring">     A modified instance of http that was passed in.</tt> </tt>
+<a name="L1541"></a><tt class="py-lineno">1541</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+<a name="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line"><tt class="py-docstring">    h = httplib2.Http()</tt> </tt>
+<a name="L1545"></a><tt class="py-lineno">1545</tt>  <tt class="py-line"><tt class="py-docstring">    h = set_user_agent(h, "my-app-name/6.0")</tt> </tt>
+<a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line"><tt class="py-docstring">  Most of the time the user-agent will be set doing auth, this is for the rare</tt> </tt>
+<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line"><tt class="py-docstring">  cases where you are accessing an unauthenticated endpoint.</tt> </tt>
+<a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">  <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-281" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-281', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-282', 'request', 'link-55');">request</a></tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line"> </tt>
+<a name="L1552"></a><tt class="py-lineno">1552</tt>  <tt class="py-line">  <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
+<a name="L1553"></a><tt class="py-lineno">1553</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line">                  <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
+<a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line">                  <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1556"></a><tt class="py-lineno">1556</tt>  <tt class="py-line">    <tt class="py-docstring">"""Modify the request headers to add the user-agent."""</tt> </tt>
+<a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
+<a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> <tt class="py-op">+</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">user_agent</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-283" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-283', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">                        <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line"> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">  <tt id="link-284" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-284', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-285', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_request</tt> </tt>
+<a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-286" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-286', 'http', 'link-58');">http</a></tt> </tt>
+</div><a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line"> </tt>
+<a name="tunnel_patch"></a><div id="tunnel_patch-def"><a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line"> </tt>
+<a name="L1571"></a><tt class="py-lineno">1571</tt> <a class="py-toggle" href="#" id="tunnel_patch-toggle" onclick="return toggle('tunnel_patch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http-module.html#tunnel_patch">tunnel_patch</a><tt class="py-op">(</tt><tt class="py-param">http</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="tunnel_patch-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="tunnel_patch-expanded"><a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">  <tt class="py-docstring">"""Tunnel PATCH requests over POST.</tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line"><tt class="py-docstring">     http - An instance of httplib2.Http</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line"><tt class="py-docstring">         or something that acts like it.</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line"><tt class="py-docstring">     A modified instance of http that was passed in.</tt> </tt>
+<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line"><tt class="py-docstring">  Example:</tt> </tt>
+<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line"><tt class="py-docstring">    h = httplib2.Http()</tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line"><tt class="py-docstring">    h = tunnel_patch(h, "my-app-name/6.0")</tt> </tt>
+<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1585"></a><tt class="py-lineno">1585</tt>  <tt class="py-line"><tt class="py-docstring">  Useful if you are running on a platform that doesn't support PATCH.</tt> </tt>
+<a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line"><tt class="py-docstring">  Apply this last if you are using OAuth 1.0, as changing the method</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line"><tt class="py-docstring">  will result in a different signature.</tt> </tt>
+<a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">  <tt class="py-name">request_orig</tt> <tt class="py-op">=</tt> <tt id="link-287" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-287', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-288', 'request', 'link-55');">request</a></tt> </tt>
+<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line"> </tt>
+<a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">  <tt class="py-comment"># The closure that will replace 'httplib2.Http.request'.</tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">  <tt class="py-keyword">def</tt> <tt class="py-def-name">new_request</tt><tt class="py-op">(</tt><tt class="py-param">uri</tt><tt class="py-op">,</tt> <tt class="py-param">method</tt><tt class="py-op">=</tt><tt class="py-string">'GET'</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">                  <tt class="py-param">redirections</tt><tt class="py-op">=</tt><tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">DEFAULT_MAX_REDIRECTS</tt><tt class="py-op">,</tt> </tt>
+<a name="L1594"></a><tt class="py-lineno">1594</tt>  <tt class="py-line">                  <tt class="py-param">connection_type</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1595"></a><tt class="py-lineno">1595</tt>  <tt class="py-line">    <tt class="py-docstring">"""Modify the request headers to add the user-agent."""</tt> </tt>
+<a name="L1596"></a><tt class="py-lineno">1596</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">headers</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1597"></a><tt class="py-lineno">1597</tt>  <tt class="py-line">      <tt class="py-name">headers</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1598"></a><tt class="py-lineno">1598</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">method</tt> <tt class="py-op">==</tt> <tt class="py-string">'PATCH'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1599"></a><tt class="py-lineno">1599</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'oauth_token'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-289', 'get', 'link-75');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'authorization'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1600"></a><tt class="py-lineno">1600</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">            <tt class="py-string">'OAuth 1.0 request made with Credentials after tunnel_patch.'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'x-http-method-override'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"PATCH"</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">      <tt class="py-name">method</tt> <tt class="py-op">=</tt> <tt class="py-string">'POST'</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">    <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">request_orig</tt><tt class="py-op">(</tt><tt class="py-name">uri</tt><tt class="py-op">,</tt> <tt class="py-name">method</tt><tt class="py-op">,</tt> <tt id="link-290" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-290', 'body', 'link-46');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">headers</tt><tt class="py-op">,</tt> </tt>
+<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">                        <tt class="py-name">redirections</tt><tt class="py-op">,</tt> <tt class="py-name">connection_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line"> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">  <tt id="link-291" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-291', 'http', 'link-58');">http</a></tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="googleapiclient.http.HttpMock.request
+googleapiclient.http.HttpMockSequence.request
+googleapiclient.model.BaseModel.request
+googleapiclient.model.Model.request" class="py-name" href="#" onclick="return doclink('link-292', 'request', 'link-55');">request</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_request</tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt id="link-293" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-293', 'http', 'link-58');">http</a></tt> </tt>
+</div><a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.BatchHttpRequest-class.html b/docs/epy/googleapiclient.http.BatchHttpRequest-class.html
new file mode 100644
index 0000000..bbc2469
--- /dev/null
+++ b/docs/epy/googleapiclient.http.BatchHttpRequest-class.html
@@ -0,0 +1,762 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.BatchHttpRequest</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;BatchHttpRequest
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class BatchHttpRequest</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_19" name="uml_class_diagram_for_googleap_19">
+<area shape="rect" id="node61" href="googleapiclient.http.BatchHttpRequest-class.html#__init__" title="Constructor for a BatchHttpRequest." alt="" coords="17,39,328,57"/>
+<area shape="rect" id="node61" href="googleapiclient.http.BatchHttpRequest-class.html#add" title="Add a new request." alt="" coords="17,57,328,76"/>
+<area shape="rect" id="node61" href="googleapiclient.http.BatchHttpRequest-class.html#execute" title="Execute all the requests as a single batched HTTP request." alt="" coords="17,76,328,95"/>
+<area shape="rect" id="node1" href="googleapiclient.http.BatchHttpRequest-class.html" title="Batches multiple HttpRequest objects into a single HTTP request." alt="" coords="5,6,339,101"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_19.gif" alt='' usemap="#uml_class_diagram_for_googleap_19" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Batches multiple HttpRequest objects into a single HTTP request.
+
+Example:
+  from googleapiclient.http import BatchHttpRequest
+
+  def list_animals(request_id, response, exception):
+    &quot;&quot;&quot;Do something with the animals list response.&quot;&quot;&quot;
+    if exception is not None:
+      # Do something with the exception.
+      pass
+    else:
+      # Do something with the response.
+      pass
+
+  def list_farmers(request_id, response, exception):
+    &quot;&quot;&quot;Do something with the farmers list response.&quot;&quot;&quot;
+    if exception is not None:
+      # Do something with the exception.
+      pass
+    else:
+      # Do something with the response.
+      pass
+
+  service = build('farm', 'v2')
+
+  batch = BatchHttpRequest()
+
+  batch.add(service.animals().list(), list_animals)
+  batch.add(service.farmers().list(), list_farmers)
+  batch.execute(http=http)
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">callback</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">batch_uri</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Constructor for a BatchHttpRequest.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials" class="summary-sig-name" onclick="show_private();">_refresh_and_apply_credentials</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">request</span>,
+        <span class="summary-sig-arg">http</span>)</span><br />
+      Refresh the credentials and apply to the request.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._refresh_and_apply_credentials">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#_id_to_header" class="summary-sig-name" onclick="show_private();">_id_to_header</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">id_</span>)</span><br />
+      Convert an id to a Content-ID header value.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._id_to_header">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#_header_to_id" class="summary-sig-name" onclick="show_private();">_header_to_id</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">header</span>)</span><br />
+      Convert a Content-ID header value to an id.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._header_to_id">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#_serialize_request" class="summary-sig-name" onclick="show_private();">_serialize_request</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">request</span>)</span><br />
+      Convert an HttpRequest object into a string.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._serialize_request">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response" class="summary-sig-name" onclick="show_private();">_deserialize_response</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">payload</span>)</span><br />
+      Convert string into httplib2 response and content.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._deserialize_response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#_new_id" class="summary-sig-name" onclick="show_private();">_new_id</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Create a new id.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._new_id">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#add" class="summary-sig-name">add</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">request</span>,
+        <span class="summary-sig-arg">callback</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">request_id</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Add a new request.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest.add">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#_execute" class="summary-sig-name" onclick="show_private();">_execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">http</span>,
+        <span class="summary-sig-arg">order</span>,
+        <span class="summary-sig-arg">requests</span>)</span><br />
+      Serialize batch request, send to server, process response.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.BatchHttpRequest-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Execute all the requests as a single batched HTTP request.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">callback</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">batch_uri</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor for a BatchHttpRequest.
+
+Args:
+  callback: callable, A callback to be called for each response, of the
+    form callback(id, response, exception). The first parameter is the
+    request id, and the second is the deserialized response object. The
+    third is an googleapiclient.errors.HttpError exception object if an HTTP error
+    occurred while processing the request, or None if no error occurred.
+  batch_uri: string, URI to send batch requests to.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(1)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_refresh_and_apply_credentials"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh_and_apply_credentials</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">request</span>,
+        <span class="sig-arg">http</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._refresh_and_apply_credentials">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Refresh the credentials and apply to the request.
+
+Args:
+  request: HttpRequest, the request.
+  http: httplib2.Http, the global http object for the batch.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_id_to_header"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_id_to_header</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">id_</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._id_to_header">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Convert an id to a Content-ID header value.
+
+Args:
+  id_: string, identifier of individual request.
+
+Returns:
+  A Content-ID header with the id_ encoded into it. A UUID is prepended to
+  the value because Content-ID headers are supposed to be universally
+  unique.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_header_to_id"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_header_to_id</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">header</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._header_to_id">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Convert a Content-ID header value to an id.
+
+Presumes the Content-ID header conforms to the format that _id_to_header()
+returns.
+
+Args:
+  header: string, Content-ID header value.
+
+Returns:
+  The extracted id value.
+
+Raises:
+  BatchError if the header is not in the expected format.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_serialize_request"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_serialize_request</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">request</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._serialize_request">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Convert an HttpRequest object into a string.
+
+Args:
+  request: HttpRequest, the request to serialize.
+
+Returns:
+  The request as a string in application/http format.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_deserialize_response"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_deserialize_response</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">payload</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._deserialize_response">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Convert string into httplib2 response and content.
+
+Args:
+  payload: string, headers and body as a string.
+
+Returns:
+  A pair (resp, content), such as would be returned from httplib2.request.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_new_id"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_new_id</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._new_id">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Create a new id.
+
+Auto incrementing number that avoids conflicts with ids already used.
+
+Returns:
+   string, a new unique id.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="add"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">add</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">request</span>,
+        <span class="sig-arg">callback</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">request_id</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest.add">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Add a new request.
+
+Every callback added will be paired with a unique id, the request_id. That
+unique id will be passed back to the callback when the response comes back
+from the server. The default behavior is to have the library generate it's
+own unique id. If the caller passes in a request_id then they must ensure
+uniqueness for each request_id, and if they are not an exception is
+raised. Callers should either supply all request_ids or nevery supply a
+request id, to avoid such an error.
+
+Args:
+  request: HttpRequest, Request to add to the batch.
+  callback: callable, A callback to be called for this response, of the
+    form callback(id, response, exception). The first parameter is the
+    request id, and the second is the deserialized response object. The
+    third is an googleapiclient.errors.HttpError exception object if an HTTP error
+    occurred while processing the request, or None if no errors occurred.
+  request_id: string, A unique id for the request. The id will be passed to
+    the callback with the response.
+
+Returns:
+  None
+
+Raises:
+  BatchError if a media request is added to a batch.
+  KeyError is the request_id is not unique.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(2)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_execute"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_execute</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">http</span>,
+        <span class="sig-arg">order</span>,
+        <span class="sig-arg">requests</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest._execute">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Serialize batch request, send to server, process response.
+
+Args:
+  http: httplib2.Http, an http object to be used to make the request with.
+  order: list, list of request ids in the order they were added to the
+    batch.
+  request: list, list of request objects to send.
+
+Raises:
+  httplib2.HttpLib2Error if a transport error has occured.
+  googleapiclient.errors.BatchError if the response is the wrong format.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="execute"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#BatchHttpRequest.execute">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Execute all the requests as a single batched HTTP request.
+
+Args:
+  http: httplib2.Http, an http object to be used in place of the one the
+    HttpRequest request object was constructed with. If one isn't supplied
+    then use a http object from the requests in this batch.
+
+Returns:
+  None
+
+Raises:
+  httplib2.HttpLib2Error if a transport error has occured.
+  googleapiclient.errors.BatchError if the response is the wrong format.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(1)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.HttpMock-class.html b/docs/epy/googleapiclient.http.HttpMock-class.html
new file mode 100644
index 0000000..85b89a7
--- /dev/null
+++ b/docs/epy/googleapiclient.http.HttpMock-class.html
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.HttpMock</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;HttpMock
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.HttpMock-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HttpMock</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpMock">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_20" name="uml_class_diagram_for_googleap_20">
+<area shape="rect" id="node62" href="googleapiclient.http.HttpMock-class.html#__init__" title="Args:..." alt="" coords="17,39,611,57"/>
+<area shape="rect" id="node62" href="googleapiclient.http.HttpMock-class.html#request" title="googleapiclient.http.HttpMock.request" alt="" coords="17,57,611,76"/>
+<area shape="rect" id="node1" href="googleapiclient.http.HttpMock-class.html" title="Mock of httplib2.Http" alt="" coords="5,6,621,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_20.gif" alt='' usemap="#uml_class_diagram_for_googleap_20" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Mock of httplib2.Http
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpMock-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Args:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpMock.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="request"></a><span class="summary-sig-name">request</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">uri</span>,
+        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
+        <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">redirections</span>=<span class="summary-sig-default">1</span>,
+        <span class="summary-sig-arg">connection_type</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpMock.request">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">headers</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpMock.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Args:
+  filename: string, absolute filename to read response from
+  headers: dict, header to return with response
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.HttpMockSequence-class.html b/docs/epy/googleapiclient.http.HttpMockSequence-class.html
new file mode 100644
index 0000000..9cfb146
--- /dev/null
+++ b/docs/epy/googleapiclient.http.HttpMockSequence-class.html
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.HttpMockSequence</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;HttpMockSequence
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.HttpMockSequence-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HttpMockSequence</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpMockSequence">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_21" name="uml_class_diagram_for_googleap_21">
+<area shape="rect" id="node63" href="googleapiclient.http.HttpMockSequence-class.html#__init__" title="Args:..." alt="" coords="17,39,611,57"/>
+<area shape="rect" id="node63" href="googleapiclient.http.HttpMockSequence-class.html#request" title="googleapiclient.http.HttpMockSequence.request" alt="" coords="17,57,611,76"/>
+<area shape="rect" id="node1" href="googleapiclient.http.HttpMockSequence-class.html" title="Mock of httplib2.Http" alt="" coords="5,6,621,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_21.gif" alt='' usemap="#uml_class_diagram_for_googleap_21" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Mock of httplib2.Http
+
+Mocks a sequence of calls to request returning different responses for each
+call. Create an instance initialized with the desired response headers
+and content and then use as if an httplib2.Http instance.
+
+  http = HttpMockSequence([
+    ({'status': '401'}, ''),
+    ({'status': '200'}, '{&quot;access_token&quot;:&quot;1/3w&quot;,&quot;expires_in&quot;:3600}'),
+    ({'status': '200'}, 'echo_request_headers'),
+    ])
+  resp, content = http.request(&quot;http://examples.com&quot;)
+
+There are special values you can pass in for content to trigger
+behavours that are helpful in testing.
+
+'echo_request_headers' means return the request headers in the response body
+'echo_request_headers_as_json' means return the request headers in
+   the response body
+'echo_request_body' means return the request body in the response body
+'echo_request_uri' means return the request uri in the response body
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpMockSequence-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">iterable</span>)</span><br />
+      Args:...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpMockSequence.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="request"></a><span class="summary-sig-name">request</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">uri</span>,
+        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
+        <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">redirections</span>=<span class="summary-sig-default">1</span>,
+        <span class="summary-sig-arg">connection_type</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpMockSequence.request">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">iterable</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpMockSequence.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Args:
+  iterable: iterable, a sequence of pairs of (headers, body)
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.HttpRequest-class.html b/docs/epy/googleapiclient.http.HttpRequest-class.html
new file mode 100644
index 0000000..57dc573
--- /dev/null
+++ b/docs/epy/googleapiclient.http.HttpRequest-class.html
@@ -0,0 +1,583 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.HttpRequest</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;HttpRequest
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.HttpRequest-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HttpRequest</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_22" name="uml_class_diagram_for_googleap_22">
+<area shape="rect" id="node64" href="googleapiclient.http.HttpRequest-class.html#__init__" title="Constructor for an HttpRequest." alt="" coords="17,39,677,57"/>
+<area shape="rect" id="node64" href="googleapiclient.http.HttpRequest-class.html#execute" title="Execute the request." alt="" coords="17,57,677,76"/>
+<area shape="rect" id="node64" href="googleapiclient.http.HttpRequest-class.html#add_response_callback" title="add_response_headers_callback" alt="" coords="17,76,677,95"/>
+<area shape="rect" id="node64" href="googleapiclient.http.HttpRequest-class.html#next_chunk" title="Execute the next step of a resumable upload." alt="" coords="17,95,677,113"/>
+<area shape="rect" id="node64" href="googleapiclient.http.HttpRequest-class.html#to_json" title="Returns a JSON representation of the HttpRequest." alt="" coords="17,113,677,132"/>
+<area shape="rect" id="node64" href="googleapiclient.http.HttpRequest-class.html#from_json" title="Returns an HttpRequest populated with info from a JSON object." alt="" coords="17,132,677,151"/>
+<area shape="rect" id="node1" href="googleapiclient.http.HttpRequest-class.html" title="Encapsulates a single HTTP request." alt="" coords="5,6,688,157"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_22.gif" alt='' usemap="#uml_class_diagram_for_googleap_22" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Encapsulates a single HTTP request.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">http</span>,
+        <span class="summary-sig-arg">postproc</span>,
+        <span class="summary-sig-arg">uri</span>,
+        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
+        <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">methodId</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Constructor for an HttpRequest.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">num_retries</span>=<span class="summary-sig-default">0</span>)</span><br />
+      Execute the request.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#add_response_callback" class="summary-sig-name">add_response_callback</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">cb</span>)</span><br />
+      add_response_headers_callback</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.add_response_callback">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#next_chunk" class="summary-sig-name">next_chunk</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">num_retries</span>=<span class="summary-sig-default">0</span>)</span><br />
+      Execute the next step of a resumable upload.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.next_chunk">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#_process_response" class="summary-sig-name" onclick="show_private();">_process_response</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resp</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Process the response from a single chunk upload.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest._process_response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="to_json"></a><span class="summary-sig-name">to_json</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Returns a JSON representation of the HttpRequest.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.to_json">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="from_json"></a><span class="summary-sig-name">from_json</span>(<span class="summary-sig-arg">s</span>,
+        <span class="summary-sig-arg">http</span>,
+        <span class="summary-sig-arg">postproc</span>)</span><br />
+      Returns an HttpRequest populated with info from a JSON object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.from_json">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">http</span>,
+        <span class="sig-arg">postproc</span>,
+        <span class="sig-arg">uri</span>,
+        <span class="sig-arg">method</span>=<span class="sig-default">'GET'</span>,
+        <span class="sig-arg">body</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">headers</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">methodId</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">resumable</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor for an HttpRequest.
+
+Args:
+  http: httplib2.Http, the transport object to use to make a request
+  postproc: callable, called on the HTTP response and content to transform
+            it into a data object before returning, or raising an exception
+            on an error.
+  uri: string, the absolute URI to send the request to
+  method: string, the HTTP method to use
+  body: string, the request body of the HTTP request,
+  headers: dict, the HTTP request headers
+  methodId: string, a unique identifier for the API method being called.
+  resumable: MediaUpload, None if this is not a resumbale request.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(4)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="execute"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">num_retries</span>=<span class="sig-default">0</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.execute">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Execute the request.
+
+Args:
+  http: httplib2.Http, an http object to be used in place of the
+        one the HttpRequest request object was constructed with.
+  num_retries: Integer, number of times to retry 500's with randomized
+        exponential backoff. If all retries fail, the raised HttpError
+        represents the last request. If zero (default), we attempt the
+        request only once.
+
+Returns:
+  A deserialized object model of the response body as determined
+  by the postproc.
+
+Raises:
+  googleapiclient.errors.HttpError if the response was not a 2xx.
+  httplib2.HttpLib2Error if a transport error has occured.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(1)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="add_response_callback"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">add_response_callback</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">cb</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.add_response_callback">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+add_response_headers_callback
+
+Args:
+  cb: Callback to be called on receiving the response headers, of signature:
+
+  def cb(resp):
+    # Where resp is an instance of httplib2.Response
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(2)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="next_chunk"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">next_chunk</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">num_retries</span>=<span class="sig-default">0</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.next_chunk">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Execute the next step of a resumable upload.
+
+Can only be used if the method being executed supports media uploads and
+the MediaUpload object passed in was flagged as using resumable upload.
+
+Example:
+
+  media = MediaFileUpload('cow.png', mimetype='image/png',
+                          chunksize=1000, resumable=True)
+  request = farm.animals().insert(
+      id='cow',
+      name='cow.png',
+      media_body=media)
+
+  response = None
+  while response is None:
+    status, response = request.next_chunk()
+    if status:
+      print &quot;Upload %d%% complete.&quot; % int(status.progress() * 100)
+
+
+Args:
+  http: httplib2.Http, an http object to be used in place of the
+        one the HttpRequest request object was constructed with.
+  num_retries: Integer, number of times to retry 500's with randomized
+        exponential backoff. If all retries fail, the raised HttpError
+        represents the last request. If zero (default), we attempt the
+        request only once.
+
+Returns:
+  (status, body): (ResumableMediaStatus, object)
+     The body will be None until the resumable media is fully uploaded.
+
+Raises:
+  googleapiclient.errors.HttpError if the response was not a 2xx.
+  httplib2.HttpLib2Error if a transport error has occured.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(1)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_process_response"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_process_response</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">resp</span>,
+        <span class="sig-arg">content</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest._process_response">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Process the response from a single chunk upload.
+
+Args:
+  resp: httplib2.Response, the response object.
+  content: string, the content of the response.
+
+Returns:
+  (status, body): (ResumableMediaStatus, object)
+     The body will be None until the resumable media is fully uploaded.
+
+Raises:
+  googleapiclient.errors.HttpError if the response was not a 2xx or a 308.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.HttpRequestMock-class.html b/docs/epy/googleapiclient.http.HttpRequestMock-class.html
new file mode 100644
index 0000000..dc270a7
--- /dev/null
+++ b/docs/epy/googleapiclient.http.HttpRequestMock-class.html
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.HttpRequestMock</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;HttpRequestMock
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.HttpRequestMock-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HttpRequestMock</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequestMock">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_23" name="uml_class_diagram_for_googleap_23">
+<area shape="rect" id="node65" href="googleapiclient.http.HttpRequestMock-class.html#__init__" title="Constructor for HttpRequestMock" alt="" coords="17,39,241,57"/>
+<area shape="rect" id="node65" href="googleapiclient.http.HttpRequestMock-class.html#execute" title="Execute the request." alt="" coords="17,57,241,76"/>
+<area shape="rect" id="node1" href="googleapiclient.http.HttpRequestMock-class.html" title="Mock of HttpRequest." alt="" coords="5,6,253,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_23.gif" alt='' usemap="#uml_class_diagram_for_googleap_23" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Mock of HttpRequest.
+
+Do not construct directly, instead use RequestMockBuilder.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequestMock-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resp</span>,
+        <span class="summary-sig-arg">content</span>,
+        <span class="summary-sig-arg">postproc</span>)</span><br />
+      Constructor for HttpRequestMock</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequestMock.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequestMock-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Execute the request.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequestMock.execute">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">resp</span>,
+        <span class="sig-arg">content</span>,
+        <span class="sig-arg">postproc</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequestMock.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor for HttpRequestMock
+
+Args:
+  resp: httplib2.Response, the response to emulate coming from the request
+  content: string, the response body
+  postproc: callable, the post processing function usually supplied by
+            the model class. See model.JsonModel.response() as an example.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="execute"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequestMock.execute">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Execute the request.
+
+Same behavior as HttpRequest.execute(), but the response is
+mocked and not really from an HTTP request/response.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html b/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html
new file mode 100644
index 0000000..cec2696
--- /dev/null
+++ b/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html
@@ -0,0 +1,294 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.MediaDownloadProgress</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;MediaDownloadProgress
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.MediaDownloadProgress-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaDownloadProgress</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaDownloadProgress">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_24" name="uml_class_diagram_for_googleap_24">
+<area shape="rect" id="node66" href="googleapiclient.http.MediaDownloadProgress-class.html#__init__" title="Constructor." alt="" coords="17,39,288,57"/>
+<area shape="rect" id="node66" href="googleapiclient.http.MediaDownloadProgress-class.html#progress" title="Percent of download completed, as a float." alt="" coords="17,57,288,76"/>
+<area shape="rect" id="node1" href="googleapiclient.http.MediaDownloadProgress-class.html" title="Status of a resumable download." alt="" coords="5,6,299,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_24.gif" alt='' usemap="#uml_class_diagram_for_googleap_24" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Status of a resumable download.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaDownloadProgress-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resumable_progress</span>,
+        <span class="summary-sig-arg">total_size</span>)</span><br />
+      Constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaDownloadProgress.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaDownloadProgress-class.html#progress" class="summary-sig-name">progress</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Percent of download completed, as a float.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaDownloadProgress.progress">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">resumable_progress</span>,
+        <span class="sig-arg">total_size</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaDownloadProgress.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor.
+
+Args:
+  resumable_progress: int, bytes received so far.
+  total_size: int, total bytes in complete download.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="progress"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">progress</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaDownloadProgress.progress">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Percent of download completed, as a float.
+
+Returns:
+  the percentage complete as a float, returning 0.0 if the total size of
+  the download is unknown.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.MediaFileUpload-class.html b/docs/epy/googleapiclient.http.MediaFileUpload-class.html
new file mode 100644
index 0000000..75c3ef5
--- /dev/null
+++ b/docs/epy/googleapiclient.http.MediaFileUpload-class.html
@@ -0,0 +1,414 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.MediaFileUpload</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;MediaFileUpload
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.MediaFileUpload-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaFileUpload</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaFileUpload">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_25" name="uml_class_diagram_for_googleap_25">
+<area shape="rect" id="node67" href="googleapiclient.http.MediaFileUpload-class.html#__init__" title="Constructor." alt="" coords="17,305,597,324"/>
+<area shape="rect" id="node67" href="googleapiclient.http.MediaFileUpload-class.html#to_json" title="Creating a JSON representation of an instance of MediaFileUpload." alt="" coords="17,324,597,343"/>
+<area shape="rect" id="node67" href="googleapiclient.http.MediaFileUpload-class.html#from_json" title="googleapiclient.http.MediaFileUpload.from_json" alt="" coords="17,343,597,361"/>
+<area shape="rect" id="node1" href="googleapiclient.http.MediaFileUpload-class.html" title="A MediaUpload for a file." alt="" coords="5,273,608,367"/>
+<area shape="rect" id="node68" href="googleapiclient.http.MediaIoBaseUpload-class.html#chunksize" title="Chunk size for resumable uploads." alt="" coords="224,116,392,135"/>
+<area shape="rect" id="node68" href="googleapiclient.http.MediaIoBaseUpload-class.html#mimetype" title="Mime type of the body." alt="" coords="224,135,392,153"/>
+<area shape="rect" id="node68" href="googleapiclient.http.MediaIoBaseUpload-class.html#size" title="Size of upload." alt="" coords="224,153,392,172"/>
+<area shape="rect" id="node68" href="googleapiclient.http.MediaIoBaseUpload-class.html#resumable" title="Whether this upload is resumable." alt="" coords="224,172,392,191"/>
+<area shape="rect" id="node68" href="googleapiclient.http.MediaIoBaseUpload-class.html#getbytes" title="Get bytes from the media." alt="" coords="224,191,392,209"/>
+<area shape="rect" id="node68" href="googleapiclient.http.MediaIoBaseUpload-class.html#has_stream" title="Does the underlying upload support a streaming interface." alt="" coords="224,209,392,228"/>
+<area shape="rect" id="node68" href="googleapiclient.http.MediaIoBaseUpload-class.html#stream" title="A stream interface to the data being uploaded." alt="" coords="224,228,392,247"/>
+<area shape="rect" id="node2" href="googleapiclient.http.MediaIoBaseUpload-class.html" title="A MediaUpload for a io.Base objects." alt="" coords="212,83,404,253"/>
+<area shape="rect" id="node69" href="googleapiclient.http.MediaUpload-class.html#new_from_json" title="Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json()." alt="" coords="240,39,376,57"/>
+<area shape="rect" id="node3" href="googleapiclient.http.MediaUpload-class.html" title="Describes a media object to upload." alt="" coords="228,6,388,63"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_25.gif" alt='' usemap="#uml_class_diagram_for_googleap_25" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+A MediaUpload for a file.
+
+Construct a MediaFileUpload and pass as the media_body parameter of the
+method. For example, if we had a service that allowed uploading images:
+
+
+  media = MediaFileUpload('cow.png', mimetype='image/png',
+    chunksize=1024*1024, resumable=True)
+  farm.animals().insert(
+      id='cow',
+      name='cow.png',
+      media_body=media).execute()
+
+Depending on the platform you are working on, you may pass -1 as the
+chunksize, which indicates that the entire file should be uploaded in a single
+request. If the underlying platform supports streams, such as Python 2.6 or
+later, then this can be very efficient as it avoids multiple connections, and
+also avoids loading the entire file into memory before sending it. Note that
+Google App Engine has a 5MB limit on request size, so you should never set
+your chunksize larger than 5MB, or to -1.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaFileUpload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">mimetype</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>,
+        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaFileUpload.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaFileUpload-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Creating a JSON representation of an instance of MediaFileUpload.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaFileUpload.to_json">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a></code></b>:
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#chunksize">chunksize</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#getbytes">getbytes</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#has_stream">has_stream</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#mimetype">mimetype</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#resumable">resumable</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#size">size</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#stream">stream</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a></code></b> (private):
+      <code><a href="googleapiclient.http.MediaUpload-class.html#_to_json" onclick="show_private();">_to_json</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS METHODS ==================== -->
+<a name="section-ClassMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a></code></b>:
+      <code><a href="googleapiclient.http.MediaUpload-class.html#new_from_json">new_from_json</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="from_json"></a><span class="summary-sig-name">from_json</span>(<span class="summary-sig-arg">s</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaFileUpload.from_json">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>,
+        <span class="sig-arg">mimetype</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>,
+        <span class="sig-arg">resumable</span>=<span class="sig-default">False</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaFileUpload.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor.
+
+Args:
+  filename: string, Name of the file.
+  mimetype: string, Mime-type of the file. If None then a mime-type will be
+    guessed from the file extension.
+  chunksize: int, File will be uploaded in chunks of this many bytes. Only
+    used if resumable=True. Pass in a value of -1 if the file is to be
+    uploaded in a single chunk. Note that Google App Engine has a 5MB limit
+    on request size, so you should never set your chunksize larger than 5MB,
+    or to -1.
+  resumable: bool, True if this is a resumable upload. False means upload
+    in a single request.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(2)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="to_json"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaFileUpload.to_json">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Creating a JSON representation of an instance of MediaFileUpload.
+
+Returns:
+   string, a JSON representation of this instance, suitable to pass to
+   from_json().
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#to_json">MediaUpload.to_json</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html b/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html
new file mode 100644
index 0000000..84c53d8
--- /dev/null
+++ b/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.MediaInMemoryUpload</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;MediaInMemoryUpload
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.MediaInMemoryUpload-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaInMemoryUpload</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaInMemoryUpload">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_26" name="uml_class_diagram_for_googleap_26">
+<area shape="rect" id="node70" href="googleapiclient.http.MediaInMemoryUpload-class.html#__init__" title="Create a new MediaInMemoryUpload." alt="" coords="17,324,689,343"/>
+<area shape="rect" id="node1" href="googleapiclient.http.MediaInMemoryUpload-class.html" title="MediaUpload for a chunk of bytes." alt="" coords="5,291,701,349"/>
+<area shape="rect" id="node71" href="googleapiclient.http.MediaIoBaseUpload-class.html#chunksize" title="Chunk size for resumable uploads." alt="" coords="269,116,437,135"/>
+<area shape="rect" id="node71" href="googleapiclient.http.MediaIoBaseUpload-class.html#mimetype" title="Mime type of the body." alt="" coords="269,135,437,153"/>
+<area shape="rect" id="node71" href="googleapiclient.http.MediaIoBaseUpload-class.html#size" title="Size of upload." alt="" coords="269,153,437,172"/>
+<area shape="rect" id="node71" href="googleapiclient.http.MediaIoBaseUpload-class.html#resumable" title="Whether this upload is resumable." alt="" coords="269,172,437,191"/>
+<area shape="rect" id="node71" href="googleapiclient.http.MediaIoBaseUpload-class.html#getbytes" title="Get bytes from the media." alt="" coords="269,191,437,209"/>
+<area shape="rect" id="node71" href="googleapiclient.http.MediaIoBaseUpload-class.html#has_stream" title="Does the underlying upload support a streaming interface." alt="" coords="269,209,437,228"/>
+<area shape="rect" id="node71" href="googleapiclient.http.MediaIoBaseUpload-class.html#stream" title="A stream interface to the data being uploaded." alt="" coords="269,228,437,247"/>
+<area shape="rect" id="node71" href="googleapiclient.http.MediaIoBaseUpload-class.html#to_json" title="This upload type is not serializable." alt="" coords="269,247,437,265"/>
+<area shape="rect" id="node2" href="googleapiclient.http.MediaIoBaseUpload-class.html" title="A MediaUpload for a io.Base objects." alt="" coords="257,83,449,271"/>
+<area shape="rect" id="node72" href="googleapiclient.http.MediaUpload-class.html#new_from_json" title="Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json()." alt="" coords="285,39,421,57"/>
+<area shape="rect" id="node3" href="googleapiclient.http.MediaUpload-class.html" title="Describes a media object to upload." alt="" coords="273,6,433,63"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_26.gif" alt='' usemap="#uml_class_diagram_for_googleap_26" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+MediaUpload for a chunk of bytes.
+
+DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for
+the stream.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaInMemoryUpload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">body</span>,
+        <span class="summary-sig-arg">mimetype</span>=<span class="summary-sig-default">'application/octet-stream'</span>,
+        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>,
+        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Create a new MediaInMemoryUpload.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaInMemoryUpload.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a></code></b>:
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#chunksize">chunksize</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#getbytes">getbytes</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#has_stream">has_stream</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#mimetype">mimetype</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#resumable">resumable</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#size">size</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#stream">stream</a></code>,
+      <code><a href="googleapiclient.http.MediaIoBaseUpload-class.html#to_json">to_json</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a></code></b> (private):
+      <code><a href="googleapiclient.http.MediaUpload-class.html#_to_json" onclick="show_private();">_to_json</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS METHODS ==================== -->
+<a name="section-ClassMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a></code></b>:
+      <code><a href="googleapiclient.http.MediaUpload-class.html#new_from_json">new_from_json</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">body</span>,
+        <span class="sig-arg">mimetype</span>=<span class="sig-default">'application/octet-stream'</span>,
+        <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>,
+        <span class="sig-arg">resumable</span>=<span class="sig-default">False</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaInMemoryUpload.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Create a new MediaInMemoryUpload.
+
+DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for
+the stream.
+
+Args:
+  body: string, Bytes of body content.
+  mimetype: string, Mime-type of the file or default of
+    'application/octet-stream'.
+  chunksize: int, File will be uploaded in chunks of this many bytes. Only
+    used if resumable=True.
+  resumable: bool, True if this is a resumable upload. False means upload
+    in a single request.
+  
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(2)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html b/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html
new file mode 100644
index 0000000..62125e0
--- /dev/null
+++ b/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.MediaIoBaseDownload</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;MediaIoBaseDownload
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.MediaIoBaseDownload-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaIoBaseDownload</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_27" name="uml_class_diagram_for_googleap_27">
+<area shape="rect" id="node73" href="googleapiclient.http.MediaIoBaseDownload-class.html#__init__" title="Constructor." alt="" coords="17,39,397,57"/>
+<area shape="rect" id="node73" href="googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk" title="Get the next chunk of the download." alt="" coords="17,57,397,76"/>
+<area shape="rect" id="node1" href="googleapiclient.http.MediaIoBaseDownload-class.html" title="&quot;Download media resources." alt="" coords="5,6,408,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_27.gif" alt='' usemap="#uml_class_diagram_for_googleap_27" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+&quot;Download media resources.
+
+Note that the Python file object is compatible with io.Base and can be used
+with this class also.
+
+
+Example:
+  request = farms.animals().get_media(id='cow')
+  fh = io.FileIO('cow.png', mode='wb')
+  downloader = MediaIoBaseDownload(fh, request, chunksize=1024*1024)
+
+  done = False
+  while done is False:
+    status, done = downloader.next_chunk()
+    if status:
+      print &quot;Download %d%%.&quot; % int(status.progress() * 100)
+  print &quot;Download Complete!&quot;
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseDownload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fd</span>,
+        <span class="summary-sig-arg">request</span>,
+        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>)</span><br />
+      Constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk" class="summary-sig-name">next_chunk</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num_retries</span>=<span class="summary-sig-default">0</span>)</span><br />
+      Get the next chunk of the download.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload.next_chunk">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fd</span>,
+        <span class="sig-arg">request</span>,
+        <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor.
+
+Args:
+  fd: io.Base or file object, The stream in which to write the downloaded
+    bytes.
+  request: googleapiclient.http.HttpRequest, the media request to perform in
+    chunks.
+  chunksize: int, File will be downloaded in chunks of this many bytes.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(3)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="next_chunk"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">next_chunk</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">num_retries</span>=<span class="sig-default">0</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseDownload.next_chunk">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Get the next chunk of the download.
+
+Args:
+  num_retries: Integer, number of times to retry 500's with randomized
+        exponential backoff. If all retries fail, the raised HttpError
+        represents the last request. If zero (default), we attempt the
+        request only once.
+
+Returns:
+  (status, done): (MediaDownloadStatus, boolean)
+     The value of 'done' will be True when the media has been fully
+     downloaded.
+
+Raises:
+  googleapiclient.errors.HttpError if the response was not a 2xx.
+  httplib2.HttpLib2Error if a transport error has occured.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(1)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html b/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html
new file mode 100644
index 0000000..242534b
--- /dev/null
+++ b/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html
@@ -0,0 +1,696 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.MediaIoBaseUpload</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;MediaIoBaseUpload
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaIoBaseUpload</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_28" name="uml_class_diagram_for_googleap_28">
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#__init__" title="Constructor." alt="" coords="17,116,520,135"/>
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#chunksize" title="Chunk size for resumable uploads." alt="" coords="17,135,520,153"/>
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#mimetype" title="Mime type of the body." alt="" coords="17,153,520,172"/>
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#size" title="Size of upload." alt="" coords="17,172,520,191"/>
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#resumable" title="Whether this upload is resumable." alt="" coords="17,191,520,209"/>
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#getbytes" title="Get bytes from the media." alt="" coords="17,209,520,228"/>
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#has_stream" title="Does the underlying upload support a streaming interface." alt="" coords="17,228,520,247"/>
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#stream" title="A stream interface to the data being uploaded." alt="" coords="17,247,520,265"/>
+<area shape="rect" id="node74" href="googleapiclient.http.MediaIoBaseUpload-class.html#to_json" title="This upload type is not serializable." alt="" coords="17,265,520,284"/>
+<area shape="rect" id="node1" href="googleapiclient.http.MediaIoBaseUpload-class.html" title="A MediaUpload for a io.Base objects." alt="" coords="5,83,531,290"/>
+<area shape="rect" id="node75" href="googleapiclient.http.MediaUpload-class.html#new_from_json" title="Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json()." alt="" coords="201,39,337,57"/>
+<area shape="rect" id="node2" href="googleapiclient.http.MediaUpload-class.html" title="Describes a media object to upload." alt="" coords="189,6,349,63"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_28.gif" alt='' usemap="#uml_class_diagram_for_googleap_28" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+A MediaUpload for a io.Base objects.
+
+Note that the Python file object is compatible with io.Base and can be used
+with this class also.
+
+  fh = io.BytesIO('...Some data to upload...')
+  media = MediaIoBaseUpload(fh, mimetype='image/png',
+    chunksize=1024*1024, resumable=True)
+  farm.animals().insert(
+      id='cow',
+      name='cow.png',
+      media_body=media).execute()
+
+Depending on the platform you are working on, you may pass -1 as the
+chunksize, which indicates that the entire file should be uploaded in a single
+request. If the underlying platform supports streams, such as Python 2.6 or
+later, then this can be very efficient as it avoids multiple connections, and
+also avoids loading the entire file into memory before sending it. Note that
+Google App Engine has a 5MB limit on request size, so you should never set
+your chunksize larger than 5MB, or to -1.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fd</span>,
+        <span class="summary-sig-arg">mimetype</span>,
+        <span class="summary-sig-arg">chunksize</span>=<span class="summary-sig-default">DEFAULT_CHUNK_SIZE</span>,
+        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#chunksize" class="summary-sig-name">chunksize</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Chunk size for resumable uploads.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.chunksize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#mimetype" class="summary-sig-name">mimetype</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Mime type of the body.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.mimetype">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#size" class="summary-sig-name">size</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Size of upload.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.size">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#resumable" class="summary-sig-name">resumable</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Whether this upload is resumable.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.resumable">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#getbytes" class="summary-sig-name">getbytes</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">begin</span>,
+        <span class="summary-sig-arg">length</span>)</span><br />
+      Get bytes from the media.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.getbytes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#has_stream" class="summary-sig-name">has_stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Does the underlying upload support a streaming interface.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.has_stream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#stream" class="summary-sig-name">stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      A stream interface to the data being uploaded.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.stream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      This upload type is not serializable.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.to_json">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a></code></b> (private):
+      <code><a href="googleapiclient.http.MediaUpload-class.html#_to_json" onclick="show_private();">_to_json</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS METHODS ==================== -->
+<a name="section-ClassMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a></code></b>:
+      <code><a href="googleapiclient.http.MediaUpload-class.html#new_from_json">new_from_json</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fd</span>,
+        <span class="sig-arg">mimetype</span>,
+        <span class="sig-arg">chunksize</span>=<span class="sig-default">DEFAULT_CHUNK_SIZE</span>,
+        <span class="sig-arg">resumable</span>=<span class="sig-default">False</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor.
+
+Args:
+  fd: io.Base or file object, The source of the bytes to upload. MUST be
+    opened in blocking mode, do not use streams opened in non-blocking mode.
+    The given stream must be seekable, that is, it must be able to call
+    seek() on fd.
+  mimetype: string, Mime-type of the file.
+  chunksize: int, File will be uploaded in chunks of this many bytes. Only
+    used if resumable=True. Pass in a value of -1 if the file is to be
+    uploaded as a single chunk. Note that Google App Engine has a 5MB limit
+    on request size, so you should never set your chunksize larger than 5MB,
+    or to -1.
+  resumable: bool, True if this is a resumable upload. False means upload
+    in a single request.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(3)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="chunksize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">chunksize</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.chunksize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Chunk size for resumable uploads.
+
+Returns:
+  Chunk size in bytes.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#chunksize">MediaUpload.chunksize</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="mimetype"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">mimetype</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.mimetype">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Mime type of the body.
+
+Returns:
+  Mime type.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#mimetype">MediaUpload.mimetype</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="size"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">size</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.size">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Size of upload.
+
+Returns:
+  Size of the body, or None of the size is unknown.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#size">MediaUpload.size</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="resumable"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">resumable</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.resumable">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Whether this upload is resumable.
+
+Returns:
+  True if resumable upload or False.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#resumable">MediaUpload.resumable</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getbytes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getbytes</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">begin</span>,
+        <span class="sig-arg">length</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.getbytes">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Get bytes from the media.
+
+Args:
+  begin: int, offset from beginning of file.
+  length: int, number of bytes to read, starting at begin.
+
+Returns:
+  A string of bytes read. May be shorted than length if EOF was reached
+  first.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#getbytes">MediaUpload.getbytes</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="has_stream"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">has_stream</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.has_stream">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Does the underlying upload support a streaming interface.
+
+Streaming means it is an io.IOBase subclass that supports seek, i.e.
+seekable() returns True.
+
+Returns:
+  True if the call to stream() will return an instance of a seekable io.Base
+  subclass.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#has_stream">MediaUpload.has_stream</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="stream"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.stream">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+A stream interface to the data being uploaded.
+
+Returns:
+  The returned value is an io.IOBase subclass that supports seek, i.e.
+  seekable() returns True.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#stream">MediaUpload.stream</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="to_json"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaIoBaseUpload.to_json">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+This upload type is not serializable.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.http.MediaUpload-class.html#to_json">MediaUpload.to_json</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.MediaUpload-class.html b/docs/epy/googleapiclient.http.MediaUpload-class.html
new file mode 100644
index 0000000..6716514
--- /dev/null
+++ b/docs/epy/googleapiclient.http.MediaUpload-class.html
@@ -0,0 +1,703 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.MediaUpload</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;MediaUpload
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.MediaUpload-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaUpload</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_29" name="uml_class_diagram_for_googleap_29">
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#chunksize" title="Chunk size for resumable uploads." alt="" coords="17,39,172,57"/>
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#mimetype" title="Mime type of the body." alt="" coords="17,57,172,76"/>
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#size" title="Size of upload." alt="" coords="17,76,172,95"/>
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#resumable" title="Whether this upload is resumable." alt="" coords="17,95,172,113"/>
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#getbytes" title="Get bytes from the media." alt="" coords="17,113,172,132"/>
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#has_stream" title="Does the underlying upload support a streaming interface." alt="" coords="17,132,172,151"/>
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#stream" title="A stream interface to the data being uploaded." alt="" coords="17,151,172,169"/>
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#to_json" title="Create a JSON representation of an instance of MediaUpload." alt="" coords="17,169,172,188"/>
+<area shape="rect" id="node76" href="googleapiclient.http.MediaUpload-class.html#new_from_json" title="Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json()." alt="" coords="17,188,172,207"/>
+<area shape="rect" id="node1" href="googleapiclient.http.MediaUpload-class.html" title="Describes a media object to upload." alt="" coords="5,6,184,213"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_29.gif" alt='' usemap="#uml_class_diagram_for_googleap_29" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Describes a media object to upload.
+
+Base class that defines the interface of MediaUpload subclasses.
+
+Note that subclasses of MediaUpload may allow you to control the chunksize
+when uploading a media object. It is important to keep the size of the chunk
+as large as possible to keep the upload efficient. Other factors may influence
+the size of the chunk you use, particularly if you are working in an
+environment where individual HTTP requests may have a hardcoded time limit,
+such as under certain classes of requests under Google App Engine.
+
+Streams are io.Base compatible objects that support seek(). Some MediaUpload
+subclasses support using streams directly to upload data. Support for
+streaming may be indicated by a MediaUpload sub-class and if appropriate for a
+platform that stream will be used for uploading the media object. The support
+for streaming is indicated by has_stream() returning True. The stream() method
+should return an io.Base object that supports seek(). On platforms where the
+underlying httplib module supports streaming, for example Python 2.6 and
+later, the stream will be passed into the http library which will result in
+less memory being used and possibly faster uploads.
+
+If you need to upload media that can't be uploaded using any of the existing
+MediaUpload sub-class then you can sub-class MediaUpload for your particular
+needs.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#chunksize" class="summary-sig-name">chunksize</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Chunk size for resumable uploads.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.chunksize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#mimetype" class="summary-sig-name">mimetype</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Mime type of the body.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.mimetype">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#size" class="summary-sig-name">size</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Size of upload.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.size">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#resumable" class="summary-sig-name">resumable</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Whether this upload is resumable.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.resumable">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#getbytes" class="summary-sig-name">getbytes</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">begin</span>,
+        <span class="summary-sig-arg">end</span>)</span><br />
+      Get bytes from the media.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.getbytes">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#has_stream" class="summary-sig-name">has_stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Does the underlying upload support a streaming interface.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.has_stream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#stream" class="summary-sig-name">stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      A stream interface to the data being uploaded.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.stream">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#_to_json" class="summary-sig-name" onclick="show_private();">_to_json</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">strip</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Utility function for creating a JSON representation of a MediaUpload.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload._to_json">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#to_json" class="summary-sig-name">to_json</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Create a JSON representation of an instance of MediaUpload.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.to_json">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__init__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS METHODS ==================== -->
+<a name="section-ClassMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUpload-class.html#new_from_json" class="summary-sig-name">new_from_json</a>(<span class="summary-sig-arg">cls</span>,
+        <span class="summary-sig-arg">s</span>)</span><br />
+      Utility class method to instantiate a MediaUpload subclass from a JSON
+representation produced by to_json().</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.new_from_json">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="chunksize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">chunksize</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.chunksize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Chunk size for resumable uploads.
+
+Returns:
+  Chunk size in bytes.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="mimetype"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">mimetype</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.mimetype">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Mime type of the body.
+
+Returns:
+  Mime type.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="size"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">size</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.size">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Size of upload.
+
+Returns:
+  Size of the body, or None of the size is unknown.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="resumable"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">resumable</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.resumable">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Whether this upload is resumable.
+
+Returns:
+  True if resumable upload or False.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getbytes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getbytes</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">begin</span>,
+        <span class="sig-arg">end</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.getbytes">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Get bytes from the media.
+
+Args:
+  begin: int, offset from beginning of file.
+  length: int, number of bytes to read, starting at begin.
+
+Returns:
+  A string of bytes read. May be shorter than length if EOF was reached
+  first.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="has_stream"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">has_stream</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.has_stream">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Does the underlying upload support a streaming interface.
+
+Streaming means it is an io.IOBase subclass that supports seek, i.e.
+seekable() returns True.
+
+Returns:
+  True if the call to stream() will return an instance of a seekable io.Base
+  subclass.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="stream"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.stream">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+A stream interface to the data being uploaded.
+
+Returns:
+  The returned value is an io.IOBase subclass that supports seek, i.e.
+  seekable() returns True.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_to_json"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_to_json</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">strip</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload._to_json">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Utility function for creating a JSON representation of a MediaUpload.
+
+Args:
+  strip: array, An array of names of members to not include in the JSON.
+
+Returns:
+   string, a JSON representation of this instance, suitable to pass to
+   from_json().
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(1)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="to_json"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_json</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.to_json">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Create a JSON representation of an instance of MediaUpload.
+
+Returns:
+   string, a JSON representation of this instance, suitable to pass to
+   from_json().
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="new_from_json"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">new_from_json</span>(<span class="sig-arg">cls</span>,
+        <span class="sig-arg">s</span>)</span>
+    <br /><em class="fname">Class Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUpload.new_from_json">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Utility class method to instantiate a MediaUpload subclass from a JSON
+representation produced by to_json().
+
+Args:
+  s: string, JSON from to_json().
+
+Returns:
+  An instance of the subclass of MediaUpload that was serialized with
+  to_json().
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.MediaUploadProgress-class.html b/docs/epy/googleapiclient.http.MediaUploadProgress-class.html
new file mode 100644
index 0000000..0fbb875
--- /dev/null
+++ b/docs/epy/googleapiclient.http.MediaUploadProgress-class.html
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.MediaUploadProgress</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;MediaUploadProgress
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.MediaUploadProgress-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaUploadProgress</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUploadProgress">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_30" name="uml_class_diagram_for_googleap_30">
+<area shape="rect" id="node77" href="googleapiclient.http.MediaUploadProgress-class.html#__init__" title="Constructor." alt="" coords="17,39,288,57"/>
+<area shape="rect" id="node77" href="googleapiclient.http.MediaUploadProgress-class.html#progress" title="Percent of upload completed, as a float." alt="" coords="17,57,288,76"/>
+<area shape="rect" id="node1" href="googleapiclient.http.MediaUploadProgress-class.html" title="Status of a resumable upload." alt="" coords="5,6,299,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_30.gif" alt='' usemap="#uml_class_diagram_for_googleap_30" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Status of a resumable upload.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUploadProgress-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resumable_progress</span>,
+        <span class="summary-sig-arg">total_size</span>)</span><br />
+      Constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUploadProgress.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.MediaUploadProgress-class.html#progress" class="summary-sig-name">progress</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Percent of upload completed, as a float.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUploadProgress.progress">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">resumable_progress</span>,
+        <span class="sig-arg">total_size</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUploadProgress.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor.
+
+Args:
+  resumable_progress: int, bytes sent so far.
+  total_size: int, total bytes in complete upload, or None if the total
+    upload size isn't known ahead of time.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="progress"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">progress</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#MediaUploadProgress.progress">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Percent of upload completed, as a float.
+
+Returns:
+  the percentage complete as a float, returning 0.0 if the total size of
+  the upload is unknown.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http.RequestMockBuilder-class.html b/docs/epy/googleapiclient.http.RequestMockBuilder-class.html
new file mode 100644
index 0000000..a3aa7b6
--- /dev/null
+++ b/docs/epy/googleapiclient.http.RequestMockBuilder-class.html
@@ -0,0 +1,341 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http.RequestMockBuilder</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;RequestMockBuilder
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http.RequestMockBuilder-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class RequestMockBuilder</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#RequestMockBuilder">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_31" name="uml_class_diagram_for_googleap_31">
+<area shape="rect" id="node78" href="googleapiclient.http.RequestMockBuilder-class.html#__init__" title="Constructor for RequestMockBuilder" alt="" coords="17,39,680,57"/>
+<area shape="rect" id="node78" href="googleapiclient.http.RequestMockBuilder-class.html#__call__" title="Implements the callable interface that discovery.build() expects of requestBuilder, which is to build an object compatible with HttpRequest.execute()." alt="" coords="17,57,680,76"/>
+<area shape="rect" id="node1" href="googleapiclient.http.RequestMockBuilder-class.html" title="A simple mock of HttpRequest" alt="" coords="5,6,691,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_31.gif" alt='' usemap="#uml_class_diagram_for_googleap_31" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+A simple mock of HttpRequest
+
+Pass in a dictionary to the constructor that maps request methodIds to
+tuples of (httplib2.Response, content, opt_expected_body) that should be
+returned when that method is called. None may also be passed in for the
+httplib2.Response, in which case a 200 OK response will be generated.
+If an opt_expected_body (str or dict) is provided, it will be compared to
+the body and UnexpectedBodyError will be raised on inequality.
+
+Example:
+  response = '{&quot;data&quot;: {&quot;id&quot;: &quot;tag:google.c...'
+  requestBuilder = RequestMockBuilder(
+    {
+      'plus.activities.get': (None, response),
+    }
+  )
+  googleapiclient.discovery.build(&quot;plus&quot;, &quot;v1&quot;, requestBuilder=requestBuilder)
+
+Methods that you do not supply a response for will return a
+200 OK with an empty string as the response content or raise an excpetion
+if check_unexpected is set to True. The methodId is taken from the rpcName
+in the discovery document.
+
+For more details see the project wiki.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.RequestMockBuilder-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">responses</span>,
+        <span class="summary-sig-arg">check_unexpected</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Constructor for RequestMockBuilder</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#RequestMockBuilder.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http.RequestMockBuilder-class.html#__call__" class="summary-sig-name">__call__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">http</span>,
+        <span class="summary-sig-arg">postproc</span>,
+        <span class="summary-sig-arg">uri</span>,
+        <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
+        <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">methodId</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Implements the callable interface that discovery.build() expects
+of requestBuilder, which is to build an object compatible with
+HttpRequest.execute().</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#RequestMockBuilder.__call__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">responses</span>,
+        <span class="sig-arg">check_unexpected</span>=<span class="sig-default">False</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#RequestMockBuilder.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor for RequestMockBuilder
+
+The constructed object should be a callable object
+that can replace the class HttpResponse.
+
+responses - A dictionary that maps methodIds into tuples
+            of (httplib2.Response, content). The methodId
+            comes from the 'rpcName' field in the discovery
+            document.
+check_unexpected - A boolean setting whether or not UnexpectedMethodError
+                   should be raised on unsupplied method.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__call__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__call__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">http</span>,
+        <span class="sig-arg">postproc</span>,
+        <span class="sig-arg">uri</span>,
+        <span class="sig-arg">method</span>=<span class="sig-default">'GET'</span>,
+        <span class="sig-arg">body</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">headers</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">methodId</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">resumable</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Call operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#RequestMockBuilder.__call__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Implements the callable interface that discovery.build() expects
+of requestBuilder, which is to build an object compatible with
+HttpRequest.execute(). See that method for the description of the
+parameters and the expected response.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.http._StreamSlice-class.html b/docs/epy/googleapiclient.http._StreamSlice-class.html
new file mode 100644
index 0000000..0fe2d40
--- /dev/null
+++ b/docs/epy/googleapiclient.http._StreamSlice-class.html
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.http._StreamSlice</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
+        Class&nbsp;_StreamSlice
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.http._StreamSlice-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class _StreamSlice</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#_StreamSlice">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_32" name="uml_class_diagram_for_googleap_32">
+<area shape="rect" id="node79" href="googleapiclient.http._StreamSlice-class.html#__init__" title="Constructor." alt="" coords="17,39,253,57"/>
+<area shape="rect" id="node79" href="googleapiclient.http._StreamSlice-class.html#read" title="Read n bytes." alt="" coords="17,57,253,76"/>
+<area shape="rect" id="node1" href="googleapiclient.http._StreamSlice-class.html" title="Truncated stream." alt="" coords="5,6,264,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_32.gif" alt='' usemap="#uml_class_diagram_for_googleap_32" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Truncated stream.
+
+Takes a stream and presents a stream that is a slice of the original stream.
+This is used when uploading media in chunks. In later versions of Python a
+stream can be passed to httplib in place of the string of data to send. The
+problem is that httplib just blindly reads to the end of the stream. This
+wrapper presents a virtual stream that only reads to the end of the chunk.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http._StreamSlice-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">stream</span>,
+        <span class="summary-sig-arg">begin</span>,
+        <span class="summary-sig-arg">chunksize</span>)</span><br />
+      Constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#_StreamSlice.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.http._StreamSlice-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">n</span>=<span class="summary-sig-default">-1</span>)</span><br />
+      Read n bytes.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.http-pysrc.html#_StreamSlice.read">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">stream</span>,
+        <span class="sig-arg">begin</span>,
+        <span class="sig-arg">chunksize</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#_StreamSlice.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor.
+
+Args:
+  stream: (io.Base, file object), the stream to wrap.
+  begin: int, the seek position the chunk begins at.
+  chunksize: int, the size of the chunk.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">n</span>=<span class="sig-default">-1</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.http-pysrc.html#_StreamSlice.read">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Read n bytes.
+
+Args:
+  n, int, the number of bytes to read.
+
+Returns:
+  A string of length 'n', or less if EOF is reached.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.mimeparse-module.html b/docs/epy/googleapiclient.mimeparse-module.html
new file mode 100644
index 0000000..7cd9857
--- /dev/null
+++ b/docs/epy/googleapiclient.mimeparse-module.html
@@ -0,0 +1,512 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.mimeparse</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;mimeparse
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.mimeparse-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module mimeparse</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+MIME-Type Parser
+
+This module provides basic functions for handling mime-types. It can handle
+matching mime-types against a list of media-ranges. See section 14.1 of the
+HTTP specification [RFC 2616] for a complete explanation.
+
+   http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
+
+Contents:
+ - parse_mime_type():   Parses a mime-type into its component parts.
+ - parse_media_range(): Media-ranges are mime-types with wild-cards and a 'q'
+                          quality parameter.
+ - quality():           Determines the quality ('q') of a mime-type when
+                          compared against a list of media-ranges.
+ - quality_parsed():    Just like quality() except the second parameter must be
+                          pre-parsed.
+ - best_match():        Choose the mime-type with the highest quality ('q')
+                          from a list of candidates.
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Version:</strong>
+        0.1.3
+      </p>
+      <p><strong>Author:</strong>
+        Joe Gregorio
+      </p>
+      <p><strong>License:</strong>
+        MIT License
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.mimeparse-module.html#parse_mime_type" class="summary-sig-name">parse_mime_type</a>(<span class="summary-sig-arg">mime_type</span>)</span><br />
+      Parses a mime-type into its component parts.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#parse_mime_type">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.mimeparse-module.html#parse_media_range" class="summary-sig-name">parse_media_range</a>(<span class="summary-sig-arg">range</span>)</span><br />
+      Parse a media-range into its component parts.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#parse_media_range">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.mimeparse-module.html#fitness_and_quality_parsed" class="summary-sig-name">fitness_and_quality_parsed</a>(<span class="summary-sig-arg">mime_type</span>,
+        <span class="summary-sig-arg">parsed_ranges</span>)</span><br />
+      Find the best match for a mime-type amongst parsed media-ranges.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#fitness_and_quality_parsed">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.mimeparse-module.html#quality_parsed" class="summary-sig-name">quality_parsed</a>(<span class="summary-sig-arg">mime_type</span>,
+        <span class="summary-sig-arg">parsed_ranges</span>)</span><br />
+      Find the best match for a mime-type amongst parsed media-ranges.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#quality_parsed">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.mimeparse-module.html#quality" class="summary-sig-name">quality</a>(<span class="summary-sig-arg">mime_type</span>,
+        <span class="summary-sig-arg">ranges</span>)</span><br />
+      Return the quality ('q') of a mime-type against a list of media-ranges.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#quality">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.mimeparse-module.html#best_match" class="summary-sig-name">best_match</a>(<span class="summary-sig-arg">supported</span>,
+        <span class="summary-sig-arg">header</span>)</span><br />
+      Return mime-type with the highest quality ('q') from list of candidates.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#best_match">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_filter_blank"></a><span class="summary-sig-name">_filter_blank</span>(<span class="summary-sig-arg">i</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#_filter_blank">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__email__"></a><span class="summary-name">__email__</span> = <code title="'joe@bitworking.org'">'joe@bitworking.org'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="__credits__"></a><span class="summary-name">__credits__</span> = <code title="''">''</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="parse_mime_type"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">parse_mime_type</span>(<span class="sig-arg">mime_type</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#parse_mime_type">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Parses a mime-type into its component parts.
+
+Carves up a mime-type and returns a tuple of the (type, subtype, params)
+where 'params' is a dictionary of all the parameters for the media range.
+For example, the media range 'application/xhtml;q=0.5' would get parsed
+into:
+
+   ('application', 'xhtml', {'q', '0.5'})
+   
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="parse_media_range"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">parse_media_range</span>(<span class="sig-arg">range</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#parse_media_range">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Parse a media-range into its component parts.
+
+Carves up a media range and returns a tuple of the (type, subtype,
+params) where 'params' is a dictionary of all the parameters for the media
+range.  For example, the media range 'application/*;q=0.5' would get parsed
+into:
+
+   ('application', '*', {'q', '0.5'})
+
+In addition this function also guarantees that there is a value for 'q'
+in the params dictionary, filling it in with a proper default if
+necessary.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="fitness_and_quality_parsed"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">fitness_and_quality_parsed</span>(<span class="sig-arg">mime_type</span>,
+        <span class="sig-arg">parsed_ranges</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#fitness_and_quality_parsed">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Find the best match for a mime-type amongst parsed media-ranges.
+
+Find the best match for a given mime-type against a list of media_ranges
+that have already been parsed by parse_media_range(). Returns a tuple of
+the fitness value and the value of the 'q' quality parameter of the best
+match, or (-1, 0) if no match was found. Just as for quality_parsed(),
+'parsed_ranges' must be a list of parsed media ranges.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="quality_parsed"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">quality_parsed</span>(<span class="sig-arg">mime_type</span>,
+        <span class="sig-arg">parsed_ranges</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#quality_parsed">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Find the best match for a mime-type amongst parsed media-ranges.
+
+Find the best match for a given mime-type against a list of media_ranges
+that have already been parsed by parse_media_range(). Returns the 'q'
+quality parameter of the best match, 0 if no match was found. This function
+bahaves the same as quality() except that 'parsed_ranges' must be a list of
+parsed media ranges.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="quality"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">quality</span>(<span class="sig-arg">mime_type</span>,
+        <span class="sig-arg">ranges</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#quality">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Return the quality ('q') of a mime-type against a list of media-ranges.
+
+Returns the quality 'q' of a mime-type when compared against the
+media-ranges in ranges. For example:
+
+&gt;&gt;&gt; quality('text/html','text/*;q=0.3, text/html;q=0.7,
+              text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5')
+0.7
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="best_match"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">best_match</span>(<span class="sig-arg">supported</span>,
+        <span class="sig-arg">header</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.mimeparse-pysrc.html#best_match">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Return mime-type with the highest quality ('q') from list of candidates.
+
+Takes a list of supported mime-types and finds the best match for all the
+media-ranges listed in header. The value of header must be a string that
+conforms to the format of the HTTP Accept: header. The value of 'supported'
+is a list of mime-types. The list of supported mime-types should be sorted
+in order of increasing desirability, in case of a situation where there is
+a tie.
+
+&gt;&gt;&gt; best_match(['application/xbel+xml', 'text/xml'],
+               'text/*;q=0.5,*/*; q=0.1')
+'text/xml'
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.mimeparse-pysrc.html b/docs/epy/googleapiclient.mimeparse-pysrc.html
new file mode 100644
index 0000000..eeea3a3
--- /dev/null
+++ b/docs/epy/googleapiclient.mimeparse-pysrc.html
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.mimeparse</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;mimeparse
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.mimeparse-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient.mimeparse-module.html">Module googleapiclient.mimeparse</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2007 Joe Gregorio</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the MIT License</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">"""MIME-Type Parser</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">This module provides basic functions for handling mime-types. It can handle</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">matching mime-types against a list of media-ranges. See section 14.1 of the</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">HTTP specification [RFC 2616] for a complete explanation.</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">   http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">Contents:</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring"> - parse_mime_type():   Parses a mime-type into its component parts.</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring"> - parse_media_range(): Media-ranges are mime-types with wild-cards and a 'q'</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">                          quality parameter.</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring"> - quality():           Determines the quality ('q') of a mime-type when</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">                          compared against a list of media-ranges.</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring"> - quality_parsed():    Just like quality() except the second parameter must be</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">                          pre-parsed.</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring"> - best_match():        Choose the mime-type with the highest quality ('q')</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">                          from a list of candidates.</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">'0.1.3'</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'Joe Gregorio'</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable googleapiclient.mimeparse.__email__=googleapiclient.mimeparse-module.html#__email__"><a title="googleapiclient.mimeparse.__email__" class="py-name" href="#" onclick="return doclink('link-0', '__email__', 'link-0');">__email__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'joe@bitworking.org'</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-name">__license__</tt> <tt class="py-op">=</tt> <tt class="py-string">'MIT License'</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable googleapiclient.mimeparse.__credits__=googleapiclient.mimeparse-module.html#__credits__"><a title="googleapiclient.mimeparse.__credits__" class="py-name" href="#" onclick="return doclink('link-1', '__credits__', 'link-1');">__credits__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
+<a name="parse_mime_type"></a><div id="parse_mime_type-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="parse_mime_type-toggle" onclick="return toggle('parse_mime_type');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.mimeparse-module.html#parse_mime_type">parse_mime_type</a><tt class="py-op">(</tt><tt class="py-param">mime_type</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="parse_mime_type-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="parse_mime_type-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-docstring">"""Parses a mime-type into its component parts.</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">    Carves up a mime-type and returns a tuple of the (type, subtype, params)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">    where 'params' is a dictionary of all the parameters for the media range.</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">    For example, the media range 'application/xhtml;q=0.5' would get parsed</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">    into:</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">       ('application', 'xhtml', {'q', '0.5'})</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">       """</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-name">parts</tt> <tt class="py-op">=</tt> <tt class="py-name">mime_type</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">';'</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">param</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>\ </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">param</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">                  <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-name">full_type</tt> <tt class="py-op">=</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-comment"># Java URLConnection class sends an Accept header that includes a</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-comment"># single '*'. Turn it into a legal wildcard.</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">full_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">full_type</tt> <tt class="py-op">=</tt> <tt class="py-string">'*/*'</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">full_type</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="parse_media_range"></a><div id="parse_media_range-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="parse_media_range-toggle" onclick="return toggle('parse_media_range');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.mimeparse-module.html#parse_media_range">parse_media_range</a><tt class="py-op">(</tt><tt class="py-param">range</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="parse_media_range-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="parse_media_range-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-docstring">"""Parse a media-range into its component parts.</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    Carves up a media range and returns a tuple of the (type, subtype,</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">    params) where 'params' is a dictionary of all the parameters for the media</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">    range.  For example, the media range 'application/*;q=0.5' would get parsed</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">    into:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">       ('application', '*', {'q', '0.5'})</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    In addition this function also guarantees that there is a value for 'q'</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">    in the params dictionary, filling it in with a proper default if</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">    necessary.</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Function googleapiclient.mimeparse.parse_mime_type()=googleapiclient.mimeparse-module.html#parse_mime_type"><a title="googleapiclient.mimeparse.parse_mime_type" class="py-name" href="#" onclick="return doclink('link-2', 'parse_mime_type', 'link-2');">parse_mime_type</a></tt><tt class="py-op">(</tt><tt class="py-name">range</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'q'</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-keyword">not</tt> <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> \ </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-keyword">not</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">1</tt>\ </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-keyword">or</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'1'</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="fitness_and_quality_parsed"></a><div id="fitness_and_quality_parsed-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="fitness_and_quality_parsed-toggle" onclick="return toggle('fitness_and_quality_parsed');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.mimeparse-module.html#fitness_and_quality_parsed">fitness_and_quality_parsed</a><tt class="py-op">(</tt><tt class="py-param">mime_type</tt><tt class="py-op">,</tt> <tt class="py-param">parsed_ranges</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fitness_and_quality_parsed-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="fitness_and_quality_parsed-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-docstring">"""Find the best match for a mime-type amongst parsed media-ranges.</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    Find the best match for a given mime-type against a list of media_ranges</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    that have already been parsed by parse_media_range(). Returns a tuple of</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    the fitness value and the value of the 'q' quality parameter of the best</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    match, or (-1, 0) if no match was found. Just as for quality_parsed(),</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">    'parsed_ranges' must be a list of parsed media ranges.</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-name">best_fitness</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-name">best_fit_q</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-name">target_type</tt><tt class="py-op">,</tt> <tt class="py-name">target_subtype</tt><tt class="py-op">,</tt> <tt class="py-name">target_params</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt>\ </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt id="link-3" class="py-name" targets="Function googleapiclient.mimeparse.parse_media_range()=googleapiclient.mimeparse-module.html#parse_media_range"><a title="googleapiclient.mimeparse.parse_media_range" class="py-name" href="#" onclick="return doclink('link-3', 'parse_media_range', 'link-3');">parse_media_range</a></tt><tt class="py-op">(</tt><tt class="py-name">mime_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt><tt class="py-op">,</tt> <tt class="py-name">subtype</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parsed_ranges</tt><tt class="py-op">:</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">type_match</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-name">target_type</tt> <tt class="py-keyword">or</tt>\ </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                      <tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt> <tt class="py-keyword">or</tt>\ </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                      <tt class="py-name">target_type</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">subtype_match</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">subtype</tt> <tt class="py-op">==</tt> <tt class="py-name">target_subtype</tt> <tt class="py-keyword">or</tt>\ </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                         <tt class="py-name">subtype</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt> <tt class="py-keyword">or</tt>\ </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                         <tt class="py-name">target_subtype</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type_match</tt> <tt class="py-keyword">and</tt> <tt class="py-name">subtype_match</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">param_matches</tt> <tt class="py-op">=</tt> <tt class="py-name">reduce</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">:</tt> <tt class="py-name">x</tt> <tt class="py-op">+</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-number">1</tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> \ </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                    <tt class="py-name">target_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-op">!=</tt> <tt class="py-string">'q'</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                    <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">value</tt> <tt class="py-op">==</tt> <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">fitness</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-name">target_type</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-number">100</tt> <tt class="py-keyword">or</tt> <tt class="py-number">0</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">fitness</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">subtype</tt> <tt class="py-op">==</tt> <tt class="py-name">target_subtype</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-number">10</tt> <tt class="py-keyword">or</tt> <tt class="py-number">0</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">fitness</tt> <tt class="py-op">+=</tt> <tt class="py-name">param_matches</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">fitness</tt> <tt class="py-op">&gt;</tt> <tt class="py-name">best_fitness</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                <tt class="py-name">best_fitness</tt> <tt class="py-op">=</tt> <tt class="py-name">fitness</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-name">best_fit_q</tt> <tt class="py-op">=</tt> <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'q'</tt><tt class="py-op">]</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">best_fitness</tt><tt class="py-op">,</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">best_fit_q</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
+<a name="quality_parsed"></a><div id="quality_parsed-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="quality_parsed-toggle" onclick="return toggle('quality_parsed');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.mimeparse-module.html#quality_parsed">quality_parsed</a><tt class="py-op">(</tt><tt class="py-param">mime_type</tt><tt class="py-op">,</tt> <tt class="py-param">parsed_ranges</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="quality_parsed-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="quality_parsed-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-docstring">"""Find the best match for a mime-type amongst parsed media-ranges.</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">    Find the best match for a given mime-type against a list of media_ranges</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">    that have already been parsed by parse_media_range(). Returns the 'q'</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">    quality parameter of the best match, 0 if no match was found. This function</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">    bahaves the same as quality() except that 'parsed_ranges' must be a list of</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">    parsed media ranges.</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-4" class="py-name" targets="Function googleapiclient.mimeparse.fitness_and_quality_parsed()=googleapiclient.mimeparse-module.html#fitness_and_quality_parsed"><a title="googleapiclient.mimeparse.fitness_and_quality_parsed" class="py-name" href="#" onclick="return doclink('link-4', 'fitness_and_quality_parsed', 'link-4');">fitness_and_quality_parsed</a></tt><tt class="py-op">(</tt><tt class="py-name">mime_type</tt><tt class="py-op">,</tt> <tt class="py-name">parsed_ranges</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="quality"></a><div id="quality-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="quality-toggle" onclick="return toggle('quality');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.mimeparse-module.html#quality">quality</a><tt class="py-op">(</tt><tt class="py-param">mime_type</tt><tt class="py-op">,</tt> <tt class="py-param">ranges</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="quality-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="quality-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-docstring">"""Return the quality ('q') of a mime-type against a list of media-ranges.</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">    Returns the quality 'q' of a mime-type when compared against the</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">    media-ranges in ranges. For example:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; quality('text/html','text/*;q=0.3, text/html;q=0.7,</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">                  text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5')</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">    0.7</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">parsed_ranges</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-5" class="py-name"><a title="googleapiclient.mimeparse.parse_media_range" class="py-name" href="#" onclick="return doclink('link-5', 'parse_media_range', 'link-3');">parse_media_range</a></tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ranges</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name" targets="Function googleapiclient.mimeparse.quality_parsed()=googleapiclient.mimeparse-module.html#quality_parsed"><a title="googleapiclient.mimeparse.quality_parsed" class="py-name" href="#" onclick="return doclink('link-6', 'quality_parsed', 'link-6');">quality_parsed</a></tt><tt class="py-op">(</tt><tt class="py-name">mime_type</tt><tt class="py-op">,</tt> <tt class="py-name">parsed_ranges</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
+<a name="best_match"></a><div id="best_match-def"><a name="L142"></a><tt class="py-lineno">142</tt> <a class="py-toggle" href="#" id="best_match-toggle" onclick="return toggle('best_match');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.mimeparse-module.html#best_match">best_match</a><tt class="py-op">(</tt><tt class="py-param">supported</tt><tt class="py-op">,</tt> <tt class="py-param">header</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="best_match-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="best_match-expanded"><a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-docstring">"""Return mime-type with the highest quality ('q') from list of candidates.</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">    Takes a list of supported mime-types and finds the best match for all the</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">    media-ranges listed in header. The value of header must be a string that</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring">    conforms to the format of the HTTP Accept: header. The value of 'supported'</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">    is a list of mime-types. The list of supported mime-types should be sorted</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">    in order of increasing desirability, in case of a situation where there is</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">    a tie.</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">    &gt;&gt;&gt; best_match(['application/xbel+xml', 'text/xml'],</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">                   'text/*;q=0.5,*/*; q=0.1')</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">    'text/xml'</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-name">split_header</tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name" targets="Function googleapiclient.mimeparse._filter_blank()=googleapiclient.mimeparse-module.html#_filter_blank"><a title="googleapiclient.mimeparse._filter_blank" class="py-name" href="#" onclick="return doclink('link-7', '_filter_blank', 'link-7');">_filter_blank</a></tt><tt class="py-op">(</tt><tt class="py-name">header</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-name">parsed_header</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-8" class="py-name"><a title="googleapiclient.mimeparse.parse_media_range" class="py-name" href="#" onclick="return doclink('link-8', 'parse_media_range', 'link-3');">parse_media_range</a></tt><tt class="py-op">(</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">split_header</tt><tt class="py-op">]</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-name">weighted_matches</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">mime_type</tt> <tt class="py-keyword">in</tt> <tt class="py-name">supported</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">weighted_matches</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-9" class="py-name"><a title="googleapiclient.mimeparse.fitness_and_quality_parsed" class="py-name" href="#" onclick="return doclink('link-9', 'fitness_and_quality_parsed', 'link-4');">fitness_and_quality_parsed</a></tt><tt class="py-op">(</tt><tt class="py-name">mime_type</tt><tt class="py-op">,</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                                 <tt class="py-name">parsed_header</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">pos</tt><tt class="py-op">,</tt> <tt class="py-name">mime_type</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">pos</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-name">weighted_matches</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">weighted_matches</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">and</tt> <tt class="py-name">weighted_matches</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt> </tt>
+</div><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"> </tt>
+<a name="_filter_blank"></a><div id="_filter_blank-def"><a name="L169"></a><tt class="py-lineno">169</tt> <a class="py-toggle" href="#" id="_filter_blank-toggle" onclick="return toggle('_filter_blank');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.mimeparse-module.html#_filter_blank">_filter_blank</a><tt class="py-op">(</tt><tt class="py-param">i</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_filter_blank-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_filter_blank-expanded"><a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">i</tt><tt class="py-op">:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-keyword">yield</tt> <tt class="py-name">s</tt> </tt>
+</div><a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.model-module.html b/docs/epy/googleapiclient.model-module.html
new file mode 100644
index 0000000..9a3be59
--- /dev/null
+++ b/docs/epy/googleapiclient.model-module.html
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.model</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;model
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.model-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module model</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.model-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+Model objects for requests and responses.
+
+Each API may support one or more serializations, such
+as JSON, Atom, etc. The model classes are responsible
+for converting between the wire format and the Python
+object representation.
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        jcgregorio@google.com (Joe Gregorio)
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.model.Model-class.html" class="summary-name">Model</a><br />
+      Model base class.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.model.BaseModel-class.html" class="summary-name">BaseModel</a><br />
+      Base model class.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.model.JsonModel-class.html" class="summary-name">JsonModel</a><br />
+      Model class for JSON.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.model.RawModel-class.html" class="summary-name">RawModel</a><br />
+      Model class for requests that don't return JSON.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.model.MediaModel-class.html" class="summary-name">MediaModel</a><br />
+      Model class for requests that return Media.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.model.ProtocolBufferModel-class.html" class="summary-name">ProtocolBufferModel</a><br />
+      Model class for protocol buffers.
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_abstract"></a><span class="summary-sig-name">_abstract</span>()</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#_abstract">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model-module.html#makepatch" class="summary-sig-name">makepatch</a>(<span class="summary-sig-arg">original</span>,
+        <span class="summary-sig-arg">modified</span>)</span><br />
+      Create a patch object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#makepatch">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="dump_request_response"></a><span class="summary-name">dump_request_response</span> = <code title="False">False</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="makepatch"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">makepatch</span>(<span class="sig-arg">original</span>,
+        <span class="sig-arg">modified</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#makepatch">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Create a patch object.
+
+Some methods support PATCH, an efficient way to send updates to a resource.
+This method allows the easy construction of patch bodies by looking at the
+differences between a resource before and after it was modified.
+
+Args:
+  original: object, the original deserialized resource
+  modified: object, the modified deserialized resource
+Returns:
+  An object that contains only the changes from original to modified, in a
+  form suitable to pass to a PATCH method.
+
+Example usage:
+  item = service.activities().get(postid=postid, userid=userid).execute()
+  original = copy.deepcopy(item)
+  item['object']['content'] = 'This is updated.'
+  service.activities.patch(postid=postid, userid=userid,
+    body=makepatch(original, item)).execute()
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.model-pysrc.html b/docs/epy/googleapiclient.model-pysrc.html
new file mode 100644
index 0000000..6011290
--- /dev/null
+++ b/docs/epy/googleapiclient.model-pysrc.html
@@ -0,0 +1,584 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.model</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;model
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.model-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient.model-module.html">Module googleapiclient.model</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/python2.4</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">"""Model objects for requests and responses.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">Each API may support one or more serializations, such</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">as JSON, Atom, etc. The model classes are responsible</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">for converting between the wire format and the Python</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">object representation.</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package googleapiclient=googleapiclient-module.html"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-0', 'googleapiclient', 'link-0');">googleapiclient</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">__version__</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module googleapiclient.errors=googleapiclient.errors-module.html"><a title="googleapiclient.errors" class="py-name" href="#" onclick="return doclink('link-1', 'errors', 'link-1');">errors</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class googleapiclient.errors.HttpError=googleapiclient.errors.HttpError-class.html"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-2', 'HttpError', 'link-2');">HttpError</a></tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">anyjson</tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable googleapiclient.model.dump_request_response=googleapiclient.model-module.html#dump_request_response"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-3', 'dump_request_response', 'link-3');">dump_request_response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="_abstract"></a><div id="_abstract-def"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="_abstract-toggle" onclick="return toggle('_abstract');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model-module.html#_abstract">_abstract</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_abstract-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_abstract-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">  <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">'You need to override this function'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="Model"></a><div id="Model-def"><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="Model-toggle" onclick="return toggle('Model');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html">Model</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Model-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Model-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model base class.</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">  All Model classes should implement this interface.</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">  The Model serializes and de-serializes between a wire</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">  format such as JSON and a Python object representation.</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
+<a name="Model.request"></a><div id="Model.request-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="Model.request-toggle" onclick="return toggle('Model.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query_params</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Model.request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Model.request-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-docstring">"""Updates outgoing requests with a serialized body.</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">      query_params: dict, parameters that appear in the query</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object, which must be</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">                  serializable.</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">      A tuple of (headers, path_params, query, body)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">      query: string, query part of the request URI</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the body serialized in the desired wire format.</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt id="link-4" class="py-name" targets="Function googleapiclient.model._abstract()=googleapiclient.model-module.html#_abstract"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-4', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="Model.response"></a><div id="Model.response-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="Model.response-toggle" onclick="return toggle('Model.response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.Model-class.html#response">response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Model.response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Model.response-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert the response wire format into a Python object.</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the HTTP response headers and status</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if a non 2xx response is received.</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt id="link-5" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-5', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel"></a><div id="BaseModel-def"><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="BaseModel-toggle" onclick="return toggle('BaseModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html">BaseModel</a><tt class="py-op">(</tt><tt class="py-base-class">Model</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BaseModel-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">  <tt class="py-docstring">"""Base model class.</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring">  Subclasses should provide implementations for the "serialize" and</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">  "deserialize" methods, as well as values for the following class attributes.</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">  Attributes:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">    accept: The value to use for the HTTP Accept header.</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">    content_type: The value to use for the HTTP Content-type header.</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">    no_content_response: The value to return when deserializing a 204 "No</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">        Content" response.</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">    alt_param: The value to supply as the "alt" query parameter for requests.</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">  <tt id="link-6" class="py-name" targets="Variable googleapiclient.model.BaseModel.accept=googleapiclient.model.BaseModel-class.html#accept,Variable googleapiclient.model.JsonModel.accept=googleapiclient.model.JsonModel-class.html#accept,Variable googleapiclient.model.MediaModel.accept=googleapiclient.model.MediaModel-class.html#accept,Variable googleapiclient.model.ProtocolBufferModel.accept=googleapiclient.model.ProtocolBufferModel-class.html#accept,Variable googleapiclient.model.RawModel.accept=googleapiclient.model.RawModel-class.html#accept"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-6', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">  <tt id="link-7" class="py-name" targets="Variable googleapiclient.model.BaseModel.content_type=googleapiclient.model.BaseModel-class.html#content_type,Variable googleapiclient.model.JsonModel.content_type=googleapiclient.model.JsonModel-class.html#content_type,Variable googleapiclient.model.MediaModel.content_type=googleapiclient.model.MediaModel-class.html#content_type,Variable googleapiclient.model.ProtocolBufferModel.content_type=googleapiclient.model.ProtocolBufferModel-class.html#content_type,Variable googleapiclient.model.RawModel.content_type=googleapiclient.model.RawModel-class.html#content_type"><a title="googleapiclient.model.BaseModel.content_type
+googleapiclient.model.JsonModel.content_type
+googleapiclient.model.MediaModel.content_type
+googleapiclient.model.ProtocolBufferModel.content_type
+googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-7', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">  <tt id="link-8" class="py-name" targets="Variable googleapiclient.model.BaseModel.no_content_response=googleapiclient.model.BaseModel-class.html#no_content_response,Method googleapiclient.model.JsonModel.no_content_response()=googleapiclient.model.JsonModel-class.html#no_content_response,Method googleapiclient.model.MediaModel.no_content_response()=googleapiclient.model.MediaModel-class.html#no_content_response,Method googleapiclient.model.ProtocolBufferModel.no_content_response()=googleapiclient.model.ProtocolBufferModel-class.html#no_content_response,Method googleapiclient.model.RawModel.no_content_response()=googleapiclient.model.RawModel-class.html#no_content_response"><a title="googleapiclient.model.BaseModel.no_content_response
+googleapiclient.model.JsonModel.no_content_response
+googleapiclient.model.MediaModel.no_content_response
+googleapiclient.model.ProtocolBufferModel.no_content_response
+googleapiclient.model.RawModel.no_content_response" class="py-name" href="#" onclick="return doclink('link-8', 'no_content_response', 'link-8');">no_content_response</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">  <tt id="link-9" class="py-name" targets="Variable googleapiclient.model.BaseModel.alt_param=googleapiclient.model.BaseModel-class.html#alt_param,Variable googleapiclient.model.JsonModel.alt_param=googleapiclient.model.JsonModel-class.html#alt_param,Variable googleapiclient.model.MediaModel.alt_param=googleapiclient.model.MediaModel-class.html#alt_param,Variable googleapiclient.model.ProtocolBufferModel.alt_param=googleapiclient.model.ProtocolBufferModel-class.html#alt_param,Variable googleapiclient.model.RawModel.alt_param=googleapiclient.model.RawModel-class.html#alt_param"><a title="googleapiclient.model.BaseModel.alt_param
+googleapiclient.model.JsonModel.alt_param
+googleapiclient.model.MediaModel.alt_param
+googleapiclient.model.ProtocolBufferModel.alt_param
+googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-9', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel._log_request"></a><div id="BaseModel._log_request-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="BaseModel._log_request-toggle" onclick="return toggle('BaseModel._log_request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_log_request">_log_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query</tt><tt class="py-op">,</tt> <tt class="py-param">body</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel._log_request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._log_request-expanded"><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-docstring">"""Logs debugging information about the request if requested."""</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-10" class="py-name"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-10', 'dump_request_response', 'link-3');">dump_request_response</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--request-start--'</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-headers-start-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-headers-end-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-path-parameters-start-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">path_params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'-path-parameters-end-'</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'body: %s'</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Method googleapiclient.channel.Channel.body()=googleapiclient.channel.Channel-class.html#body"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-11', 'body', 'link-11');">body</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'query: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--request-end--'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel.request"></a><div id="BaseModel.request-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="BaseModel.request-toggle" onclick="return toggle('BaseModel.request');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#request">request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">headers</tt><tt class="py-op">,</tt> <tt class="py-param">path_params</tt><tt class="py-op">,</tt> <tt class="py-param">query_params</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel.request-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.request-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-docstring">"""Updates outgoing requests with a serialized body.</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">      query_params: dict, parameters that appear in the query</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object, which must be</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">                  serializable by simplejson.</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">      A tuple of (headers, path_params, query, body)</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">      headers: dict, request headers</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">      path_params: dict, parameters that appear in the request path</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">      query: string, query part of the request URI</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">      body: string, the body serialized as JSON</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-name">query</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method googleapiclient.model.BaseModel._build_query()=googleapiclient.model.BaseModel-class.html#_build_query"><a title="googleapiclient.model.BaseModel._build_query" class="py-name" href="#" onclick="return doclink('link-12', '_build_query', 'link-12');">_build_query</a></tt><tt class="py-op">(</tt><tt class="py-name">query_params</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'accept'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-13', 'accept', 'link-6');">accept</a></tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'accept-encoding'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'gzip, deflate'</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">'user-agent'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">headers</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'user-agent'</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-string">'google-api-python-client/%s (gzip)'</tt> <tt class="py-op">%</tt> <tt class="py-name">__version__</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">body_value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">      <tt class="py-name">headers</tt><tt class="py-op">[</tt><tt class="py-string">'content-type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+googleapiclient.model.JsonModel.content_type
+googleapiclient.model.MediaModel.content_type
+googleapiclient.model.ProtocolBufferModel.content_type
+googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-14', 'content_type', 'link-7');">content_type</a></tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">      <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method googleapiclient.model.BaseModel.serialize()=googleapiclient.model.BaseModel-class.html#serialize,Method googleapiclient.model.JsonModel.serialize()=googleapiclient.model.JsonModel-class.html#serialize,Method googleapiclient.model.ProtocolBufferModel.serialize()=googleapiclient.model.ProtocolBufferModel-class.html#serialize"><a title="googleapiclient.model.BaseModel.serialize
+googleapiclient.model.JsonModel.serialize
+googleapiclient.model.ProtocolBufferModel.serialize" class="py-name" href="#" onclick="return doclink('link-15', 'serialize', 'link-15');">serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method googleapiclient.model.BaseModel._log_request()=googleapiclient.model.BaseModel-class.html#_log_request"><a title="googleapiclient.model.BaseModel._log_request" class="py-name" href="#" onclick="return doclink('link-16', '_log_request', 'link-16');">_log_request</a></tt><tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">path_params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">headers</tt><tt class="py-op">,</tt> <tt class="py-name">path_params</tt><tt class="py-op">,</tt> <tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel._build_query"></a><div id="BaseModel._build_query-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="BaseModel._build_query-toggle" onclick="return toggle('BaseModel._build_query');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_build_query">_build_query</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel._build_query-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._build_query-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-docstring">"""Builds a query string.</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">      params: dict, the query parameters</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">      The query parameters properly encoded into an HTTP URI query string.</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+googleapiclient.model.JsonModel.alt_param
+googleapiclient.model.MediaModel.alt_param
+googleapiclient.model.ProtocolBufferModel.alt_param
+googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-17', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">      <tt class="py-name">params</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method googleapiclient.channel.Channel.update()=googleapiclient.channel.Channel-class.html#update"><a title="googleapiclient.channel.Channel.update" class="py-name" href="#" onclick="return doclink('link-18', 'update', 'link-18');">update</a></tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'alt'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+googleapiclient.model.JsonModel.alt_param
+googleapiclient.model.MediaModel.alt_param
+googleapiclient.model.ProtocolBufferModel.alt_param
+googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-19', 'alt_param', 'link-9');">alt_param</a></tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-name">astuples</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">value</tt><tt class="py-op">:</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">          <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">          <tt class="py-name">astuples</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-string">'encode'</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">callable</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">          <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">astuples</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">'?'</tt> <tt class="py-op">+</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">urlencode</tt><tt class="py-op">(</tt><tt class="py-name">astuples</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel._log_response"></a><div id="BaseModel._log_response-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="BaseModel._log_response-toggle" onclick="return toggle('BaseModel._log_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#_log_response">_log_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel._log_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel._log_response-expanded"><a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-docstring">"""Logs debugging information about the response if requested."""</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-20" class="py-name"><a title="googleapiclient.model.dump_request_response" class="py-name" href="#" onclick="return doclink('link-20', 'dump_request_response', 'link-3');">dump_request_response</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--response-start--'</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'%s: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">content</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'--response-end--'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel.response"></a><div id="BaseModel.response-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="BaseModel.response-toggle" onclick="return toggle('BaseModel.response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#response">response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">resp</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel.response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.response-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-docstring">"""Convert the response wire format into a Python object.</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">      resp: httplib2.Response, the HTTP response headers and status</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">    Raises:</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-docstring">      googleapiclient.errors.HttpError if a non 2xx response is received.</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method googleapiclient.model.BaseModel._log_response()=googleapiclient.model.BaseModel-class.html#_log_response"><a title="googleapiclient.model.BaseModel._log_response" class="py-name" href="#" onclick="return doclink('link-21', '_log_response', 'link-21');">_log_response</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">    <tt class="py-comment"># Error handling is TBD, for example, do we retry</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-comment"># for some operation/error combinations?</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">&lt;</tt> <tt class="py-number">300</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">resp</tt><tt class="py-op">.</tt><tt class="py-name">status</tt> <tt class="py-op">==</tt> <tt class="py-number">204</tt><tt class="py-op">:</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-comment"># A 204: No Content response should be treated differently</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-comment"># to all the other success states</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="googleapiclient.model.BaseModel.no_content_response
+googleapiclient.model.JsonModel.no_content_response
+googleapiclient.model.MediaModel.no_content_response
+googleapiclient.model.ProtocolBufferModel.no_content_response
+googleapiclient.model.RawModel.no_content_response" class="py-name" href="#" onclick="return doclink('link-22', 'no_content_response', 'link-8');">no_content_response</a></tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method googleapiclient.model.BaseModel.deserialize()=googleapiclient.model.BaseModel-class.html#deserialize,Method googleapiclient.model.JsonModel.deserialize()=googleapiclient.model.JsonModel-class.html#deserialize,Method googleapiclient.model.MediaModel.deserialize()=googleapiclient.model.MediaModel-class.html#deserialize,Method googleapiclient.model.ProtocolBufferModel.deserialize()=googleapiclient.model.ProtocolBufferModel-class.html#deserialize,Method googleapiclient.model.RawModel.deserialize()=googleapiclient.model.RawModel-class.html#deserialize"><a title="googleapiclient.model.BaseModel.deserialize
+googleapiclient.model.JsonModel.deserialize
+googleapiclient.model.MediaModel.deserialize
+googleapiclient.model.ProtocolBufferModel.deserialize
+googleapiclient.model.RawModel.deserialize" class="py-name" href="#" onclick="return doclink('link-23', 'deserialize', 'link-23');">deserialize</a></tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">      <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'Content from bad request was: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-24" class="py-name"><a title="googleapiclient.errors.HttpError" class="py-name" href="#" onclick="return doclink('link-24', 'HttpError', 'link-2');">HttpError</a></tt><tt class="py-op">(</tt><tt class="py-name">resp</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel.serialize"></a><div id="BaseModel.serialize-def"><a name="L211"></a><tt class="py-lineno">211</tt> <a class="py-toggle" href="#" id="BaseModel.serialize-toggle" onclick="return toggle('BaseModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.serialize-expanded"><a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-docstring">"""Perform the actual Python object serialization.</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">      body_value: object, the request body as a Python object.</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">      string, the body in serialized form.</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt id="link-25" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-25', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"> </tt>
+<a name="BaseModel.deserialize"></a><div id="BaseModel.deserialize-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="BaseModel.deserialize-toggle" onclick="return toggle('BaseModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.BaseModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="BaseModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="BaseModel.deserialize-expanded"><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">    <tt class="py-docstring">"""Perform the actual deserialization from response string to Python</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">    object.</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">      content: string, the body of the HTTP response</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">      The body de-serialized as a Python object.</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt id="link-26" class="py-name"><a title="googleapiclient.model._abstract" class="py-name" href="#" onclick="return doclink('link-26', '_abstract', 'link-4');">_abstract</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
+<a name="JsonModel"></a><div id="JsonModel-def"><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="JsonModel-toggle" onclick="return toggle('JsonModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html">JsonModel</a><tt class="py-op">(</tt><tt class="py-base-class">BaseModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="JsonModel-expanded"><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for JSON.</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request and response bodies.</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">  <tt id="link-27" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-27', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">  <tt id="link-28" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+googleapiclient.model.JsonModel.content_type
+googleapiclient.model.MediaModel.content_type
+googleapiclient.model.ProtocolBufferModel.content_type
+googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-28', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">  <tt id="link-29" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+googleapiclient.model.JsonModel.alt_param
+googleapiclient.model.MediaModel.alt_param
+googleapiclient.model.ProtocolBufferModel.alt_param
+googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-29', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'json'</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
+<a name="JsonModel.__init__"></a><div id="JsonModel.__init__-def"><a name="L245"></a><tt class="py-lineno">245</tt> <a class="py-toggle" href="#" id="JsonModel.__init__-toggle" onclick="return toggle('JsonModel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data_wrapper</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.__init__-expanded"><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-docstring">"""Construct a JsonModel.</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">      data_wrapper: boolean, wrap requests and responses in a data wrapper</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt> <tt class="py-op">=</tt> <tt class="py-name">data_wrapper</tt> </tt>
+</div><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
+<a name="JsonModel.serialize"></a><div id="JsonModel.serialize-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="JsonModel.serialize-toggle" onclick="return toggle('JsonModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.serialize-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'data'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">body_value</tt> <tt class="py-keyword">and</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">      <tt class="py-name">body_value</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'data'</tt><tt class="py-op">:</tt> <tt class="py-name">body_value</tt><tt class="py-op">}</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">dumps</tt><tt class="py-op">(</tt><tt class="py-name">body_value</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"> </tt>
+<a name="JsonModel.deserialize"></a><div id="JsonModel.deserialize-def"><a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="JsonModel.deserialize-toggle" onclick="return toggle('JsonModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.deserialize-expanded"><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt class="py-name">content</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt id="link-30" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-30', 'body', 'link-11');">body</a></tt> <tt class="py-op">=</tt> <tt class="py-name">simplejson</tt><tt class="py-op">.</tt><tt class="py-name">loads</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data_wrapper</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-31', 'body', 'link-11');">body</a></tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-string">'data'</tt> <tt class="py-keyword">in</tt> <tt id="link-32" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-32', 'body', 'link-11');">body</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">      <tt id="link-33" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-33', 'body', 'link-11');">body</a></tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-34', 'body', 'link-11');">body</a></tt><tt class="py-op">[</tt><tt class="py-string">'data'</tt><tt class="py-op">]</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-35" class="py-name"><a title="googleapiclient.channel.Channel.body" class="py-name" href="#" onclick="return doclink('link-35', 'body', 'link-11');">body</a></tt> </tt>
+</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="JsonModel.no_content_response"></a><div id="JsonModel.no_content_response-def"><a name="L267"></a><tt class="py-lineno">267</tt> <a class="py-toggle" href="#" id="JsonModel.no_content_response-toggle" onclick="return toggle('JsonModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.JsonModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="JsonModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="JsonModel.no_content_response-expanded"><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+</div></div><a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
+<a name="RawModel"></a><div id="RawModel-def"><a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt> <a class="py-toggle" href="#" id="RawModel-toggle" onclick="return toggle('RawModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html">RawModel</a><tt class="py-op">(</tt><tt class="py-base-class">JsonModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RawModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="RawModel-expanded"><a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for requests that don't return JSON.</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request, and returns the raw bytes</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-docstring">  of the response body.</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">  <tt id="link-36" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-36', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*/*'</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">  <tt id="link-37" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+googleapiclient.model.JsonModel.content_type
+googleapiclient.model.MediaModel.content_type
+googleapiclient.model.ProtocolBufferModel.content_type
+googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-37', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">  <tt id="link-38" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+googleapiclient.model.JsonModel.alt_param
+googleapiclient.model.MediaModel.alt_param
+googleapiclient.model.ProtocolBufferModel.alt_param
+googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-38', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"> </tt>
+<a name="RawModel.deserialize"></a><div id="RawModel.deserialize-def"><a name="L282"></a><tt class="py-lineno">282</tt> <a class="py-toggle" href="#" id="RawModel.deserialize-toggle" onclick="return toggle('RawModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RawModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="RawModel.deserialize-expanded"><a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="RawModel.no_content_response"></a><div id="RawModel.no_content_response-def"><a name="L286"></a><tt class="py-lineno">286</tt> <a class="py-toggle" href="#" id="RawModel.no_content_response-toggle" onclick="return toggle('RawModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.RawModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="RawModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="RawModel.no_content_response-expanded"><a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
+</div></div><a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"> </tt>
+<a name="MediaModel"></a><div id="MediaModel-def"><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt> <a class="py-toggle" href="#" id="MediaModel-toggle" onclick="return toggle('MediaModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html">MediaModel</a><tt class="py-op">(</tt><tt class="py-base-class">JsonModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="MediaModel-expanded"><a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for requests that return Media.</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes between JSON and the Python</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">  object representation of HTTP request, and returns the raw bytes</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">  of the response body.</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">  <tt id="link-39" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-39', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'*/*'</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">  <tt id="link-40" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+googleapiclient.model.JsonModel.content_type
+googleapiclient.model.MediaModel.content_type
+googleapiclient.model.ProtocolBufferModel.content_type
+googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-40', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/json'</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">  <tt id="link-41" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+googleapiclient.model.JsonModel.alt_param
+googleapiclient.model.MediaModel.alt_param
+googleapiclient.model.ProtocolBufferModel.alt_param
+googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-41', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'media'</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
+<a name="MediaModel.deserialize"></a><div id="MediaModel.deserialize-def"><a name="L301"></a><tt class="py-lineno">301</tt> <a class="py-toggle" href="#" id="MediaModel.deserialize-toggle" onclick="return toggle('MediaModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="MediaModel.deserialize-expanded"><a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">content</tt> </tt>
+</div><a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="MediaModel.no_content_response"></a><div id="MediaModel.no_content_response-def"><a name="L305"></a><tt class="py-lineno">305</tt> <a class="py-toggle" href="#" id="MediaModel.no_content_response-toggle" onclick="return toggle('MediaModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.MediaModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="MediaModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="MediaModel.no_content_response-expanded"><a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">''</tt> </tt>
+</div></div><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"> </tt>
+<a name="ProtocolBufferModel"></a><div id="ProtocolBufferModel-def"><a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel-toggle" onclick="return toggle('ProtocolBufferModel');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a><tt class="py-op">(</tt><tt class="py-base-class">BaseModel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ProtocolBufferModel-expanded"><a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">  <tt class="py-docstring">"""Model class for protocol buffers.</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring">  Serializes and de-serializes the binary protocol buffer sent in the HTTP</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">  request and response bodies.</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">  <tt id="link-42" class="py-name"><a title="googleapiclient.model.BaseModel.accept
+googleapiclient.model.JsonModel.accept
+googleapiclient.model.MediaModel.accept
+googleapiclient.model.ProtocolBufferModel.accept
+googleapiclient.model.RawModel.accept" class="py-name" href="#" onclick="return doclink('link-42', 'accept', 'link-6');">accept</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-protobuf'</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">  <tt id="link-43" class="py-name"><a title="googleapiclient.model.BaseModel.content_type
+googleapiclient.model.JsonModel.content_type
+googleapiclient.model.MediaModel.content_type
+googleapiclient.model.ProtocolBufferModel.content_type
+googleapiclient.model.RawModel.content_type" class="py-name" href="#" onclick="return doclink('link-43', 'content_type', 'link-7');">content_type</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'application/x-protobuf'</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">  <tt id="link-44" class="py-name"><a title="googleapiclient.model.BaseModel.alt_param
+googleapiclient.model.JsonModel.alt_param
+googleapiclient.model.MediaModel.alt_param
+googleapiclient.model.ProtocolBufferModel.alt_param
+googleapiclient.model.RawModel.alt_param" class="py-name" href="#" onclick="return doclink('link-44', 'alt_param', 'link-9');">alt_param</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'proto'</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line"> </tt>
+<a name="ProtocolBufferModel.__init__"></a><div id="ProtocolBufferModel.__init__-def"><a name="L319"></a><tt class="py-lineno">319</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.__init__-toggle" onclick="return toggle('ProtocolBufferModel.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">protocol_buffer</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.__init__-expanded"><a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructs a ProtocolBufferModel.</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring">    The serialzed protocol buffer returned in an HTTP response will be</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">    de-serialized using the given protocol buffer class.</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-docstring">      protocol_buffer: The protocol buffer class used to de-serialize a</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-docstring">      response from the API.</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt> <tt class="py-op">=</tt> <tt class="py-name">protocol_buffer</tt> </tt>
+</div><a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"> </tt>
+<a name="ProtocolBufferModel.serialize"></a><div id="ProtocolBufferModel.serialize-def"><a name="L331"></a><tt class="py-lineno">331</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.serialize-toggle" onclick="return toggle('ProtocolBufferModel.serialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#serialize">serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">body_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel.serialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.serialize-expanded"><a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">body_value</tt><tt class="py-op">.</tt><tt class="py-name">SerializeToString</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"> </tt>
+<a name="ProtocolBufferModel.deserialize"></a><div id="ProtocolBufferModel.deserialize-def"><a name="L334"></a><tt class="py-lineno">334</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.deserialize-toggle" onclick="return toggle('ProtocolBufferModel.deserialize');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#deserialize">deserialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">content</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel.deserialize-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.deserialize-expanded"><a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt><tt class="py-op">.</tt><tt class="py-name">FromString</tt><tt class="py-op">(</tt><tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
+<a name="ProtocolBufferModel.no_content_response"></a><div id="ProtocolBufferModel.no_content_response-def"><a name="L338"></a><tt class="py-lineno">338</tt> <a class="py-toggle" href="#" id="ProtocolBufferModel.no_content_response-toggle" onclick="return toggle('ProtocolBufferModel.no_content_response');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model.ProtocolBufferModel-class.html#no_content_response">no_content_response</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ProtocolBufferModel.no_content_response-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="ProtocolBufferModel.no_content_response-expanded"><a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_protocol_buffer</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"> </tt>
+<a name="makepatch"></a><div id="makepatch-def"><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="makepatch-toggle" onclick="return toggle('makepatch');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.model-module.html#makepatch">makepatch</a><tt class="py-op">(</tt><tt class="py-param">original</tt><tt class="py-op">,</tt> <tt class="py-param">modified</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="makepatch-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="makepatch-expanded"><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">  <tt class="py-docstring">"""Create a patch object.</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">  Some methods support PATCH, an efficient way to send updates to a resource.</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-docstring">  This method allows the easy construction of patch bodies by looking at the</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-docstring">  differences between a resource before and after it was modified.</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">    original: object, the original deserialized resource</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">    modified: object, the modified deserialized resource</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"><tt class="py-docstring">    An object that contains only the changes from original to modified, in a</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"><tt class="py-docstring">    form suitable to pass to a PATCH method.</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-docstring">  Example usage:</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-docstring">    item = service.activities().get(postid=postid, userid=userid).execute()</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-docstring">    original = copy.deepcopy(item)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-docstring">    item['object']['content'] = 'This is updated.'</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-docstring">    service.activities.patch(postid=postid, userid=userid,</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-docstring">      body=makepatch(original, item)).execute()</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">  <tt class="py-name">patch</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">original_value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">original</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">    <tt class="py-name">modified_value</tt> <tt class="py-op">=</tt> <tt class="py-name">modified</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-45', 'get', 'link-45');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">modified_value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">      <tt class="py-comment"># Use None to signal that the element is deleted</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">      <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">original_value</tt> <tt class="py-op">!=</tt> <tt class="py-name">modified_value</tt><tt class="py-op">:</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">original_value</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-comment"># Recursively descend objects</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name" targets="Function googleapiclient.model.makepatch()=googleapiclient.model-module.html#makepatch"><a title="googleapiclient.model.makepatch" class="py-name" href="#" onclick="return doclink('link-46', 'makepatch', 'link-46');">makepatch</a></tt><tt class="py-op">(</tt><tt class="py-name">original_value</tt><tt class="py-op">,</tt> <tt class="py-name">modified_value</tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-comment"># In the case of simple types or arrays we just replace</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">        <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">modified_value</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">      <tt class="py-comment"># Don't add anything to patch if there's no change</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">      <tt class="py-keyword">pass</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">  <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">modified</tt><tt class="py-op">:</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">original</tt><tt class="py-op">:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">      <tt class="py-name">patch</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">modified</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-name">patch</tt> </tt>
+</div><a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.model.BaseModel-class.html b/docs/epy/googleapiclient.model.BaseModel-class.html
new file mode 100644
index 0000000..a26f66c
--- /dev/null
+++ b/docs/epy/googleapiclient.model.BaseModel-class.html
@@ -0,0 +1,567 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.model.BaseModel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.model-module.html">Module&nbsp;model</a> ::
+        Class&nbsp;BaseModel
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.model.BaseModel-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class BaseModel</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_33" name="uml_class_diagram_for_googleap_33">
+<area shape="rect" id="node80" href="googleapiclient.model.BaseModel-class.html#accept" title="googleapiclient.model.BaseModel.accept" alt="" coords="17,95,397,113"/>
+<area shape="rect" id="node80" href="googleapiclient.model.BaseModel-class.html#content_type" title="googleapiclient.model.BaseModel.content_type" alt="" coords="17,113,397,132"/>
+<area shape="rect" id="node80" href="googleapiclient.model.BaseModel-class.html#no_content_response" title="googleapiclient.model.BaseModel.no_content_response" alt="" coords="17,132,397,151"/>
+<area shape="rect" id="node80" href="googleapiclient.model.BaseModel-class.html#alt_param" title="googleapiclient.model.BaseModel.alt_param" alt="" coords="17,151,397,169"/>
+<area shape="rect" id="node80" href="googleapiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,172,397,191"/>
+<area shape="rect" id="node80" href="googleapiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,191,397,209"/>
+<area shape="rect" id="node80" href="googleapiclient.model.BaseModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="17,209,397,228"/>
+<area shape="rect" id="node80" href="googleapiclient.model.BaseModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="17,228,397,247"/>
+<area shape="rect" id="node1" href="googleapiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,253"/>
+<area shape="rect" id="node2" href="googleapiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_33.gif" alt='' usemap="#uml_class_diagram_for_googleap_33" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Base model class.
+
+Subclasses should provide implementations for the &quot;serialize&quot; and
+&quot;deserialize&quot; methods, as well as values for the following class attributes.
+
+Attributes:
+  accept: The value to use for the HTTP Accept header.
+  content_type: The value to use for the HTTP Content-type header.
+  no_content_response: The value to return when deserializing a 204 &quot;No
+      Content&quot; response.
+  alt_param: The value to supply as the &quot;alt&quot; query parameter for requests.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_log_request"></a><span class="summary-sig-name">_log_request</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">headers</span>,
+        <span class="summary-sig-arg">path_params</span>,
+        <span class="summary-sig-arg">query</span>,
+        <span class="summary-sig-arg">body</span>)</span><br />
+      Logs debugging information about the request if requested.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel._log_request">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.BaseModel-class.html#request" class="summary-sig-name">request</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">headers</span>,
+        <span class="summary-sig-arg">path_params</span>,
+        <span class="summary-sig-arg">query_params</span>,
+        <span class="summary-sig-arg">body_value</span>)</span><br />
+      Updates outgoing requests with a serialized body.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel.request">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.BaseModel-class.html#_build_query" class="summary-sig-name" onclick="show_private();">_build_query</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">params</span>)</span><br />
+      Builds a query string.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel._build_query">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_log_response"></a><span class="summary-sig-name">_log_response</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resp</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Logs debugging information about the response if requested.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel._log_response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.BaseModel-class.html#response" class="summary-sig-name">response</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resp</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Convert the response wire format into a Python object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel.response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.BaseModel-class.html#serialize" class="summary-sig-name">serialize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">body_value</span>)</span><br />
+      Perform the actual Python object serialization.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel.serialize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.BaseModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Perform the actual deserialization from response string to Python
+object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel.deserialize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__init__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="accept"></a><span class="summary-name">accept</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="no_content_response"></a><span class="summary-name">no_content_response</span> = <code title="None">None</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="request"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">request</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">headers</span>,
+        <span class="sig-arg">path_params</span>,
+        <span class="sig-arg">query_params</span>,
+        <span class="sig-arg">body_value</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel.request">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Updates outgoing requests with a serialized body.
+
+Args:
+  headers: dict, request headers
+  path_params: dict, parameters that appear in the request path
+  query_params: dict, parameters that appear in the query
+  body_value: object, the request body as a Python object, which must be
+              serializable by simplejson.
+Returns:
+  A tuple of (headers, path_params, query, body)
+
+  headers: dict, request headers
+  path_params: dict, parameters that appear in the request path
+  query: string, query part of the request URI
+  body: string, the body serialized as JSON
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.model.Model-class.html#request">Model.request</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_build_query"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_build_query</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">params</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel._build_query">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Builds a query string.
+
+Args:
+  params: dict, the query parameters
+
+Returns:
+  The query parameters properly encoded into an HTTP URI query string.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="response"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">response</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">resp</span>,
+        <span class="sig-arg">content</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel.response">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Convert the response wire format into a Python object.
+
+Args:
+  resp: httplib2.Response, the HTTP response headers and status
+  content: string, the body of the HTTP response
+
+Returns:
+  The body de-serialized as a Python object.
+
+Raises:
+  googleapiclient.errors.HttpError if a non 2xx response is received.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.model.Model-class.html#response">Model.response</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="serialize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">serialize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">body_value</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel.serialize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Perform the actual Python object serialization.
+
+Args:
+  body_value: object, the request body as a Python object.
+
+Returns:
+  string, the body in serialized form.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="deserialize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">content</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#BaseModel.deserialize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Perform the actual deserialization from response string to Python
+object.
+
+Args:
+  content: string, the body of the HTTP response
+
+Returns:
+  The body de-serialized as a Python object.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:10 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.model.JsonModel-class.html b/docs/epy/googleapiclient.model.JsonModel-class.html
new file mode 100644
index 0000000..cd40d42
--- /dev/null
+++ b/docs/epy/googleapiclient.model.JsonModel-class.html
@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.model.JsonModel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.model-module.html">Module&nbsp;model</a> ::
+        Class&nbsp;JsonModel
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.model.JsonModel-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class JsonModel</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_34" name="uml_class_diagram_for_googleap_34">
+<area shape="rect" id="node82" href="googleapiclient.model.JsonModel-class.html#accept" title="googleapiclient.model.JsonModel.accept" alt="" coords="104,191,312,209"/>
+<area shape="rect" id="node82" href="googleapiclient.model.JsonModel-class.html#content_type" title="googleapiclient.model.JsonModel.content_type" alt="" coords="104,209,312,228"/>
+<area shape="rect" id="node82" href="googleapiclient.model.JsonModel-class.html#alt_param" title="googleapiclient.model.JsonModel.alt_param" alt="" coords="104,228,312,247"/>
+<area shape="rect" id="node82" href="googleapiclient.model.JsonModel-class.html#__init__" title="Construct a JsonModel." alt="" coords="104,249,312,268"/>
+<area shape="rect" id="node82" href="googleapiclient.model.JsonModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="104,268,312,287"/>
+<area shape="rect" id="node82" href="googleapiclient.model.JsonModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="104,287,312,305"/>
+<area shape="rect" id="node82" href="googleapiclient.model.JsonModel-class.html#no_content_response" title="googleapiclient.model.JsonModel.no_content_response" alt="" coords="104,305,312,324"/>
+<area shape="rect" id="node1" href="googleapiclient.model.JsonModel-class.html" title="Model class for JSON." alt="" coords="92,166,324,330"/>
+<area shape="rect" id="node83" href="googleapiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,103,397,121"/>
+<area shape="rect" id="node83" href="googleapiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,121,397,140"/>
+<area shape="rect" id="node2" href="googleapiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,146"/>
+<area shape="rect" id="node3" href="googleapiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_34.gif" alt='' usemap="#uml_class_diagram_for_googleap_34" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Model class for JSON.
+
+Serializes and de-serializes between JSON and the Python
+object representation of HTTP request and response bodies.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.JsonModel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data_wrapper</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Construct a JsonModel.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.JsonModel-class.html#serialize" class="summary-sig-name">serialize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">body_value</span>)</span><br />
+      Perform the actual Python object serialization.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel.serialize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.JsonModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Perform the actual deserialization from response string to Python
+object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel.deserialize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.JsonModel-class.html#no_content_response" class="summary-sig-name">no_content_response</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel.no_content_response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a></code></b>:
+      <code><a href="googleapiclient.model.BaseModel-class.html#request">request</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#response">response</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a></code></b> (private):
+      <code><a href="googleapiclient.model.BaseModel-class.html#_build_query" onclick="show_private();">_build_query</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#_log_request" onclick="show_private();">_log_request</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#_log_response" onclick="show_private();">_log_response</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="accept"></a><span class="summary-name">accept</span> = <code title="'application/json'">'application/json'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="'application/json'">'application/json'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="'json'">'json'</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data_wrapper</span>=<span class="sig-default">False</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Construct a JsonModel.
+
+Args:
+  data_wrapper: boolean, wrap requests and responses in a data wrapper
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="serialize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">serialize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">body_value</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel.serialize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Perform the actual Python object serialization.
+
+Args:
+  body_value: object, the request body as a Python object.
+
+Returns:
+  string, the body in serialized form.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#serialize">BaseModel.serialize</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="deserialize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">content</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel.deserialize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Perform the actual deserialization from response string to Python
+object.
+
+Args:
+  content: string, the body of the HTTP response
+
+Returns:
+  The body de-serialized as a Python object.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#deserialize">BaseModel.deserialize</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="no_content_response"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">no_content_response</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#JsonModel.no_content_response">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@property</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#no_content_response">no_content_response</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.model.MediaModel-class.html b/docs/epy/googleapiclient.model.MediaModel-class.html
new file mode 100644
index 0000000..0d72475
--- /dev/null
+++ b/docs/epy/googleapiclient.model.MediaModel-class.html
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.model.MediaModel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.model-module.html">Module&nbsp;model</a> ::
+        Class&nbsp;MediaModel
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.model.MediaModel-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class MediaModel</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.model-pysrc.html#MediaModel">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_35" name="uml_class_diagram_for_googleap_35">
+<area shape="rect" id="node85" href="googleapiclient.model.MediaModel-class.html#accept" title="googleapiclient.model.MediaModel.accept" alt="" coords="128,287,288,305"/>
+<area shape="rect" id="node85" href="googleapiclient.model.MediaModel-class.html#content_type" title="googleapiclient.model.MediaModel.content_type" alt="" coords="128,305,288,324"/>
+<area shape="rect" id="node85" href="googleapiclient.model.MediaModel-class.html#alt_param" title="googleapiclient.model.MediaModel.alt_param" alt="" coords="128,324,288,343"/>
+<area shape="rect" id="node85" href="googleapiclient.model.MediaModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="128,345,288,364"/>
+<area shape="rect" id="node85" href="googleapiclient.model.MediaModel-class.html#no_content_response" title="googleapiclient.model.MediaModel.no_content_response" alt="" coords="128,364,288,383"/>
+<area shape="rect" id="node1" href="googleapiclient.model.MediaModel-class.html" title="Model class for requests that return Media." alt="" coords="116,262,300,389"/>
+<area shape="rect" id="node86" href="googleapiclient.model.JsonModel-class.html#__init__" title="Construct a JsonModel." alt="" coords="104,199,312,217"/>
+<area shape="rect" id="node86" href="googleapiclient.model.JsonModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="104,217,312,236"/>
+<area shape="rect" id="node2" href="googleapiclient.model.JsonModel-class.html" title="Model class for JSON." alt="" coords="92,166,324,242"/>
+<area shape="rect" id="node3" href="googleapiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
+<area shape="rect" id="node87" href="googleapiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,103,397,121"/>
+<area shape="rect" id="node87" href="googleapiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,121,397,140"/>
+<area shape="rect" id="node4" href="googleapiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,146"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_35.gif" alt='' usemap="#uml_class_diagram_for_googleap_35" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Model class for requests that return Media.
+
+Serializes and de-serializes between JSON and the Python
+object representation of HTTP request, and returns the raw bytes
+of the response body.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.MediaModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Perform the actual deserialization from response string to Python
+object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#MediaModel.deserialize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.MediaModel-class.html#no_content_response" class="summary-sig-name">no_content_response</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#MediaModel.no_content_response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.JsonModel-class.html">JsonModel</a></code></b>:
+      <code><a href="googleapiclient.model.JsonModel-class.html#__init__">__init__</a></code>,
+      <code><a href="googleapiclient.model.JsonModel-class.html#serialize">serialize</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a></code></b>:
+      <code><a href="googleapiclient.model.BaseModel-class.html#request">request</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#response">response</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a></code></b> (private):
+      <code><a href="googleapiclient.model.BaseModel-class.html#_build_query" onclick="show_private();">_build_query</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#_log_request" onclick="show_private();">_log_request</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#_log_response" onclick="show_private();">_log_response</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="accept"></a><span class="summary-name">accept</span> = <code title="'*/*'">'*/*'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="'application/json'">'application/json'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="'media'">'media'</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="deserialize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">content</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#MediaModel.deserialize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Perform the actual deserialization from response string to Python
+object.
+
+Args:
+  content: string, the body of the HTTP response
+
+Returns:
+  The body de-serialized as a Python object.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#deserialize">BaseModel.deserialize</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="no_content_response"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">no_content_response</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#MediaModel.no_content_response">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@property</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#no_content_response">no_content_response</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.model.Model-class.html b/docs/epy/googleapiclient.model.Model-class.html
new file mode 100644
index 0000000..6fac66c
--- /dev/null
+++ b/docs/epy/googleapiclient.model.Model-class.html
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.model.Model</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.model-module.html">Module&nbsp;model</a> ::
+        Class&nbsp;Model
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.model.Model-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Model</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.model-pysrc.html#Model">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_36" name="uml_class_diagram_for_googleap_36">
+<area shape="rect" id="node89" href="googleapiclient.model.Model-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,39,397,57"/>
+<area shape="rect" id="node89" href="googleapiclient.model.Model-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,57,397,76"/>
+<area shape="rect" id="node1" href="googleapiclient.model.Model-class.html" title="Model base class." alt="" coords="5,6,408,82"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_36.gif" alt='' usemap="#uml_class_diagram_for_googleap_36" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Model base class.
+
+All Model classes should implement this interface.
+The Model serializes and de-serializes between a wire
+format such as JSON and a Python object representation.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.Model-class.html#request" class="summary-sig-name">request</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">headers</span>,
+        <span class="summary-sig-arg">path_params</span>,
+        <span class="summary-sig-arg">query_params</span>,
+        <span class="summary-sig-arg">body_value</span>)</span><br />
+      Updates outgoing requests with a serialized body.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#Model.request">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.Model-class.html#response" class="summary-sig-name">response</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">resp</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Convert the response wire format into a Python object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#Model.response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__init__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="request"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">request</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">headers</span>,
+        <span class="sig-arg">path_params</span>,
+        <span class="sig-arg">query_params</span>,
+        <span class="sig-arg">body_value</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#Model.request">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Updates outgoing requests with a serialized body.
+
+Args:
+  headers: dict, request headers
+  path_params: dict, parameters that appear in the request path
+  query_params: dict, parameters that appear in the query
+  body_value: object, the request body as a Python object, which must be
+              serializable.
+Returns:
+  A tuple of (headers, path_params, query, body)
+
+  headers: dict, request headers
+  path_params: dict, parameters that appear in the request path
+  query: string, query part of the request URI
+  body: string, the body serialized in the desired wire format.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="response"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">response</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">resp</span>,
+        <span class="sig-arg">content</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#Model.response">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Convert the response wire format into a Python object.
+
+Args:
+  resp: httplib2.Response, the HTTP response headers and status
+  content: string, the body of the HTTP response
+
+Returns:
+  The body de-serialized as a Python object.
+
+Raises:
+  googleapiclient.errors.HttpError if a non 2xx response is received.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html b/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html
new file mode 100644
index 0000000..726b4dd
--- /dev/null
+++ b/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.model.ProtocolBufferModel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.model-module.html">Module&nbsp;model</a> ::
+        Class&nbsp;ProtocolBufferModel
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.model.ProtocolBufferModel-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ProtocolBufferModel</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_37" name="uml_class_diagram_for_googleap_37">
+<area shape="rect" id="node90" href="googleapiclient.model.ProtocolBufferModel-class.html#accept" title="googleapiclient.model.ProtocolBufferModel.accept" alt="" coords="120,191,296,209"/>
+<area shape="rect" id="node90" href="googleapiclient.model.ProtocolBufferModel-class.html#content_type" title="googleapiclient.model.ProtocolBufferModel.content_type" alt="" coords="120,209,296,228"/>
+<area shape="rect" id="node90" href="googleapiclient.model.ProtocolBufferModel-class.html#alt_param" title="googleapiclient.model.ProtocolBufferModel.alt_param" alt="" coords="120,228,296,247"/>
+<area shape="rect" id="node90" href="googleapiclient.model.ProtocolBufferModel-class.html#__init__" title="Constructs a ProtocolBufferModel." alt="" coords="120,249,296,268"/>
+<area shape="rect" id="node90" href="googleapiclient.model.ProtocolBufferModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="120,268,296,287"/>
+<area shape="rect" id="node90" href="googleapiclient.model.ProtocolBufferModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="120,287,296,305"/>
+<area shape="rect" id="node90" href="googleapiclient.model.ProtocolBufferModel-class.html#no_content_response" title="googleapiclient.model.ProtocolBufferModel.no_content_response" alt="" coords="120,305,296,324"/>
+<area shape="rect" id="node1" href="googleapiclient.model.ProtocolBufferModel-class.html" title="Model class for protocol buffers." alt="" coords="108,166,308,330"/>
+<area shape="rect" id="node91" href="googleapiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,103,397,121"/>
+<area shape="rect" id="node91" href="googleapiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,121,397,140"/>
+<area shape="rect" id="node2" href="googleapiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,146"/>
+<area shape="rect" id="node3" href="googleapiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_37.gif" alt='' usemap="#uml_class_diagram_for_googleap_37" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Model class for protocol buffers.
+
+Serializes and de-serializes the binary protocol buffer sent in the HTTP
+request and response bodies.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.ProtocolBufferModel-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">protocol_buffer</span>)</span><br />
+      Constructs a ProtocolBufferModel.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.ProtocolBufferModel-class.html#serialize" class="summary-sig-name">serialize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">body_value</span>)</span><br />
+      Perform the actual Python object serialization.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel.serialize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.ProtocolBufferModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Perform the actual deserialization from response string to Python
+object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel.deserialize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.ProtocolBufferModel-class.html#no_content_response" class="summary-sig-name">no_content_response</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel.no_content_response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a></code></b>:
+      <code><a href="googleapiclient.model.BaseModel-class.html#request">request</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#response">response</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a></code></b> (private):
+      <code><a href="googleapiclient.model.BaseModel-class.html#_build_query" onclick="show_private();">_build_query</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#_log_request" onclick="show_private();">_log_request</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#_log_response" onclick="show_private();">_log_response</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="accept"></a><span class="summary-name">accept</span> = <code title="'application/x-protobuf'">'application/x-protobuf'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="'application/x-protobuf'">'application/x-protobuf'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="'proto'">'proto'</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">protocol_buffer</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructs a ProtocolBufferModel.
+
+The serialzed protocol buffer returned in an HTTP response will be
+de-serialized using the given protocol buffer class.
+
+Args:
+  protocol_buffer: The protocol buffer class used to de-serialize a
+  response from the API.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="serialize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">serialize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">body_value</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel.serialize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Perform the actual Python object serialization.
+
+Args:
+  body_value: object, the request body as a Python object.
+
+Returns:
+  string, the body in serialized form.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#serialize">BaseModel.serialize</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="deserialize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">content</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel.deserialize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Perform the actual deserialization from response string to Python
+object.
+
+Args:
+  content: string, the body of the HTTP response
+
+Returns:
+  The body de-serialized as a Python object.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#deserialize">BaseModel.deserialize</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="no_content_response"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">no_content_response</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#ProtocolBufferModel.no_content_response">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@property</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#no_content_response">no_content_response</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.model.RawModel-class.html b/docs/epy/googleapiclient.model.RawModel-class.html
new file mode 100644
index 0000000..f0a7f69
--- /dev/null
+++ b/docs/epy/googleapiclient.model.RawModel-class.html
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.model.RawModel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.model-module.html">Module&nbsp;model</a> ::
+        Class&nbsp;RawModel
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.model.RawModel-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class RawModel</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.model-pysrc.html#RawModel">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_38" name="uml_class_diagram_for_googleap_38">
+<area shape="rect" id="node93" href="googleapiclient.model.RawModel-class.html#accept" title="googleapiclient.model.RawModel.accept" alt="" coords="128,287,288,305"/>
+<area shape="rect" id="node93" href="googleapiclient.model.RawModel-class.html#content_type" title="googleapiclient.model.RawModel.content_type" alt="" coords="128,305,288,324"/>
+<area shape="rect" id="node93" href="googleapiclient.model.RawModel-class.html#alt_param" title="googleapiclient.model.RawModel.alt_param" alt="" coords="128,324,288,343"/>
+<area shape="rect" id="node93" href="googleapiclient.model.RawModel-class.html#deserialize" title="Perform the actual deserialization from response string to Python object." alt="" coords="128,345,288,364"/>
+<area shape="rect" id="node93" href="googleapiclient.model.RawModel-class.html#no_content_response" title="googleapiclient.model.RawModel.no_content_response" alt="" coords="128,364,288,383"/>
+<area shape="rect" id="node1" href="googleapiclient.model.RawModel-class.html" title="Model class for requests that don&#39;t return JSON." alt="" coords="116,262,300,389"/>
+<area shape="rect" id="node94" href="googleapiclient.model.JsonModel-class.html#__init__" title="Construct a JsonModel." alt="" coords="104,199,312,217"/>
+<area shape="rect" id="node94" href="googleapiclient.model.JsonModel-class.html#serialize" title="Perform the actual Python object serialization." alt="" coords="104,217,312,236"/>
+<area shape="rect" id="node2" href="googleapiclient.model.JsonModel-class.html" title="Model class for JSON." alt="" coords="92,166,324,242"/>
+<area shape="rect" id="node3" href="googleapiclient.model.Model-class.html" title="Model base class." alt="" coords="177,6,239,50"/>
+<area shape="rect" id="node95" href="googleapiclient.model.BaseModel-class.html#request" title="Updates outgoing requests with a serialized body." alt="" coords="17,103,397,121"/>
+<area shape="rect" id="node95" href="googleapiclient.model.BaseModel-class.html#response" title="Convert the response wire format into a Python object." alt="" coords="17,121,397,140"/>
+<area shape="rect" id="node4" href="googleapiclient.model.BaseModel-class.html" title="Base model class." alt="" coords="5,70,408,146"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_38.gif" alt='' usemap="#uml_class_diagram_for_googleap_38" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Model class for requests that don't return JSON.
+
+Serializes and de-serializes between JSON and the Python
+object representation of HTTP request, and returns the raw bytes
+of the response body.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.RawModel-class.html#deserialize" class="summary-sig-name">deserialize</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">content</span>)</span><br />
+      Perform the actual deserialization from response string to Python
+object.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#RawModel.deserialize">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.model.RawModel-class.html#no_content_response" class="summary-sig-name">no_content_response</a>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.model-pysrc.html#RawModel.no_content_response">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.JsonModel-class.html">JsonModel</a></code></b>:
+      <code><a href="googleapiclient.model.JsonModel-class.html#__init__">__init__</a></code>,
+      <code><a href="googleapiclient.model.JsonModel-class.html#serialize">serialize</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a></code></b>:
+      <code><a href="googleapiclient.model.BaseModel-class.html#request">request</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#response">response</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a></code></b> (private):
+      <code><a href="googleapiclient.model.BaseModel-class.html#_build_query" onclick="show_private();">_build_query</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#_log_request" onclick="show_private();">_log_request</a></code>,
+      <code><a href="googleapiclient.model.BaseModel-class.html#_log_response" onclick="show_private();">_log_response</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="accept"></a><span class="summary-name">accept</span> = <code title="'*/*'">'*/*'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="content_type"></a><span class="summary-name">content_type</span> = <code title="'application/json'">'application/json'</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a name="alt_param"></a><span class="summary-name">alt_param</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="deserialize"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deserialize</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">content</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#RawModel.deserialize">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Perform the actual deserialization from response string to Python
+object.
+
+Args:
+  content: string, the body of the HTTP response
+
+Returns:
+  The body de-serialized as a Python object.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#deserialize">BaseModel.deserialize</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="no_content_response"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">no_content_response</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.model-pysrc.html#RawModel.no_content_response">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@property</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="googleapiclient.model.BaseModel-class.html#no_content_response">no_content_response</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.sample_tools-module.html b/docs/epy/googleapiclient.sample_tools-module.html
new file mode 100644
index 0000000..c3499f0
--- /dev/null
+++ b/docs/epy/googleapiclient.sample_tools-module.html
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.sample_tools</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;sample_tools
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.sample_tools-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module sample_tools</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.sample_tools-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+Utilities for making samples.
+
+Consolidates a lot of code commonly repeated in sample applications.
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        jcgregorio@google.com (Joe Gregorio)
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.sample_tools-module.html#init" class="summary-sig-name">init</a>(<span class="summary-sig-arg">argv</span>,
+        <span class="summary-sig-arg">name</span>,
+        <span class="summary-sig-arg">version</span>,
+        <span class="summary-sig-arg">doc</span>,
+        <span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">scope</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">parents</span>=<span class="summary-sig-default">[]</span>)</span><br />
+      A common initialization routine for samples.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.sample_tools-pysrc.html#init">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="init"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">init</span>(<span class="sig-arg">argv</span>,
+        <span class="sig-arg">name</span>,
+        <span class="sig-arg">version</span>,
+        <span class="sig-arg">doc</span>,
+        <span class="sig-arg">filename</span>,
+        <span class="sig-arg">scope</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">parents</span>=<span class="sig-default">[]</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.sample_tools-pysrc.html#init">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+A common initialization routine for samples.
+
+Many of the sample applications do the same initialization, which has now
+been consolidated into this function. This function uses common idioms found
+in almost all the samples, i.e. for an API with name 'apiname', the
+credentials are stored in a file named apiname.dat, and the
+client_secrets.json file is stored in the same directory as the application
+main file.
+
+Args:
+  argv: list of string, the command-line parameters of the application.
+  name: string, name of the API.
+  version: string, version of the API.
+  doc: string, description of the application. Usually set to __doc__.
+  file: string, filename of the application. Usually set to __file__.
+  parents: list of argparse.ArgumentParser, additional command-line flags.
+  scope: string, The OAuth scope used.
+
+Returns:
+  A tuple of (service, flags), where service is the service object and flags
+  is the parsed command-line flags.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.sample_tools-pysrc.html b/docs/epy/googleapiclient.sample_tools-pysrc.html
new file mode 100644
index 0000000..9469acb
--- /dev/null
+++ b/docs/epy/googleapiclient.sample_tools-pysrc.html
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.sample_tools</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;sample_tools
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.sample_tools-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient.sample_tools-module.html">Module googleapiclient.sample_tools</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2013 Google Inc.</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">"""Utilities for making samples.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">Consolidates a lot of code commonly repeated in sample applications.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-name">__all__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'init'</tt><tt class="py-op">]</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">argparse</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">httplib2</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package googleapiclient=googleapiclient-module.html"><a title="googleapiclient" class="py-name" href="#" onclick="return doclink('link-0', 'googleapiclient', 'link-0');">googleapiclient</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module googleapiclient.discovery=googleapiclient.discovery-module.html"><a title="googleapiclient.discovery" class="py-name" href="#" onclick="return doclink('link-1', 'discovery', 'link-1');">discovery</a></tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">client</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">file</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">tools</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"> </tt>
+<a name="init"></a><div id="init-def"><a name="L34"></a><tt class="py-lineno">34</tt> <a class="py-toggle" href="#" id="init-toggle" onclick="return toggle('init');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.sample_tools-module.html#init">init</a><tt class="py-op">(</tt><tt class="py-param">argv</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">version</tt><tt class="py-op">,</tt> <tt class="py-param">doc</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">scope</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">parents</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="init-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="init-expanded"><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">  <tt class="py-docstring">"""A common initialization routine for samples.</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">  Many of the sample applications do the same initialization, which has now</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">  been consolidated into this function. This function uses common idioms found</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">  in almost all the samples, i.e. for an API with name 'apiname', the</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring">  credentials are stored in a file named apiname.dat, and the</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-docstring">  client_secrets.json file is stored in the same directory as the application</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-docstring">  main file.</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-docstring">  Args:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-docstring">    argv: list of string, the command-line parameters of the application.</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-docstring">    name: string, name of the API.</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring">    version: string, version of the API.</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">    doc: string, description of the application. Usually set to __doc__.</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">    file: string, filename of the application. Usually set to __file__.</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">    parents: list of argparse.ArgumentParser, additional command-line flags.</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">    scope: string, The OAuth scope used.</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring">  Returns:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-docstring">    A tuple of (service, flags), where service is the service object and flags</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"><tt class="py-docstring">    is the parsed command-line flags.</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">scope</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">    <tt class="py-name">scope</tt> <tt class="py-op">=</tt> <tt class="py-string">'https://www.googleapis.com/auth/'</tt> <tt class="py-op">+</tt> <tt class="py-name">name</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">  <tt class="py-comment"># Parser command-line arguments.</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">  <tt class="py-name">parent_parsers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">tools</tt><tt class="py-op">.</tt><tt class="py-name">argparser</tt><tt class="py-op">]</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">  <tt class="py-name">parent_parsers</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">parents</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">  <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">argparse</tt><tt class="py-op">.</tt><tt class="py-name">ArgumentParser</tt><tt class="py-op">(</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">      <tt class="py-name">description</tt><tt class="py-op">=</tt><tt class="py-name">doc</tt><tt class="py-op">,</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">      <tt class="py-name">formatter_class</tt><tt class="py-op">=</tt><tt class="py-name">argparse</tt><tt class="py-op">.</tt><tt class="py-name">RawDescriptionHelpFormatter</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">      <tt class="py-name">parents</tt><tt class="py-op">=</tt><tt class="py-name">parent_parsers</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">  <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">parse_args</tt><tt class="py-op">(</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">  <tt class="py-comment"># Name of a file containing the OAuth 2.0 information for this</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">  <tt class="py-comment"># application, including client_id and client_secret, which are found</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">  <tt class="py-comment"># on the API Access tab on the Google APIs</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">  <tt class="py-comment"># Console &lt;http://code.google.com/apis/console&gt;.</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line">  <tt class="py-name">client_secrets</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">                                <tt class="py-string">'client_secrets.json'</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">  <tt class="py-comment"># Set up a Flow object to be used if we need to authenticate.</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">  <tt class="py-name">flow</tt> <tt class="py-op">=</tt> <tt class="py-name">client</tt><tt class="py-op">.</tt><tt class="py-name">flow_from_clientsecrets</tt><tt class="py-op">(</tt><tt class="py-name">client_secrets</tt><tt class="py-op">,</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line">      <tt class="py-name">scope</tt><tt class="py-op">=</tt><tt class="py-name">scope</tt><tt class="py-op">,</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line">      <tt class="py-name">message</tt><tt class="py-op">=</tt><tt class="py-name">tools</tt><tt class="py-op">.</tt><tt class="py-name">message_if_missing</tt><tt class="py-op">(</tt><tt class="py-name">client_secrets</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line">  <tt class="py-comment"># Prepare credentials, and authorize HTTP object with them.</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line">  <tt class="py-comment"># If the credentials don't exist or are invalid run through the native client</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">83</tt>  <tt class="py-line">  <tt class="py-comment"># flow. The Storage object will ensure that if successful the good</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">84</tt>  <tt class="py-line">  <tt class="py-comment"># credentials will get written back to a file.</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">85</tt>  <tt class="py-line">  <tt class="py-name">storage</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">Storage</tt><tt class="py-op">(</tt><tt class="py-name">name</tt> <tt class="py-op">+</tt> <tt class="py-string">'.dat'</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">86</tt>  <tt class="py-line">  <tt class="py-name">credentials</tt> <tt class="py-op">=</tt> <tt class="py-name">storage</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-2', 'get', 'link-2');">get</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">87</tt>  <tt class="py-line">  <tt class="py-keyword">if</tt> <tt class="py-name">credentials</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">invalid</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">88</tt>  <tt class="py-line">    <tt class="py-name">credentials</tt> <tt class="py-op">=</tt> <tt class="py-name">tools</tt><tt class="py-op">.</tt><tt class="py-name">run_flow</tt><tt class="py-op">(</tt><tt class="py-name">flow</tt><tt class="py-op">,</tt> <tt class="py-name">storage</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">89</tt>  <tt class="py-line">  <tt id="link-3" class="py-name" targets="Module googleapiclient.http=googleapiclient.http-module.html"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-3', 'http', 'link-3');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">credentials</tt><tt class="py-op">.</tt><tt class="py-name">authorize</tt><tt class="py-op">(</tt><tt id="link-4" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-4', 'http', 'link-3');">http</a></tt> <tt class="py-op">=</tt> <tt class="py-name">httplib2</tt><tt class="py-op">.</tt><tt class="py-name">Http</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno">91</tt>  <tt class="py-line">  <tt class="py-comment"># Construct a service object via the discovery service.</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">92</tt>  <tt class="py-line">  <tt class="py-name">service</tt> <tt class="py-op">=</tt> <tt id="link-5" class="py-name"><a title="googleapiclient.discovery" class="py-name" href="#" onclick="return doclink('link-5', 'discovery', 'link-1');">discovery</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Function googleapiclient.discovery.build()=googleapiclient.discovery-module.html#build"><a title="googleapiclient.discovery.build" class="py-name" href="#" onclick="return doclink('link-6', 'build', 'link-6');">build</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">version</tt><tt class="py-op">,</tt> <tt id="link-7" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-7', 'http', 'link-3');">http</a></tt><tt class="py-op">=</tt><tt id="link-8" class="py-name"><a title="googleapiclient.http" class="py-name" href="#" onclick="return doclink('link-8', 'http', 'link-3');">http</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">93</tt>  <tt class="py-line">  <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">service</tt><tt class="py-op">,</tt> <tt class="py-name">flags</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L94"></a><tt class="py-lineno">94</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.schema-module.html b/docs/epy/googleapiclient.schema-module.html
new file mode 100644
index 0000000..57b76ea
--- /dev/null
+++ b/docs/epy/googleapiclient.schema-module.html
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.schema</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;schema
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.schema-module.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module schema</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.schema-pysrc.html">source&nbsp;code</a></span></p>
+<pre class="literalblock">
+Schema processing for discovery based APIs
+
+Schemas holds an APIs discovery schemas. It can return those schema as
+deserialized JSON objects, or pretty print them as prototype objects that
+conform to the schema.
+
+For example, given the schema:
+
+ schema = &quot;&quot;&quot;{
+   &quot;Foo&quot;: {
+    &quot;type&quot;: &quot;object&quot;,
+    &quot;properties&quot;: {
+     &quot;etag&quot;: {
+      &quot;type&quot;: &quot;string&quot;,
+      &quot;description&quot;: &quot;ETag of the collection.&quot;
+     },
+     &quot;kind&quot;: {
+      &quot;type&quot;: &quot;string&quot;,
+      &quot;description&quot;: &quot;Type of the collection ('calendar#acl').&quot;,
+      &quot;default&quot;: &quot;calendar#acl&quot;
+     },
+     &quot;nextPageToken&quot;: {
+      &quot;type&quot;: &quot;string&quot;,
+      &quot;description&quot;: &quot;Token used to access the next
+         page of this result. Omitted if no further results are available.&quot;
+     }
+    }
+   }
+ }&quot;&quot;&quot;
+
+ s = Schemas(schema)
+ print s.prettyPrintByName('Foo')
+
+ Produces the following output:
+
+  {
+   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token used to access the
+       # next page of this result. Omitted if no further results are available.
+   &quot;kind&quot;: &quot;A String&quot;, # Type of the collection ('calendar#acl').
+   &quot;etag&quot;: &quot;A String&quot;, # ETag of the collection.
+  },
+
+The constructor takes a discovery document in which to look up named schema.
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        jcgregorio@google.com (Joe Gregorio)
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.schema.Schemas-class.html" class="summary-name">Schemas</a><br />
+      Schemas for an API.
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="googleapiclient.schema._SchemaToStruct-class.html" class="summary-name" onclick="show_private();">_SchemaToStruct</a><br />
+      Convert schema to a prototype object.
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.schema-pysrc.html b/docs/epy/googleapiclient.schema-pysrc.html
new file mode 100644
index 0000000..4988d1f
--- /dev/null
+++ b/docs/epy/googleapiclient.schema-pysrc.html
@@ -0,0 +1,423 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.schema</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        Module&nbsp;schema
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.schema-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="googleapiclient.schema-module.html">Module googleapiclient.schema</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2010 Google Inc.</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment"># Licensed under the Apache License, Version 2.0 (the "License");</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># you may not use this file except in compliance with the License.</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># You may obtain a copy of the License at</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#      http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing, software</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment"># distributed under the License is distributed on an "AS IS" BASIS,</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-comment"># WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># See the License for the specific language governing permissions and</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># limitations under the License.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""Schema processing for discovery based APIs</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">Schemas holds an APIs discovery schemas. It can return those schema as</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">deserialized JSON objects, or pretty print them as prototype objects that</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">conform to the schema.</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">For example, given the schema:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring"> schema = \"\"\"{</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">   "Foo": {</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    "type": "object",</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    "properties": {</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">     "etag": {</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">      "type": "string",</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">      "description": "ETag of the collection."</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">     },</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">     "kind": {</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">      "type": "string",</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">      "description": "Type of the collection ('calendar#acl').",</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">      "default": "calendar#acl"</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">     },</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">     "nextPageToken": {</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">      "type": "string",</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">      "description": "Token used to access the next</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">         page of this result. Omitted if no further results are available."</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">     }</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">    }</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">   }</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring"> }\"\"\"</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring"> s = Schemas(schema)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring"> print s.prettyPrintByName('Foo')</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring"> Produces the following output:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">  {</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">   "nextPageToken": "A String", # Token used to access the</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">       # next page of this result. Omitted if no further results are available.</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">   "kind": "A String", # Type of the collection ('calendar#acl').</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">   "etag": "A String", # ETag of the collection.</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">  },</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">The constructor takes a discovery document in which to look up named schema.</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-comment"># TODO(jcgregorio) support format, enum, minimum, maximum</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">'jcgregorio@google.com (Joe Gregorio)'</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">copy</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt> <tt class="py-keyword">import</tt> <tt class="py-name">util</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">oauth2client</tt><tt class="py-op">.</tt><tt class="py-name">anyjson</tt> <tt class="py-keyword">import</tt> <tt class="py-name">simplejson</tt> </tt>
+<a name="Schemas"></a><div id="Schemas-def"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="Schemas-toggle" onclick="return toggle('Schemas');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.schema.Schemas-class.html">Schemas</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Schemas-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Schemas-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">  <tt class="py-docstring">"""Schemas for an API."""</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="Schemas.__init__"></a><div id="Schemas.__init__-def"><a name="L73"></a><tt class="py-lineno"> 73</tt> <a class="py-toggle" href="#" id="Schemas.__init__-toggle" onclick="return toggle('Schemas.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema.Schemas-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">discovery</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Schemas.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas.__init__-expanded"><a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">      discovery: object, Deserialized discovery document from which we pull</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">        out the named schema.</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">schemas</tt> <tt class="py-op">=</tt> <tt id="link-0" class="py-name" targets="Module googleapiclient.discovery=googleapiclient.discovery-module.html"><a title="googleapiclient.discovery" class="py-name" href="#" onclick="return doclink('link-0', 'discovery', 'link-0');">discovery</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method googleapiclient.schema.Schemas.get()=googleapiclient.schema.Schemas-class.html#get"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-1', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'schemas'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt class="py-comment"># Cache of pretty printed schemas.</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pretty</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+</div><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="Schemas._prettyPrintByName"></a><div id="Schemas._prettyPrintByName-def"><a name="L86"></a><tt class="py-lineno"> 86</tt> <a class="py-toggle" href="#" id="Schemas._prettyPrintByName-toggle" onclick="return toggle('Schemas._prettyPrintByName');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema.Schemas-class.html#_prettyPrintByName">_prettyPrintByName</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">seen</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">dent</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Schemas._prettyPrintByName-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas._prettyPrintByName-expanded"><a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get pretty printed object prototype from the schema name.</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">      name: string, Name of schema in the discovery document.</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-docstring">      seen: list of string, Names of schema already seen. Used to handle</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-docstring">        recursive definitions.</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-docstring">      string, A string that contains a prototype object with</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        comments that conforms to the given schema.</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">seen</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">      <tt class="py-name">seen</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">seen</tt><tt class="py-op">:</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">      <tt class="py-comment"># Do not fall into an infinite loop over recursive definitions.</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-string">'# Object with schema name: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">name</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-name">seen</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pretty</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pretty</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Class googleapiclient.schema._SchemaToStruct=googleapiclient.schema._SchemaToStruct-class.html"><a title="googleapiclient.schema._SchemaToStruct" class="py-name" href="#" onclick="return doclink('link-2', '_SchemaToStruct', 'link-2');">_SchemaToStruct</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">schemas</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">          <tt class="py-name">seen</tt><tt class="py-op">,</tt> <tt class="py-name">dent</tt><tt class="py-op">=</tt><tt class="py-name">dent</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method googleapiclient.schema._SchemaToStruct.to_str()=googleapiclient.schema._SchemaToStruct-class.html#to_str"><a title="googleapiclient.schema._SchemaToStruct.to_str" class="py-name" href="#" onclick="return doclink('link-3', 'to_str', 'link-3');">to_str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method googleapiclient.schema.Schemas._prettyPrintByName()=googleapiclient.schema.Schemas-class.html#_prettyPrintByName"><a title="googleapiclient.schema.Schemas._prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-4', '_prettyPrintByName', 'link-4');">_prettyPrintByName</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-name">seen</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pretty</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
+<a name="Schemas.prettyPrintByName"></a><div id="Schemas.prettyPrintByName-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="Schemas.prettyPrintByName-toggle" onclick="return toggle('Schemas.prettyPrintByName');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema.Schemas-class.html#prettyPrintByName">prettyPrintByName</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Schemas.prettyPrintByName-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas.prettyPrintByName-expanded"><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get pretty printed object prototype from the schema name.</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">      name: string, Name of schema in the discovery document.</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">      string, A string that contains a prototype object with</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">        comments that conforms to the given schema.</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-comment"># Return with trailing comma and newline removed.</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="googleapiclient.schema.Schemas._prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-5', '_prettyPrintByName', 'link-4');">_prettyPrintByName</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">seen</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">dent</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="Schemas._prettyPrintSchema"></a><div id="Schemas._prettyPrintSchema-def"><a name="L128"></a><tt class="py-lineno">128</tt> <a class="py-toggle" href="#" id="Schemas._prettyPrintSchema-toggle" onclick="return toggle('Schemas._prettyPrintSchema');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema.Schemas-class.html#_prettyPrintSchema">_prettyPrintSchema</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">,</tt> <tt class="py-param">seen</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">dent</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Schemas._prettyPrintSchema-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas._prettyPrintSchema-expanded"><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get pretty printed object prototype of schema.</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, Parsed JSON schema.</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">      seen: list of string, Names of schema already seen. Used to handle</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">        recursive definitions.</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">      string, A string that contains a prototype object with</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">        comments that conforms to the given schema.</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">seen</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">      <tt class="py-name">seen</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name"><a title="googleapiclient.schema._SchemaToStruct" class="py-name" href="#" onclick="return doclink('link-6', '_SchemaToStruct', 'link-2');">_SchemaToStruct</a></tt><tt class="py-op">(</tt><tt id="link-7" class="py-name" targets="Module googleapiclient.schema=googleapiclient.schema-module.html"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-7', 'schema', 'link-7');">schema</a></tt><tt class="py-op">,</tt> <tt class="py-name">seen</tt><tt class="py-op">,</tt> <tt class="py-name">dent</tt><tt class="py-op">=</tt><tt class="py-name">dent</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.to_str" class="py-name" href="#" onclick="return doclink('link-8', 'to_str', 'link-3');">to_str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="googleapiclient.schema.Schemas._prettyPrintByName" class="py-name" href="#" onclick="return doclink('link-9', '_prettyPrintByName', 'link-4');">_prettyPrintByName</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
+<a name="Schemas.prettyPrintSchema"></a><div id="Schemas.prettyPrintSchema-def"><a name="L145"></a><tt class="py-lineno">145</tt> <a class="py-toggle" href="#" id="Schemas.prettyPrintSchema-toggle" onclick="return toggle('Schemas.prettyPrintSchema');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema.Schemas-class.html#prettyPrintSchema">prettyPrintSchema</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Schemas.prettyPrintSchema-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas.prettyPrintSchema-expanded"><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get pretty printed object prototype of schema.</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, Parsed JSON schema.</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">      string, A string that contains a prototype object with</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">        comments that conforms to the given schema.</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-comment"># Return with trailing comma and newline removed.</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method googleapiclient.schema.Schemas._prettyPrintSchema()=googleapiclient.schema.Schemas-class.html#_prettyPrintSchema"><a title="googleapiclient.schema.Schemas._prettyPrintSchema" class="py-name" href="#" onclick="return doclink('link-10', '_prettyPrintSchema', 'link-10');">_prettyPrintSchema</a></tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-11', 'schema', 'link-7');">schema</a></tt><tt class="py-op">,</tt> <tt class="py-name">dent</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt>
+<a name="Schemas.get"></a><div id="Schemas.get-def"><a name="L158"></a><tt class="py-lineno">158</tt> <a class="py-toggle" href="#" id="Schemas.get-toggle" onclick="return toggle('Schemas.get');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema.Schemas-class.html#get">get</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Schemas.get-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="Schemas.get-expanded"><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-docstring">"""Get deserialized JSON schema from the schema name.</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">      name: string, Schema name.</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">schemas</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> </tt>
+</div></div><a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"> </tt>
+<a name="_SchemaToStruct"></a><div id="_SchemaToStruct-def"><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="_SchemaToStruct-toggle" onclick="return toggle('_SchemaToStruct');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html">_SchemaToStruct</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_SchemaToStruct-expanded"><a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">  <tt class="py-docstring">"""Convert schema to a prototype object."""</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">util</tt><tt class="py-op">.</tt><tt class="py-name">positional</tt><tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="_SchemaToStruct.__init__"></a><div id="_SchemaToStruct.__init__-def"><a name="L171"></a><tt class="py-lineno">171</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.__init__-toggle" onclick="return toggle('_SchemaToStruct.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">,</tt> <tt class="py-param">seen</tt><tt class="py-op">,</tt> <tt class="py-param">dent</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct.__init__-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.__init__-expanded"><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">    <tt class="py-docstring">"""Constructor.</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, Parsed JSON schema.</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">      seen: list, List of names of schema already seen while parsing. Used to</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">        handle recursive definitions.</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">      dent: int, Initial indentation depth.</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">    <tt class="py-comment"># The result of this parsing kept as list of strings.</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">    <tt class="py-comment"># The final value of the parsing.</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-comment"># The parsed JSON schema.</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-12', 'schema', 'link-7');">schema</a></tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-13', 'schema', 'link-7');">schema</a></tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">    <tt class="py-comment"># Indentation level.</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt> <tt class="py-op">=</tt> <tt class="py-name">dent</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-comment"># Method that when called returns a prototype object for the schema with</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">    <tt class="py-comment"># the given name.</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">from_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-comment"># List of names of schema already seen while parsing.</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seen</tt> <tt class="py-op">=</tt> <tt class="py-name">seen</tt> </tt>
+</div><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
+<a name="_SchemaToStruct.emit"></a><div id="_SchemaToStruct.emit-def"><a name="L199"></a><tt class="py-lineno">199</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.emit-toggle" onclick="return toggle('_SchemaToStruct.emit');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html#emit">emit</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct.emit-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.emit-expanded"><a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add text as a line to the output.</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">      text: string, Text to output.</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"  "</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-string">'\n'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"> </tt>
+<a name="_SchemaToStruct.emitBegin"></a><div id="_SchemaToStruct.emitBegin-def"><a name="L207"></a><tt class="py-lineno">207</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.emitBegin-toggle" onclick="return toggle('_SchemaToStruct.emitBegin');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html#emitBegin">emitBegin</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct.emitBegin-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.emitBegin-expanded"><a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add text to the output, but with no line terminator.</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">      text: string, Text to output.</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">      """</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"  "</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt><tt class="py-op">,</tt> <tt class="py-name">text</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"> </tt>
+<a name="_SchemaToStruct.emitEnd"></a><div id="_SchemaToStruct.emitEnd-def"><a name="L215"></a><tt class="py-lineno">215</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.emitEnd-toggle" onclick="return toggle('_SchemaToStruct.emitEnd');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html#emitEnd">emitEnd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">comment</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct.emitEnd-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.emitEnd-expanded"><a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-docstring">"""Add text and comment to the output with line terminator.</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">      text: string, Text to output.</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">      comment: string, Python comment.</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">comment</tt><tt class="py-op">:</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">      <tt class="py-name">divider</tt> <tt class="py-op">=</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">+</tt> <tt class="py-string">'  '</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'# '</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">      <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">comment</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">      <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt><tt class="py-op">]</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">      <tt class="py-name">comment</tt> <tt class="py-op">=</tt> <tt class="py-name">divider</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-string">' # '</tt><tt class="py-op">,</tt> <tt class="py-name">comment</tt><tt class="py-op">,</tt> <tt class="py-string">'\n'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-string">'\n'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"> </tt>
+<a name="_SchemaToStruct.indent"></a><div id="_SchemaToStruct.indent-def"><a name="L231"></a><tt class="py-lineno">231</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.indent-toggle" onclick="return toggle('_SchemaToStruct.indent');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html#indent">indent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct.indent-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.indent-expanded"><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt class="py-docstring">"""Increase indentation level."""</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+</div><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"> </tt>
+<a name="_SchemaToStruct.undent"></a><div id="_SchemaToStruct.undent-def"><a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.undent-toggle" onclick="return toggle('_SchemaToStruct.undent');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html#undent">undent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct.undent-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.undent-expanded"><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">    <tt class="py-docstring">"""Decrease indentation level."""</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dent</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
+</div><a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
+<a name="_SchemaToStruct._to_str_impl"></a><div id="_SchemaToStruct._to_str_impl-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="_SchemaToStruct._to_str_impl-toggle" onclick="return toggle('_SchemaToStruct._to_str_impl');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html#_to_str_impl">_to_str_impl</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">schema</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct._to_str_impl-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct._to_str_impl-expanded"><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-docstring">"""Prototype object based on the schema, in Python code with comments.</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-docstring">      schema: object, Parsed JSON schema file.</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">      Prototype object based on the schema, in Python code with comments.</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-name">stype</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-14', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-15', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'type'</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'object'</tt><tt class="py-op">:</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method googleapiclient.schema._SchemaToStruct.emitEnd()=googleapiclient.schema._SchemaToStruct-class.html#emitEnd"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-16', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'{'</tt><tt class="py-op">,</tt> <tt id="link-17" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-17', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-18', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method googleapiclient.schema._SchemaToStruct.indent()=googleapiclient.schema._SchemaToStruct-class.html#indent"><a title="googleapiclient.schema._SchemaToStruct.indent" class="py-name" href="#" onclick="return doclink('link-19', 'indent', 'link-19');">indent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-string">'properties'</tt> <tt class="py-keyword">in</tt> <tt id="link-20" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-20', 'schema', 'link-7');">schema</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">pname</tt><tt class="py-op">,</tt> <tt class="py-name">pschema</tt> <tt class="py-keyword">in</tt> <tt id="link-21" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-21', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-22', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'properties'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method googleapiclient.schema._SchemaToStruct.emitBegin()=googleapiclient.schema._SchemaToStruct-class.html#emitBegin"><a title="googleapiclient.schema._SchemaToStruct.emitBegin" class="py-name" href="#" onclick="return doclink('link-23', 'emitBegin', 'link-23');">emitBegin</a></tt><tt class="py-op">(</tt><tt class="py-string">'"%s": '</tt> <tt class="py-op">%</tt> <tt class="py-name">pname</tt><tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method googleapiclient.schema._SchemaToStruct._to_str_impl()=googleapiclient.schema._SchemaToStruct-class.html#_to_str_impl"><a title="googleapiclient.schema._SchemaToStruct._to_str_impl" class="py-name" href="#" onclick="return doclink('link-24', '_to_str_impl', 'link-24');">_to_str_impl</a></tt><tt class="py-op">(</tt><tt class="py-name">pschema</tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-string">'additionalProperties'</tt> <tt class="py-keyword">in</tt> <tt id="link-25" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-25', 'schema', 'link-7');">schema</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitBegin" class="py-name" href="#" onclick="return doclink('link-26', 'emitBegin', 'link-23');">emitBegin</a></tt><tt class="py-op">(</tt><tt class="py-string">'"a_key": '</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="googleapiclient.schema._SchemaToStruct._to_str_impl" class="py-name" href="#" onclick="return doclink('link-27', '_to_str_impl', 'link-24');">_to_str_impl</a></tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-28', 'schema', 'link-7');">schema</a></tt><tt class="py-op">[</tt><tt class="py-string">'additionalProperties'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method googleapiclient.schema._SchemaToStruct.undent()=googleapiclient.schema._SchemaToStruct-class.html#undent"><a title="googleapiclient.schema._SchemaToStruct.undent" class="py-name" href="#" onclick="return doclink('link-29', 'undent', 'link-29');">undent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method googleapiclient.schema._SchemaToStruct.emit()=googleapiclient.schema._SchemaToStruct-class.html#emit"><a title="googleapiclient.schema._SchemaToStruct.emit" class="py-name" href="#" onclick="return doclink('link-30', 'emit', 'link-30');">emit</a></tt><tt class="py-op">(</tt><tt class="py-string">'},'</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-string">'$ref'</tt> <tt class="py-keyword">in</tt> <tt id="link-31" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-31', 'schema', 'link-7');">schema</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">      <tt class="py-name">schemaName</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-32', 'schema', 'link-7');">schema</a></tt><tt class="py-op">[</tt><tt class="py-string">'$ref'</tt><tt class="py-op">]</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">      <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-33', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-34', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">      <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">from_cache</tt><tt class="py-op">(</tt><tt class="py-name">schemaName</tt><tt class="py-op">,</tt> <tt class="py-name">seen</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">seen</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">      <tt class="py-name">parts</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-35', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">      <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emit" class="py-name" href="#" onclick="return doclink('link-36', 'emit', 'link-30');">emit</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'boolean'</tt><tt class="py-op">:</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-37', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-38', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-string">'True or False'</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-39', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'%s,'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-40" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-40', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-41', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'string'</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-42', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-43', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-string">'A String'</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-44', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'"%s",'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-45" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-45', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-46', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'integer'</tt><tt class="py-op">:</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-47', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-48', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-string">'42'</tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-49', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'%s,'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-50" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-50', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-51', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'number'</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">      <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-52', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-53', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'default'</tt><tt class="py-op">,</tt> <tt class="py-string">'3.14'</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-54', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'%s,'</tt> <tt class="py-op">%</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-55" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-55', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-56', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'null'</tt><tt class="py-op">:</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-57', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'None,'</tt><tt class="py-op">,</tt> <tt id="link-58" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-58', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-59', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'any'</tt><tt class="py-op">:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-60', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'"",'</tt><tt class="py-op">,</tt> <tt id="link-61" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-61', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-62', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-name">stype</tt> <tt class="py-op">==</tt> <tt class="py-string">'array'</tt><tt class="py-op">:</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-63', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">,</tt> <tt id="link-64" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-64', 'schema', 'link-7');">schema</a></tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="googleapiclient.schema.Schemas.get" class="py-name" href="#" onclick="return doclink('link-65', 'get', 'link-1');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'description'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.indent" class="py-name" href="#" onclick="return doclink('link-66', 'indent', 'link-19');">indent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitBegin" class="py-name" href="#" onclick="return doclink('link-67', 'emitBegin', 'link-23');">emitBegin</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="googleapiclient.schema._SchemaToStruct._to_str_impl" class="py-name" href="#" onclick="return doclink('link-68', '_to_str_impl', 'link-24');">_to_str_impl</a></tt><tt class="py-op">(</tt><tt id="link-69" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-69', 'schema', 'link-7');">schema</a></tt><tt class="py-op">[</tt><tt class="py-string">'items'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.undent" class="py-name" href="#" onclick="return doclink('link-70', 'undent', 'link-29');">undent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emit" class="py-name" href="#" onclick="return doclink('link-71', 'emit', 'link-30');">emit</a></tt><tt class="py-op">(</tt><tt class="py-string">'],'</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emit" class="py-name" href="#" onclick="return doclink('link-72', 'emit', 'link-30');">emit</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unknown type! %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">stype</tt><tt class="py-op">)</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="googleapiclient.schema._SchemaToStruct.emitEnd" class="py-name" href="#" onclick="return doclink('link-73', 'emitEnd', 'link-16');">emitEnd</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> </tt>
+</div><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"> </tt>
+<a name="_SchemaToStruct.to_str"></a><div id="_SchemaToStruct.to_str-def"><a name="L299"></a><tt class="py-lineno">299</tt> <a class="py-toggle" href="#" id="_SchemaToStruct.to_str-toggle" onclick="return toggle('_SchemaToStruct.to_str');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.schema._SchemaToStruct-class.html#to_str">to_str</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">from_cache</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_SchemaToStruct.to_str-collapsed" style="display:none;" pad="+++" indent="++++++"></div><div id="_SchemaToStruct.to_str-expanded"><a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">    <tt class="py-docstring">"""Prototype object based on the schema, in Python code with comments.</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"><tt class="py-docstring">    Args:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"><tt class="py-docstring">      from_cache: callable(name, seen), Callable that retrieves an object</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"><tt class="py-docstring">         prototype for a schema with the given name. Seen is a list of schema</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-docstring">         names already seen as we recursively descend the schema definition.</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-docstring">    Returns:</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">      Prototype object based on the schema, in Python code with comments.</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">      The lines of the code will all be properly indented.</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">from_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">from_cache</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="googleapiclient.schema._SchemaToStruct._to_str_impl" class="py-name" href="#" onclick="return doclink('link-74', '_to_str_impl', 'link-24');">_to_str_impl</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="googleapiclient.schema" class="py-name" href="#" onclick="return doclink('link-75', 'schema', 'link-7');">schema</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.schema.Schemas-class.html b/docs/epy/googleapiclient.schema.Schemas-class.html
new file mode 100644
index 0000000..c0141f8
--- /dev/null
+++ b/docs/epy/googleapiclient.schema.Schemas-class.html
@@ -0,0 +1,507 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.schema.Schemas</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.schema-module.html">Module&nbsp;schema</a> ::
+        Class&nbsp;Schemas
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.schema.Schemas-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Schemas</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_39" name="uml_class_diagram_for_googleap_39">
+<area shape="rect" id="node97" href="googleapiclient.schema.Schemas-class.html#__init__" title="Constructor." alt="" coords="17,39,216,57"/>
+<area shape="rect" id="node97" href="googleapiclient.schema.Schemas-class.html#prettyPrintByName" title="Get pretty printed object prototype from the schema name." alt="" coords="17,57,216,76"/>
+<area shape="rect" id="node97" href="googleapiclient.schema.Schemas-class.html#prettyPrintSchema" title="Get pretty printed object prototype of schema." alt="" coords="17,76,216,95"/>
+<area shape="rect" id="node97" href="googleapiclient.schema.Schemas-class.html#get" title="Get deserialized JSON schema from the schema name." alt="" coords="17,95,216,113"/>
+<area shape="rect" id="node1" href="googleapiclient.schema.Schemas-class.html" title="Schemas for an API." alt="" coords="5,6,227,119"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_39.gif" alt='' usemap="#uml_class_diagram_for_googleap_39" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Schemas for an API.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema.Schemas-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">discovery</span>)</span><br />
+      Constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema.Schemas-class.html#_prettyPrintByName" class="summary-sig-name" onclick="show_private();">_prettyPrintByName</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">name</span>,
+        <span class="summary-sig-arg">seen</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">dent</span>=<span class="summary-sig-default">0</span>)</span><br />
+      Get pretty printed object prototype from the schema name.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas._prettyPrintByName">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema.Schemas-class.html#prettyPrintByName" class="summary-sig-name">prettyPrintByName</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">name</span>)</span><br />
+      Get pretty printed object prototype from the schema name.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas.prettyPrintByName">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema.Schemas-class.html#_prettyPrintSchema" class="summary-sig-name" onclick="show_private();">_prettyPrintSchema</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">schema</span>,
+        <span class="summary-sig-arg">seen</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">dent</span>=<span class="summary-sig-default">0</span>)</span><br />
+      Get pretty printed object prototype of schema.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas._prettyPrintSchema">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema.Schemas-class.html#prettyPrintSchema" class="summary-sig-name">prettyPrintSchema</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">schema</span>)</span><br />
+      Get pretty printed object prototype of schema.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas.prettyPrintSchema">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema.Schemas-class.html#get" class="summary-sig-name">get</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">name</span>)</span><br />
+      Get deserialized JSON schema from the schema name.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas.get">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">discovery</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor.
+
+Args:
+  discovery: object, Deserialized discovery document from which we pull
+    out the named schema.
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_prettyPrintByName"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_prettyPrintByName</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">name</span>,
+        <span class="sig-arg">seen</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">dent</span>=<span class="sig-default">0</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas._prettyPrintByName">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Get pretty printed object prototype from the schema name.
+
+Args:
+  name: string, Name of schema in the discovery document.
+  seen: list of string, Names of schema already seen. Used to handle
+    recursive definitions.
+
+Returns:
+  string, A string that contains a prototype object with
+    comments that conforms to the given schema.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(2)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="prettyPrintByName"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">prettyPrintByName</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">name</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas.prettyPrintByName">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Get pretty printed object prototype from the schema name.
+
+Args:
+  name: string, Name of schema in the discovery document.
+
+Returns:
+  string, A string that contains a prototype object with
+    comments that conforms to the given schema.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_prettyPrintSchema"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_prettyPrintSchema</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">schema</span>,
+        <span class="sig-arg">seen</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">dent</span>=<span class="sig-default">0</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas._prettyPrintSchema">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Get pretty printed object prototype of schema.
+
+Args:
+  schema: object, Parsed JSON schema.
+  seen: list of string, Names of schema already seen. Used to handle
+    recursive definitions.
+
+Returns:
+  string, A string that contains a prototype object with
+    comments that conforms to the given schema.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(2)</code></li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="prettyPrintSchema"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">prettyPrintSchema</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">schema</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas.prettyPrintSchema">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Get pretty printed object prototype of schema.
+
+Args:
+  schema: object, Parsed JSON schema.
+
+Returns:
+  string, A string that contains a prototype object with
+    comments that conforms to the given schema.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="get"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">get</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">name</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#Schemas.get">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Get deserialized JSON schema from the schema name.
+
+Args:
+  name: string, Schema name.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/googleapiclient.schema._SchemaToStruct-class.html b/docs/epy/googleapiclient.schema._SchemaToStruct-class.html
new file mode 100644
index 0000000..3af8bd5
--- /dev/null
+++ b/docs/epy/googleapiclient.schema._SchemaToStruct-class.html
@@ -0,0 +1,531 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient.schema._SchemaToStruct</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
+        <a href="googleapiclient.schema-module.html">Module&nbsp;schema</a> ::
+        Class&nbsp;_SchemaToStruct
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class _SchemaToStruct</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct">source&nbsp;code</a></span></p>
+<center>
+<center>  <map id="uml_class_diagram_for_googleap_40" name="uml_class_diagram_for_googleap_40">
+<area shape="rect" id="node98" href="googleapiclient.schema._SchemaToStruct-class.html#__init__" title="Constructor." alt="" coords="17,39,237,57"/>
+<area shape="rect" id="node98" href="googleapiclient.schema._SchemaToStruct-class.html#emit" title="Add text as a line to the output." alt="" coords="17,57,237,76"/>
+<area shape="rect" id="node98" href="googleapiclient.schema._SchemaToStruct-class.html#emitBegin" title="Add text to the output, but with no line terminator." alt="" coords="17,76,237,95"/>
+<area shape="rect" id="node98" href="googleapiclient.schema._SchemaToStruct-class.html#emitEnd" title="Add text and comment to the output with line terminator." alt="" coords="17,95,237,113"/>
+<area shape="rect" id="node98" href="googleapiclient.schema._SchemaToStruct-class.html#indent" title="Increase indentation level." alt="" coords="17,113,237,132"/>
+<area shape="rect" id="node98" href="googleapiclient.schema._SchemaToStruct-class.html#undent" title="Decrease indentation level." alt="" coords="17,132,237,151"/>
+<area shape="rect" id="node98" href="googleapiclient.schema._SchemaToStruct-class.html#to_str" title="Prototype object based on the schema, in Python code with comments." alt="" coords="17,151,237,169"/>
+<area shape="rect" id="node1" href="googleapiclient.schema._SchemaToStruct-class.html" title="Convert schema to a prototype object." alt="" coords="5,6,248,175"/>
+</map>
+  <img src="uml_class_diagram_for_googleap_40.gif" alt='' usemap="#uml_class_diagram_for_googleap_40" ismap="ismap" class="graph-without-title" />
+</center>
+</center>
+<hr />
+<pre class="literalblock">
+Convert schema to a prototype object.
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema._SchemaToStruct-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">schema</span>,
+        <span class="summary-sig-arg">seen</span>,
+        <span class="summary-sig-arg">dent</span>=<span class="summary-sig-default">0</span>)</span><br />
+      Constructor.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.__init__">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema._SchemaToStruct-class.html#emit" class="summary-sig-name">emit</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>)</span><br />
+      Add text as a line to the output.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.emit">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema._SchemaToStruct-class.html#emitBegin" class="summary-sig-name">emitBegin</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>)</span><br />
+      Add text to the output, but with no line terminator.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.emitBegin">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema._SchemaToStruct-class.html#emitEnd" class="summary-sig-name">emitEnd</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">text</span>,
+        <span class="summary-sig-arg">comment</span>)</span><br />
+      Add text and comment to the output with line terminator.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.emitEnd">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="indent"></a><span class="summary-sig-name">indent</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Increase indentation level.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.indent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="undent"></a><span class="summary-sig-name">undent</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Decrease indentation level.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.undent">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema._SchemaToStruct-class.html#_to_str_impl" class="summary-sig-name" onclick="show_private();">_to_str_impl</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">schema</span>)</span><br />
+      Prototype object based on the schema, in Python code with comments.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct._to_str_impl">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="googleapiclient.schema._SchemaToStruct-class.html#to_str" class="summary-sig-name">to_str</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">from_cache</span>)</span><br />
+      Prototype object based on the schema, in Python code with comments.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.to_str">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">schema</span>,
+        <span class="sig-arg">seen</span>,
+        <span class="sig-arg">dent</span>=<span class="sig-default">0</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.__init__">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Constructor.
+
+Args:
+  schema: object, Parsed JSON schema.
+  seen: list, List of names of schema already seen while parsing. Used to
+    handle recursive definitions.
+  dent: int, Initial indentation depth.
+
+</pre>
+  <dl class="fields">
+    <dt>Decorators:</dt>
+    <dd><ul class="nomargin-top">
+        <li><code>@util.positional(3)</code></li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="emit"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">emit</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">text</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.emit">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Add text as a line to the output.
+
+Args:
+  text: string, Text to output.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="emitBegin"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">emitBegin</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">text</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.emitBegin">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Add text to the output, but with no line terminator.
+
+Args:
+  text: string, Text to output.
+  
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="emitEnd"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">emitEnd</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">text</span>,
+        <span class="sig-arg">comment</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.emitEnd">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Add text and comment to the output with line terminator.
+
+Args:
+  text: string, Text to output.
+  comment: string, Python comment.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_to_str_impl"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_to_str_impl</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">schema</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct._to_str_impl">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Prototype object based on the schema, in Python code with comments.
+
+Args:
+  schema: object, Parsed JSON schema file.
+
+Returns:
+  Prototype object based on the schema, in Python code with comments.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="to_str"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">to_str</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">from_cache</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="googleapiclient.schema-pysrc.html#_SchemaToStruct.to_str">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+Prototype object based on the schema, in Python code with comments.
+
+Args:
+  from_cache: callable(name, seen), Callable that retrieves an object
+     prototype for a schema with the given name. Seen is a list of schema
+     names already seen as we recursively descend the schema definition.
+
+Returns:
+  Prototype object based on the schema, in Python code with comments.
+  The lines of the code will all be properly indented.
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:11 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/help.html b/docs/epy/help.html
new file mode 100644
index 0000000..3385b30
--- /dev/null
+++ b/docs/epy/help.html
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Help</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">&nbsp;</td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="help.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+<h1 class="epydoc"> API Documentation </h1>
+
+<p> This document contains the API (Application Programming Interface)
+documentation for this project.  Documentation for the Python
+objects defined by the project is divided into separate pages for each
+package, module, and class.  The API documentation also includes two
+pages containing information about the project as a whole: a trees
+page, and an index page.  </p>
+
+<h2> Object Documentation </h2>
+
+  <p>Each <strong>Package Documentation</strong> page contains: </p>
+  <ul>
+    <li> A description of the package. </li>
+    <li> A list of the modules and sub-packages contained by the
+    package.  </li>
+    <li> A summary of the classes defined by the package. </li>
+    <li> A summary of the functions defined by the package. </li>
+    <li> A summary of the variables defined by the package. </li>
+    <li> A detailed description of each function defined by the
+    package. </li>
+    <li> A detailed description of each variable defined by the
+    package. </li>
+  </ul>
+  
+  <p>Each <strong>Module Documentation</strong> page contains:</p>
+  <ul>
+    <li> A description of the module. </li>
+    <li> A summary of the classes defined by the module. </li>
+    <li> A summary of the functions defined by the module. </li>
+    <li> A summary of the variables defined by the module. </li>
+    <li> A detailed description of each function defined by the
+    module. </li>
+    <li> A detailed description of each variable defined by the
+    module. </li>
+  </ul>
+  
+  <p>Each <strong>Class Documentation</strong> page contains: </p>
+  <ul>
+    <li> A class inheritance diagram. </li>
+    <li> A list of known subclasses. </li>
+    <li> A description of the class. </li>
+    <li> A summary of the methods defined by the class. </li>
+    <li> A summary of the instance variables defined by the class. </li>
+    <li> A summary of the class (static) variables defined by the
+    class. </li> 
+    <li> A detailed description of each method defined by the
+    class. </li>
+    <li> A detailed description of each instance variable defined by the
+    class. </li> 
+    <li> A detailed description of each class (static) variable defined
+    by the class. </li> 
+  </ul>
+
+<h2> Project Documentation </h2>
+
+  <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
+  <ul>
+    <li> The <em>module hierarchy</em> lists every package and module, with
+    modules grouped into packages.  At the top level, and within each
+    package, modules and sub-packages are listed alphabetically. </li>
+    <li> The <em>class hierarchy</em> lists every class, grouped by base
+    class.  If a class has more than one base class, then it will be
+    listed under each base class.  At the top level, and under each base
+    class, classes are listed alphabetically. </li>
+  </ul>
+  
+  <p> The <strong>Index</strong> page contains indices of terms and
+  identifiers: </p>
+  <ul>
+    <li> The <em>term index</em> lists every term indexed by any object's
+    documentation.  For each term, the index provides links to each
+    place where the term is indexed. </li>
+    <li> The <em>identifier index</em> lists the (short) name of every package,
+    module, class, method, function, variable, and parameter.  For each
+    identifier, the index provides a short description, and a link to
+    its documentation. </li>
+  </ul>
+
+<h2> The Table of Contents </h2>
+
+<p> The table of contents occupies the two frames on the left side of
+the window.  The upper-left frame displays the <em>project
+contents</em>, and the lower-left frame displays the <em>module
+contents</em>: </p>
+
+<table class="help summary" border="1" cellspacing="0" cellpadding="3">
+  <tr style="height: 30%">
+    <td align="center" style="font-size: small">
+       Project<br />Contents<hr />...</td>
+    <td align="center" style="font-size: small" rowspan="2" width="70%">
+      API<br />Documentation<br />Frame<br /><br /><br />
+    </td>
+  </tr>
+  <tr>
+    <td align="center" style="font-size: small">
+      Module<br />Contents<hr />&nbsp;<br />...<br />&nbsp;
+    </td>
+  </tr>
+</table><br />
+
+<p> The <strong>project contents frame</strong> contains a list of all packages
+and modules that are defined by the project.  Clicking on an entry
+will display its contents in the module contents frame.  Clicking on a
+special entry, labeled "Everything," will display the contents of
+the entire project. </p>
+
+<p> The <strong>module contents frame</strong> contains a list of every
+submodule, class, type, exception, function, and variable defined by a
+module or package.  Clicking on an entry will display its
+documentation in the API documentation frame.  Clicking on the name of
+the module, at the top of the frame, will display the documentation
+for the module itself. </p>
+
+<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
+navigation bar can be used to control whether the table of contents is
+displayed or not. </p>
+
+<h2> The Navigation Bar </h2>
+
+<p> A navigation bar is located at the top and bottom of every page.
+It indicates what type of page you are currently viewing, and allows
+you to go to related pages.  The following table describes the labels
+on the navigation bar.  Note that not some labels (such as
+[Parent]) are not displayed on all pages. </p>
+
+<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
+<tr class="summary">
+  <th>Label</th>
+  <th>Highlighted when...</th>
+  <th>Links to...</th>
+</tr>
+  <tr><td valign="top"><strong>[Parent]</strong></td>
+      <td valign="top"><em>(never highlighted)</em></td>
+      <td valign="top"> the parent of the current package </td></tr>
+  <tr><td valign="top"><strong>[Package]</strong></td>
+      <td valign="top">viewing a package</td>
+      <td valign="top">the package containing the current object
+      </td></tr>
+  <tr><td valign="top"><strong>[Module]</strong></td>
+      <td valign="top">viewing a module</td>
+      <td valign="top">the module containing the current object
+      </td></tr> 
+  <tr><td valign="top"><strong>[Class]</strong></td>
+      <td valign="top">viewing a class </td>
+      <td valign="top">the class containing the current object</td></tr>
+  <tr><td valign="top"><strong>[Trees]</strong></td>
+      <td valign="top">viewing the trees page</td>
+      <td valign="top"> the trees page </td></tr>
+  <tr><td valign="top"><strong>[Index]</strong></td>
+      <td valign="top">viewing the index page</td>
+      <td valign="top"> the index page </td></tr>
+  <tr><td valign="top"><strong>[Help]</strong></td>
+      <td valign="top">viewing the help page</td>
+      <td valign="top"> the help page </td></tr>
+</table>
+
+<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
+the top navigation bar can be used to control whether documentation
+for private objects is displayed.  Private objects are usually defined
+as objects whose (short) names begin with a single underscore, but do
+not end with an underscore.  For example, "<code>_x</code>",
+"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
+are private objects; but "<code>re.sub</code>",
+"<code>__init__</code>", and "<code>type_</code>" are not.  However,
+if a module defines the "<code>__all__</code>" variable, then its
+contents are used to decide which objects are private. </p>
+
+<p> A timestamp below the bottom navigation bar indicates when each
+page was last updated. </p>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/identifier-index.html b/docs/epy/identifier-index.html
new file mode 100644
index 0000000..6b7df84
--- /dev/null
+++ b/docs/epy/identifier-index.html
@@ -0,0 +1,900 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Identifier Index</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">&nbsp;</td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="identifier-index.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table border="0" width="100%">
+<tr valign="bottom"><td>
+<h1 class="epydoc">Identifier Index</h1>
+</td><td>
+[
+ <a href="#A">A</a>
+ <a href="#B">B</a>
+ <a href="#C">C</a>
+ <a href="#D">D</a>
+ <a href="#E">E</a>
+ <a href="#F">F</a>
+ <a href="#G">G</a>
+ <a href="#H">H</a>
+ <a href="#I">I</a>
+ <a href="#J">J</a>
+ <a href="#K">K</a>
+ <a href="#L">L</a>
+ <a href="#M">M</a>
+ <a href="#N">N</a>
+  O
+ <a href="#P">P</a>
+ <a href="#Q">Q</a>
+ <a href="#R">R</a>
+ <a href="#S">S</a>
+ <a href="#T">T</a>
+ <a href="#U">U</a>
+ <a href="#V">V</a>
+  W
+ <a href="#X">X</a>
+  Y
+  Z
+ <a href="#_">_</a>
+]
+</td></table>
+<table border="0" width="100%">
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#accept">accept</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.RawModel-class.html#accept">accept</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.RawModel-class.html">RawModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.JsonModel-class.html#alt_param">alt_param</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.JsonModel-class.html#accept">accept</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#add">add()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.MediaModel-class.html#alt_param">alt_param</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.MediaModel-class.html#accept">accept</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequest-class.html#add_response_callback">add_response_callback()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.ProtocolBufferModel-class.html#alt_param">alt_param</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.ProtocolBufferModel-class.html#accept">accept</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#alt_param">alt_param</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.RawModel-class.html#alt_param">alt_param</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.RawModel-class.html">RawModel</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html">BaseModel</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#best_match">best_match()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#build">build()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.BatchError-class.html">BatchError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel.Channel-class.html#body">body()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel.Channel-class.html">Channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#build_from_document">build_from_document()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE">BODY_PARAMETER_DEFAULT_VALUE</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html">channel</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient-module.html">googleapiclient</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#chunksize">chunksize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.ProtocolBufferModel-class.html#content_type">content_type</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.channel.Channel-class.html">Channel</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#content_type">content_type</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.RawModel-class.html#content_type">content_type</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.RawModel-class.html">RawModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#CHANNEL_PARAMS">CHANNEL_PARAMS</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.JsonModel-class.html#content_type">content_type</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#createMethod">createMethod()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#chunksize">chunksize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.MediaModel-class.html#content_type">content_type</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#createNextMethod">createNextMethod()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="D">D</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http-module.html#DEFAULT_CHUNK_SIZE">DEFAULT_CHUNK_SIZE</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.MediaModel-class.html#deserialize">deserialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#DISCOVERY_URI">DISCOVERY_URI</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC">DEFAULT_METHOD_DOC</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.ProtocolBufferModel-class.html#deserialize">deserialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model-module.html#dump_request_response">dump_request_response</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#deserialize">deserialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.RawModel-class.html#deserialize">deserialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.RawModel-class.html">RawModel</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.JsonModel-class.html#deserialize">deserialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html">discovery</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient-module.html">googleapiclient</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html#emit">emit()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#EPOCH">EPOCH</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#execute">execute()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html#emitBegin">emitBegin()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.Error-class.html">Error</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequest-class.html#execute">execute()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html#emitEnd">emitEnd()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors-module.html">errors</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient-module.html">googleapiclient</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequestMock-class.html#execute">execute()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequestMock-class.html">HttpRequestMock</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#fitness_and_quality_parsed">fitness_and_quality_parsed()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequest-class.html#from_json">from_json()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#fix_method_name">fix_method_name()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaFileUpload-class.html#from_json">from_json()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaFileUpload-class.html">MediaFileUpload</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema.Schemas-class.html#get">get()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#getbytes">getbytes()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#getbytes">getbytes()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient-module.html">googleapiclient</a></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#has_stream">has_stream()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS">HTTP_PAYLOAD_METHODS</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpMockSequence-class.html">HttpMockSequence</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#has_stream">has_stream()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.HttpError-class.html">HttpError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http-module.html">http</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient-module.html">googleapiclient</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpMock-class.html">HttpMock</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequestMock-class.html">HttpRequestMock</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html#indent">indent()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.InvalidChunkSizeError-class.html">InvalidChunkSizeError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.InvalidNotificationError-class.html">InvalidNotificationError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.sample_tools-module.html#init">init()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.sample_tools-module.html">googleapiclient.sample_tools</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.InvalidJsonError-class.html">InvalidJsonError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="J">J</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.JsonModel-class.html">JsonModel</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="K">K</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#key2param">key2param()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#logger">logger</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model-module.html#makepatch">makepatch()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseDownload-class.html">MediaIoBaseDownload</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html">mimeparse</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient-module.html">googleapiclient</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http-module.html#MAX_URI_LENGTH">MAX_URI_LENGTH</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#mimetype">mimetype()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.MediaModel-class.html">MediaModel</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#mimetype">mimetype()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaDownloadProgress-class.html">MediaDownloadProgress</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model-module.html">model</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient-module.html">googleapiclient</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaFileUpload-class.html">MediaFileUpload</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUploadProgress-class.html">MediaUploadProgress</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.Model-class.html">Model</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaInMemoryUpload-class.html">MediaInMemoryUpload</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.MediaUploadSizeError-class.html">MediaUploadSizeError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="N">N</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#new_from_json">new_from_json()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#no_content_response">no_content_response</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.RawModel-class.html#no_content_response">no_content_response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.RawModel-class.html">RawModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#new_webhook_channel">new_webhook_channel()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.JsonModel-class.html#no_content_response">no_content_response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel.Notification-class.html">Notification</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequest-class.html#next_chunk">next_chunk()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.MediaModel-class.html#no_content_response">no_content_response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.MediaModel-class.html">MediaModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#notification_from_headers">notification_from_headers()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk">next_chunk()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseDownload-class.html">MediaIoBaseDownload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.ProtocolBufferModel-class.html#no_content_response">no_content_response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#parse_media_range">parse_media_range()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.schema.Schemas-class.html#prettyPrintSchema">prettyPrintSchema()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#parse_mime_type">parse_mime_type()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaDownloadProgress-class.html#progress">progress()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaDownloadProgress-class.html">MediaDownloadProgress</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema.Schemas-class.html#prettyPrintByName">prettyPrintByName()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUploadProgress-class.html#progress">progress()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUploadProgress-class.html">MediaUploadProgress</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="Q">Q</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#quality">quality()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#quality_parsed">quality_parsed()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.RawModel-class.html">RawModel</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.Model-class.html#request">request()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.Model-class.html">Model</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#response">response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http._StreamSlice-class.html#read">read()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http._StreamSlice-class.html" onclick="show_private();">_StreamSlice</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.Model-class.html#response">response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.Model-class.html">Model</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpMock-class.html#request">request()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpMock-class.html">HttpMock</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#RESERVED_WORDS">RESERVED_WORDS</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#resumable">resumable()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpMockSequence-class.html#request">request()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpMockSequence-class.html">HttpMockSequence</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html">Resource</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#resumable">resumable()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#request">request()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.ResourceMethodParameters-class.html">ResourceMethodParameters</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.ResumableUploadError-class.html">ResumableUploadError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.sample_tools-module.html">sample_tools</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient-module.html">googleapiclient</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.ProtocolBufferModel-class.html#serialize">serialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema-module.html">schema</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient-module.html">googleapiclient</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters">set_parameters()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.ResourceMethodParameters-class.html" onclick="show_private();">ResourceMethodParameters</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS">STACK_QUERY_PARAMETERS</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema.Schemas-class.html">Schemas</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema-module.html">googleapiclient.schema</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http-module.html#set_user_agent">set_user_agent()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#stream">stream()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#serialize">serialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#size">size()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#stream">stream()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.model.JsonModel-class.html#serialize">serialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#size">size()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequest-class.html#to_json">to_json()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#to_json">to_json()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html#to_str">to_str()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaFileUpload-class.html#to_json">to_json()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaFileUpload-class.html">MediaFileUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#to_json">to_json()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http-module.html#tunnel_patch">tunnel_patch()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="U">U</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.UnacceptableMimeTypeError-class.html">UnacceptableMimeTypeError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.UnexpectedMethodError-class.html">UnexpectedMethodError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.UnknownLinkType-class.html">UnknownLinkType</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html#undent">undent()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.UnknownApiNameOrVersion-class.html">UnknownApiNameOrVersion</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel.Channel-class.html#update">update()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel.Channel-class.html">Channel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.UnexpectedBodyError-class.html">UnexpectedBodyError</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.UnknownFileType-class.html">UnknownFileType</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors-module.html">googleapiclient.errors</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#URITEMPLATE">URITEMPLATE</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#VARNAME">VARNAME</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="X">X</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#X_GOOG_CHANNEL_ID">X_GOOG_CHANNEL_ID</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_ID">X_GOOG_RESOURCE_ID</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_URI">X_GOOG_RESOURCE_URI</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER">X_GOOG_MESSAGE_NUMBER</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_STATE">X_GOOG_RESOURCE_STATE</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.RequestMockBuilder-class.html#__call__">__call__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUploadProgress-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUploadProgress-class.html">MediaUploadProgress</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.HttpError-class.html#_get_reason">_get_reason()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors.HttpError-class.html">HttpError</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#__credits__">__credits__</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.RequestMockBuilder-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.RequestMockBuilder-class.html">RequestMockBuilder</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#_header_to_id">_header_to_id()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#__email__">__email__</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http._StreamSlice-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http._StreamSlice-class.html" onclick="show_private();">_StreamSlice</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#_id_to_header">_id_to_header()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html#__getstate__">__getstate__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.JsonModel-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.JsonModel-class.html">JsonModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#_log_request">_log_request()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.channel.Channel-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel.Channel-class.html">Channel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.ProtocolBufferModel-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.ProtocolBufferModel-class.html">ProtocolBufferModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#_log_response">_log_response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.channel.Notification-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel.Notification-class.html">Notification</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.schema.Schemas-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_media_path_url_from_info">_media_path_url_from_info()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS">_MEDIA_SIZE_BIT_SHIFTS</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.ResourceMethodParameters-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.ResourceMethodParameters-class.html" onclick="show_private();">ResourceMethodParameters</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.BatchError-class.html#__repr__">__repr__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors.BatchError-class.html">BatchError</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_media_size_to_long">_media_size_to_long()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.BatchError-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors.BatchError-class.html">BatchError</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.HttpError-class.html#__repr__">__repr__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors.HttpError-class.html">HttpError</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#_new_id">_new_id()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.HttpError-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors.HttpError-class.html">HttpError</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html#__setstate__">__setstate__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.schema.Schemas-class.html#_prettyPrintByName">_prettyPrintByName()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.UnexpectedBodyError-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors.UnexpectedBodyError-class.html">UnexpectedBodyError</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model-module.html#_abstract">_abstract()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model-module.html">googleapiclient.model</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.schema.Schemas-class.html#_prettyPrintSchema">_prettyPrintSchema()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema.Schemas-class.html">Schemas</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.errors.UnexpectedMethodError-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.errors.UnexpectedMethodError-class.html">UnexpectedMethodError</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html#_add_basic_methods">_add_basic_methods()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequest-class.html#_process_response">_process_response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html#_add_nested_resources">_add_nested_resources()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials">_refresh_and_apply_credentials()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpMock-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpMock-class.html">HttpMock</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html#_add_next_methods">_add_next_methods()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html">_SchemaToStruct</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema-module.html">googleapiclient.schema</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpMockSequence-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpMockSequence-class.html">HttpMockSequence</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.model.BaseModel-class.html#_build_query">_build_query()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.model.BaseModel-class.html">BaseModel</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#_serialize_request">_serialize_request()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequest-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequest-class.html">HttpRequest</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_cast">_cast()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html#_set_dynamic_attr">_set_dynamic_attr()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.HttpRequestMock-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.HttpRequestMock-class.html">HttpRequestMock</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response">_deserialize_response()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery.Resource-class.html#_set_service_methods">_set_service_methods()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery.Resource-class.html" onclick="show_private();">Resource</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaDownloadProgress-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaDownloadProgress-class.html">MediaDownloadProgress</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.BatchHttpRequest-class.html#_execute">_execute()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.BatchHttpRequest-class.html">BatchHttpRequest</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http._StreamSlice-class.html">_StreamSlice</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http-module.html">googleapiclient.http</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaFileUpload-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaFileUpload-class.html">MediaFileUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.mimeparse-module.html#_filter_blank">_filter_blank()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaUpload-class.html#_to_json">_to_json()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaUpload-class.html">MediaUpload</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaInMemoryUpload-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaInMemoryUpload-class.html">MediaInMemoryUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_fix_up_media_upload">_fix_up_media_upload()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.schema._SchemaToStruct-class.html#_to_str_impl">_to_str_impl()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.schema._SchemaToStruct-class.html" onclick="show_private();">_SchemaToStruct</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseDownload-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseDownload-class.html">MediaIoBaseDownload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_fix_up_method_description">_fix_up_method_description()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.channel-module.html#_upper_header_keys">_upper_header_keys()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.channel-module.html">googleapiclient.channel</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="googleapiclient.http.MediaIoBaseUpload-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.http.MediaIoBaseUpload-class.html">MediaIoBaseUpload</a>)</span></td>
+<td width="33%" class="link-index"><a href="googleapiclient.discovery-module.html#_fix_up_parameters">_fix_up_parameters()</a><br />
+<span class="index-where">(in&nbsp;<a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
+</tr>
+</table>
+</td></tr>
+</table>
+<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/index.html b/docs/epy/index.html
new file mode 100644
index 0000000..042cb61
--- /dev/null
+++ b/docs/epy/index.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+          "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame"
+           id="moduleListFrame" />
+    <frame src="toc-everything.html" name="moduleFrame"
+           id="moduleFrame" />
+  </frameset>
+  <frame src="googleapiclient-module.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>
diff --git a/docs/epy/module-tree.html b/docs/epy/module-tree.html
new file mode 100644
index 0000000..7c3b62b
--- /dev/null
+++ b/docs/epy/module-tree.html
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Module Hierarchy</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">&nbsp;</td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="module-tree.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Module Hierarchy</h1>
+<ul class="nomargin-top">
+    <li> <strong class="uidlink"><a href="googleapiclient-module.html">googleapiclient</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="googleapiclient.channel-module.html">googleapiclient.channel</a></strong>: <em class="summary">Channel notifications support.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.discovery-module.html">googleapiclient.discovery</a></strong>: <em class="summary">Client for discovery based APIs.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.errors-module.html">googleapiclient.errors</a></strong>: <em class="summary">Errors for the library.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.http-module.html">googleapiclient.http</a></strong>: <em class="summary">Classes to encapsulate a single HTTP request.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.mimeparse-module.html">googleapiclient.mimeparse</a></strong>: <em class="summary">MIME-Type Parser</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.model-module.html">googleapiclient.model</a></strong>: <em class="summary">Model objects for requests and responses.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.sample_tools-module.html">googleapiclient.sample_tools</a></strong>: <em class="summary">Utilities for making samples.</em>    </li>
+    <li> <strong class="uidlink"><a href="googleapiclient.schema-module.html">googleapiclient.schema</a></strong>: <em class="summary">Schema processing for discovery based APIs</em>    </li>
+    </ul>
+    </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Apr 24 15:46:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/redirect.html b/docs/epy/redirect.html
new file mode 100644
index 0000000..2569018
--- /dev/null
+++ b/docs/epy/redirect.html
@@ -0,0 +1,38 @@
+<html><head><title>Epydoc Redirect Page</title>
+<meta http-equiv="cache-control" content="no-cache" />
+<meta http-equiv="expires" content="0" />
+<meta http-equiv="pragma" content="no-cache" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+<body>
+<script type="text/javascript">
+<!--
+var pages = ["googleapiclient.discovery.ResourceMethodParameters-c", "googleapiclient.errors.UnacceptableMimeTypeError-c", "googleapiclient.errors.InvalidNotificationError-c", "googleapiclient.errors.UnknownApiNameOrVersion-c", "googleapiclient.errors.InvalidChunkSizeError-c", "googleapiclient.errors.UnexpectedMethodError-c", "googleapiclient.errors.MediaUploadSizeError-c", "googleapiclient.errors.ResumableUploadError-c", "googleapiclient.errors.UnexpectedBodyError-c", "googleapiclient.http.MediaDownloadProgress-c", "googleapiclient.model.ProtocolBufferModel-c", "googleapiclient.http.MediaInMemoryUpload-c", "googleapiclient.http.MediaIoBaseDownload-c", "googleapiclient.http.MediaUploadProgress-c", "googleapiclient.errors.InvalidJsonError-c", "googleapiclient.http.RequestMockBuilder-c", "googleapiclient.errors.UnknownFileType-c", "googleapiclient.errors.UnknownLinkType-c", "googleapiclient.http.MediaIoBaseUpload-c", "googleapiclient.schema._SchemaToStruct-c", "googleapiclient.http.BatchHttpRequest-c", "googleapiclient.http.HttpMockSequence-c", "googleapiclient.channel.Notification-c", "googleapiclient.http.HttpRequestMock-c", "googleapiclient.http.MediaFileUpload-c", "googleapiclient.discovery.Resource-c", "googleapiclient.errors.BatchError-c", "googleapiclient.http._StreamSlice-c", "googleapiclient.errors.HttpError-c", "googleapiclient.http.HttpRequest-c", "googleapiclient.http.MediaUpload-c", "googleapiclient.model.MediaModel-c", "googleapiclient.channel.Channel-c", "googleapiclient.model.BaseModel-c", "googleapiclient.model.JsonModel-c", "googleapiclient.model.RawModel-c", "googleapiclient.schema.Schemas-c", "googleapiclient.http.HttpMock-c", "googleapiclient.sample_tools-m", "googleapiclient.errors.Error-c", "googleapiclient.model.Model-c", "googleapiclient.discovery-m", "googleapiclient.mimeparse-m", "googleapiclient.channel-m", "googleapiclient.errors-m", "googleapiclient.schema-m", "googleapiclient.model-m", "googleapiclient.http-m", "googleapiclient-m"];
+var dottedName = get_anchor();
+if (dottedName) {
+    var target = redirect_url(dottedName);
+    if (target) window.location.replace(target);
+}
+// -->
+</script>
+
+<h3>Epydoc Auto-redirect page</h3>
+
+<p>When javascript is enabled, this page will redirect URLs of
+the form <tt>redirect.html#<i>dotted.name</i></tt> to the
+documentation for the object with the given fully-qualified
+dotted name.</p>
+<p><a id="message"> &nbsp; </a></p>
+
+<script type="text/javascript">
+<!--
+if (dottedName) {
+    var msg = document.getElementById("message");
+    msg.innerHTML = "No documentation found for <tt>"+
+                    dottedName+"</tt>";
+}
+// -->
+</script>
+
+</body>
+</html>
diff --git a/docs/epy/toc-everything.html b/docs/epy/toc-everything.html
new file mode 100644
index 0000000..4db623c
--- /dev/null
+++ b/docs/epy/toc-everything.html
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Everything</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Everything</h1>
+<hr />
+  <h2 class="toc">All Classes</h2>
+    <a target="mainFrame" href="googleapiclient.channel.Channel-class.html"
+     >googleapiclient.channel.Channel</a><br />    <a target="mainFrame" href="googleapiclient.channel.Notification-class.html"
+     >googleapiclient.channel.Notification</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery.Resource-class.html"
+     >googleapiclient.discovery.Resource</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery.ResourceMethodParameters-class.html"
+     >googleapiclient.discovery.ResourceMethodParameters</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.errors.BatchError-class.html"
+     >googleapiclient.errors.BatchError</a><br />    <a target="mainFrame" href="googleapiclient.errors.Error-class.html"
+     >googleapiclient.errors.Error</a><br />    <a target="mainFrame" href="googleapiclient.errors.HttpError-class.html"
+     >googleapiclient.errors.HttpError</a><br />    <a target="mainFrame" href="googleapiclient.errors.InvalidChunkSizeError-class.html"
+     >googleapiclient.errors.InvalidChunkSizeError</a><br />    <a target="mainFrame" href="googleapiclient.errors.InvalidJsonError-class.html"
+     >googleapiclient.errors.InvalidJsonError</a><br />    <a target="mainFrame" href="googleapiclient.errors.InvalidNotificationError-class.html"
+     >googleapiclient.errors.InvalidNotificationError</a><br />    <a target="mainFrame" href="googleapiclient.errors.MediaUploadSizeError-class.html"
+     >googleapiclient.errors.MediaUploadSizeError</a><br />    <a target="mainFrame" href="googleapiclient.errors.ResumableUploadError-class.html"
+     >googleapiclient.errors.ResumableUploadError</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnacceptableMimeTypeError-class.html"
+     >googleapiclient.errors.UnacceptableMimeTypeError</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnexpectedBodyError-class.html"
+     >googleapiclient.errors.UnexpectedBodyError</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnexpectedMethodError-class.html"
+     >googleapiclient.errors.UnexpectedMethodError</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnknownApiNameOrVersion-class.html"
+     >googleapiclient.errors.UnknownApiNameOrVersion</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnknownFileType-class.html"
+     >googleapiclient.errors.UnknownFileType</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnknownLinkType-class.html"
+     >googleapiclient.errors.UnknownLinkType</a><br />    <a target="mainFrame" href="googleapiclient.http.BatchHttpRequest-class.html"
+     >googleapiclient.http.BatchHttpRequest</a><br />    <a target="mainFrame" href="googleapiclient.http.HttpMock-class.html"
+     >googleapiclient.http.HttpMock</a><br />    <a target="mainFrame" href="googleapiclient.http.HttpMockSequence-class.html"
+     >googleapiclient.http.HttpMockSequence</a><br />    <a target="mainFrame" href="googleapiclient.http.HttpRequest-class.html"
+     >googleapiclient.http.HttpRequest</a><br />    <a target="mainFrame" href="googleapiclient.http.HttpRequestMock-class.html"
+     >googleapiclient.http.HttpRequestMock</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaDownloadProgress-class.html"
+     >googleapiclient.http.MediaDownloadProgress</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaFileUpload-class.html"
+     >googleapiclient.http.MediaFileUpload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaInMemoryUpload-class.html"
+     >googleapiclient.http.MediaInMemoryUpload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaIoBaseDownload-class.html"
+     >googleapiclient.http.MediaIoBaseDownload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaIoBaseUpload-class.html"
+     >googleapiclient.http.MediaIoBaseUpload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaUpload-class.html"
+     >googleapiclient.http.MediaUpload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaUploadProgress-class.html"
+     >googleapiclient.http.MediaUploadProgress</a><br />    <a target="mainFrame" href="googleapiclient.http.RequestMockBuilder-class.html"
+     >googleapiclient.http.RequestMockBuilder</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.http._StreamSlice-class.html"
+     >googleapiclient.http._StreamSlice</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.model.BaseModel-class.html"
+     >googleapiclient.model.BaseModel</a><br />    <a target="mainFrame" href="googleapiclient.model.JsonModel-class.html"
+     >googleapiclient.model.JsonModel</a><br />    <a target="mainFrame" href="googleapiclient.model.MediaModel-class.html"
+     >googleapiclient.model.MediaModel</a><br />    <a target="mainFrame" href="googleapiclient.model.Model-class.html"
+     >googleapiclient.model.Model</a><br />    <a target="mainFrame" href="googleapiclient.model.ProtocolBufferModel-class.html"
+     >googleapiclient.model.ProtocolBufferModel</a><br />    <a target="mainFrame" href="googleapiclient.model.RawModel-class.html"
+     >googleapiclient.model.RawModel</a><br />    <a target="mainFrame" href="googleapiclient.schema.Schemas-class.html"
+     >googleapiclient.schema.Schemas</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.schema._SchemaToStruct-class.html"
+     >googleapiclient.schema._SchemaToStruct</a><br />  </div>
+  <h2 class="toc">All Functions</h2>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.channel-module.html#_upper_header_keys"
+     >googleapiclient.channel._upper_header_keys</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.channel-module.html#new_webhook_channel"
+     >googleapiclient.channel.new_webhook_channel</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#notification_from_headers"
+     >googleapiclient.channel.notification_from_headers</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_cast"
+     >googleapiclient.discovery._cast</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_fix_up_media_upload"
+     >googleapiclient.discovery._fix_up_media_upload</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_fix_up_method_description"
+     >googleapiclient.discovery._fix_up_method_description</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_fix_up_parameters"
+     >googleapiclient.discovery._fix_up_parameters</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_media_path_url_from_info"
+     >googleapiclient.discovery._media_path_url_from_info</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_media_size_to_long"
+     >googleapiclient.discovery._media_size_to_long</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#build"
+     >googleapiclient.discovery.build</a><br />    <a target="mainFrame" href="googleapiclient.discovery-module.html#build_from_document"
+     >googleapiclient.discovery.build_from_document</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#createMethod"
+     >googleapiclient.discovery.createMethod</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#createNextMethod"
+     >googleapiclient.discovery.createNextMethod</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#fix_method_name"
+     >googleapiclient.discovery.fix_method_name</a><br />    <a target="mainFrame" href="googleapiclient.discovery-module.html#key2param"
+     >googleapiclient.discovery.key2param</a><br />    <a target="mainFrame" href="googleapiclient.http-module.html#set_user_agent"
+     >googleapiclient.http.set_user_agent</a><br />    <a target="mainFrame" href="googleapiclient.http-module.html#tunnel_patch"
+     >googleapiclient.http.tunnel_patch</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#_filter_blank"
+     >googleapiclient.mimeparse._filter_blank</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#best_match"
+     >googleapiclient.mimeparse.best_match</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#fitness_and_quality_parsed"
+     >googleapiclient.mimeparse.fitness_and_quality_parsed</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#parse_media_range"
+     >googleapiclient.mimeparse.parse_media_range</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#parse_mime_type"
+     >googleapiclient.mimeparse.parse_mime_type</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#quality"
+     >googleapiclient.mimeparse.quality</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#quality_parsed"
+     >googleapiclient.mimeparse.quality_parsed</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.model-module.html#_abstract"
+     >googleapiclient.model._abstract</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.model-module.html#makepatch"
+     >googleapiclient.model.makepatch</a><br />    <a target="mainFrame" href="googleapiclient.sample_tools-module.html#init"
+     >googleapiclient.sample_tools.init</a><br />  <h2 class="toc">All Variables</h2>
+    <a target="mainFrame" href="googleapiclient.channel-module.html#CHANNEL_PARAMS"
+     >googleapiclient.channel.CHANNEL_PARAMS</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#EPOCH"
+     >googleapiclient.channel.EPOCH</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_CHANNEL_ID"
+     >googleapiclient.channel.X_GOOG_CHANNEL_ID</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER"
+     >googleapiclient.channel.X_GOOG_MESSAGE_NUMBER</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_ID"
+     >googleapiclient.channel.X_GOOG_RESOURCE_ID</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_STATE"
+     >googleapiclient.channel.X_GOOG_RESOURCE_STATE</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_URI"
+     >googleapiclient.channel.X_GOOG_RESOURCE_URI</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE"
+     >googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC"
+     >googleapiclient.discovery.DEFAULT_METHOD_DOC</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#DISCOVERY_URI"
+     >googleapiclient.discovery.DISCOVERY_URI</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS"
+     >googleapiclient.discovery.HTTP_PAYLOAD_METHODS</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE"
+     >googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#RESERVED_WORDS"
+     >googleapiclient.discovery.RESERVED_WORDS</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS"
+     >googleapiclient.discovery.STACK_QUERY_PARAMETERS</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE"
+     >googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#URITEMPLATE"
+     >googleapiclient.discovery.URITEMPLATE</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#VARNAME"
+     >googleapiclient.discovery.VARNAME</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS"
+     >googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#logger"
+     >googleapiclient.discovery.logger</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.http-module.html#DEFAULT_CHUNK_SIZE"
+     >googleapiclient.http.DEFAULT_CHUNK_SIZE</a><br />    <a target="mainFrame" href="googleapiclient.http-module.html#MAX_URI_LENGTH"
+     >googleapiclient.http.MAX_URI_LENGTH</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#__credits__"
+     >googleapiclient.mimeparse.__credits__</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#__email__"
+     >googleapiclient.mimeparse.__email__</a><br />    <a target="mainFrame" href="googleapiclient.model-module.html#dump_request_response"
+     >googleapiclient.model.dump_request_response</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient-module.html b/docs/epy/toc-googleapiclient-module.html
new file mode 100644
index 0000000..e011c77
--- /dev/null
+++ b/docs/epy/toc-googleapiclient-module.html
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>googleapiclient</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module googleapiclient</h1>
+<hr />
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient.channel-module.html b/docs/epy/toc-googleapiclient.channel-module.html
new file mode 100644
index 0000000..258d4a6
--- /dev/null
+++ b/docs/epy/toc-googleapiclient.channel-module.html
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>channel</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module channel</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="googleapiclient.channel.Channel-class.html"
+     >Channel</a><br />    <a target="mainFrame" href="googleapiclient.channel.Notification-class.html"
+     >Notification</a><br />  <h2 class="toc">Functions</h2>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.channel-module.html#_upper_header_keys"
+     >_upper_header_keys</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.channel-module.html#new_webhook_channel"
+     >new_webhook_channel</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#notification_from_headers"
+     >notification_from_headers</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="googleapiclient.channel-module.html#CHANNEL_PARAMS"
+     >CHANNEL_PARAMS</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#EPOCH"
+     >EPOCH</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_CHANNEL_ID"
+     >X_GOOG_CHANNEL_ID</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER"
+     >X_GOOG_MESSAGE_NUMBER</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_ID"
+     >X_GOOG_RESOURCE_ID</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_STATE"
+     >X_GOOG_RESOURCE_STATE</a><br />    <a target="mainFrame" href="googleapiclient.channel-module.html#X_GOOG_RESOURCE_URI"
+     >X_GOOG_RESOURCE_URI</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient.discovery-module.html b/docs/epy/toc-googleapiclient.discovery-module.html
new file mode 100644
index 0000000..a0e4dba
--- /dev/null
+++ b/docs/epy/toc-googleapiclient.discovery-module.html
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>discovery</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module discovery</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery.Resource-class.html"
+     >Resource</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery.ResourceMethodParameters-class.html"
+     >ResourceMethodParameters</a><br />  </div>
+  <h2 class="toc">Functions</h2>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_cast"
+     >_cast</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_fix_up_media_upload"
+     >_fix_up_media_upload</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_fix_up_method_description"
+     >_fix_up_method_description</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_fix_up_parameters"
+     >_fix_up_parameters</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_media_path_url_from_info"
+     >_media_path_url_from_info</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_media_size_to_long"
+     >_media_size_to_long</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#build"
+     >build</a><br />    <a target="mainFrame" href="googleapiclient.discovery-module.html#build_from_document"
+     >build_from_document</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#createMethod"
+     >createMethod</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#createNextMethod"
+     >createNextMethod</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#fix_method_name"
+     >fix_method_name</a><br />    <a target="mainFrame" href="googleapiclient.discovery-module.html#key2param"
+     >key2param</a><br />  <h2 class="toc">Variables</h2>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE"
+     >BODY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC"
+     >DEFAULT_METHOD_DOC</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#DISCOVERY_URI"
+     >DISCOVERY_URI</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS"
+     >HTTP_PAYLOAD_METHODS</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE"
+     >MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#RESERVED_WORDS"
+     >RESERVED_WORDS</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS"
+     >STACK_QUERY_PARAMETERS</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE"
+     >STACK_QUERY_PARAMETER_DEFAULT_VALUE</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#URITEMPLATE"
+     >URITEMPLATE</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#VARNAME"
+     >VARNAME</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS"
+     >_MEDIA_SIZE_BIT_SHIFTS</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.discovery-module.html#logger"
+     >logger</a><br />  </div>
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient.errors-module.html b/docs/epy/toc-googleapiclient.errors-module.html
new file mode 100644
index 0000000..bd16e2a
--- /dev/null
+++ b/docs/epy/toc-googleapiclient.errors-module.html
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>errors</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module errors</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="googleapiclient.errors.BatchError-class.html"
+     >BatchError</a><br />    <a target="mainFrame" href="googleapiclient.errors.Error-class.html"
+     >Error</a><br />    <a target="mainFrame" href="googleapiclient.errors.HttpError-class.html"
+     >HttpError</a><br />    <a target="mainFrame" href="googleapiclient.errors.InvalidChunkSizeError-class.html"
+     >InvalidChunkSizeError</a><br />    <a target="mainFrame" href="googleapiclient.errors.InvalidJsonError-class.html"
+     >InvalidJsonError</a><br />    <a target="mainFrame" href="googleapiclient.errors.InvalidNotificationError-class.html"
+     >InvalidNotificationError</a><br />    <a target="mainFrame" href="googleapiclient.errors.MediaUploadSizeError-class.html"
+     >MediaUploadSizeError</a><br />    <a target="mainFrame" href="googleapiclient.errors.ResumableUploadError-class.html"
+     >ResumableUploadError</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnacceptableMimeTypeError-class.html"
+     >UnacceptableMimeTypeError</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnexpectedBodyError-class.html"
+     >UnexpectedBodyError</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnexpectedMethodError-class.html"
+     >UnexpectedMethodError</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnknownApiNameOrVersion-class.html"
+     >UnknownApiNameOrVersion</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnknownFileType-class.html"
+     >UnknownFileType</a><br />    <a target="mainFrame" href="googleapiclient.errors.UnknownLinkType-class.html"
+     >UnknownLinkType</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient.http-module.html b/docs/epy/toc-googleapiclient.http-module.html
new file mode 100644
index 0000000..998889d
--- /dev/null
+++ b/docs/epy/toc-googleapiclient.http-module.html
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>http</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module http</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="googleapiclient.http.BatchHttpRequest-class.html"
+     >BatchHttpRequest</a><br />    <a target="mainFrame" href="googleapiclient.http.HttpMock-class.html"
+     >HttpMock</a><br />    <a target="mainFrame" href="googleapiclient.http.HttpMockSequence-class.html"
+     >HttpMockSequence</a><br />    <a target="mainFrame" href="googleapiclient.http.HttpRequest-class.html"
+     >HttpRequest</a><br />    <a target="mainFrame" href="googleapiclient.http.HttpRequestMock-class.html"
+     >HttpRequestMock</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaDownloadProgress-class.html"
+     >MediaDownloadProgress</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaFileUpload-class.html"
+     >MediaFileUpload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaInMemoryUpload-class.html"
+     >MediaInMemoryUpload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaIoBaseDownload-class.html"
+     >MediaIoBaseDownload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaIoBaseUpload-class.html"
+     >MediaIoBaseUpload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaUpload-class.html"
+     >MediaUpload</a><br />    <a target="mainFrame" href="googleapiclient.http.MediaUploadProgress-class.html"
+     >MediaUploadProgress</a><br />    <a target="mainFrame" href="googleapiclient.http.RequestMockBuilder-class.html"
+     >RequestMockBuilder</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.http._StreamSlice-class.html"
+     >_StreamSlice</a><br />  </div>
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="googleapiclient.http-module.html#set_user_agent"
+     >set_user_agent</a><br />    <a target="mainFrame" href="googleapiclient.http-module.html#tunnel_patch"
+     >tunnel_patch</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="googleapiclient.http-module.html#DEFAULT_CHUNK_SIZE"
+     >DEFAULT_CHUNK_SIZE</a><br />    <a target="mainFrame" href="googleapiclient.http-module.html#MAX_URI_LENGTH"
+     >MAX_URI_LENGTH</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient.mimeparse-module.html b/docs/epy/toc-googleapiclient.mimeparse-module.html
new file mode 100644
index 0000000..6a94f39
--- /dev/null
+++ b/docs/epy/toc-googleapiclient.mimeparse-module.html
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>mimeparse</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module mimeparse</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#_filter_blank"
+     >_filter_blank</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#best_match"
+     >best_match</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#fitness_and_quality_parsed"
+     >fitness_and_quality_parsed</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#parse_media_range"
+     >parse_media_range</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#parse_mime_type"
+     >parse_mime_type</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#quality"
+     >quality</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#quality_parsed"
+     >quality_parsed</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#__credits__"
+     >__credits__</a><br />    <a target="mainFrame" href="googleapiclient.mimeparse-module.html#__email__"
+     >__email__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient.model-module.html b/docs/epy/toc-googleapiclient.model-module.html
new file mode 100644
index 0000000..695bdcc
--- /dev/null
+++ b/docs/epy/toc-googleapiclient.model-module.html
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>model</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module model</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="googleapiclient.model.BaseModel-class.html"
+     >BaseModel</a><br />    <a target="mainFrame" href="googleapiclient.model.JsonModel-class.html"
+     >JsonModel</a><br />    <a target="mainFrame" href="googleapiclient.model.MediaModel-class.html"
+     >MediaModel</a><br />    <a target="mainFrame" href="googleapiclient.model.Model-class.html"
+     >Model</a><br />    <a target="mainFrame" href="googleapiclient.model.ProtocolBufferModel-class.html"
+     >ProtocolBufferModel</a><br />    <a target="mainFrame" href="googleapiclient.model.RawModel-class.html"
+     >RawModel</a><br />  <h2 class="toc">Functions</h2>
+  <div class="private">
+    <a target="mainFrame" href="googleapiclient.model-module.html#_abstract"
+     >_abstract</a><br />  </div>
+    <a target="mainFrame" href="googleapiclient.model-module.html#makepatch"
+     >makepatch</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="googleapiclient.model-module.html#dump_request_response"
+     >dump_request_response</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient.sample_tools-module.html b/docs/epy/toc-googleapiclient.sample_tools-module.html
new file mode 100644
index 0000000..d45c2fa
--- /dev/null
+++ b/docs/epy/toc-googleapiclient.sample_tools-module.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>sample_tools</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module sample_tools</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="googleapiclient.sample_tools-module.html#init"
+     >init</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc-googleapiclient.schema-module.html b/docs/epy/toc-googleapiclient.schema-module.html
new file mode 100644
index 0000000..1245451
--- /dev/null
+++ b/docs/epy/toc-googleapiclient.schema-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>schema</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module schema</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="googleapiclient.schema.Schemas-class.html"
+     >Schemas</a><br />  <div class="private">
+    <a target="mainFrame" href="googleapiclient.schema._SchemaToStruct-class.html"
+     >_SchemaToStruct</a><br />  </div>
+<hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/toc.html b/docs/epy/toc.html
new file mode 100644
index 0000000..9f1343d
--- /dev/null
+++ b/docs/epy/toc.html
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Table of Contents</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Table&nbsp;of&nbsp;Contents</h1>
+<hr />
+  <a target="moduleFrame" href="toc-everything.html">Everything</a>
+  <br />
+  <h2 class="toc">Modules</h2>
+    <a target="moduleFrame" href="toc-googleapiclient-module.html"
+     onclick="setFrame('toc-googleapiclient-module.html','googleapiclient-module.html');"     >googleapiclient</a><br />    <a target="moduleFrame" href="toc-googleapiclient.channel-module.html"
+     onclick="setFrame('toc-googleapiclient.channel-module.html','googleapiclient.channel-module.html');"     >googleapiclient.channel</a><br />    <a target="moduleFrame" href="toc-googleapiclient.discovery-module.html"
+     onclick="setFrame('toc-googleapiclient.discovery-module.html','googleapiclient.discovery-module.html');"     >googleapiclient.discovery</a><br />    <a target="moduleFrame" href="toc-googleapiclient.errors-module.html"
+     onclick="setFrame('toc-googleapiclient.errors-module.html','googleapiclient.errors-module.html');"     >googleapiclient.errors</a><br />    <a target="moduleFrame" href="toc-googleapiclient.http-module.html"
+     onclick="setFrame('toc-googleapiclient.http-module.html','googleapiclient.http-module.html');"     >googleapiclient.http</a><br />    <a target="moduleFrame" href="toc-googleapiclient.mimeparse-module.html"
+     onclick="setFrame('toc-googleapiclient.mimeparse-module.html','googleapiclient.mimeparse-module.html');"     >googleapiclient.mimeparse</a><br />    <a target="moduleFrame" href="toc-googleapiclient.model-module.html"
+     onclick="setFrame('toc-googleapiclient.model-module.html','googleapiclient.model-module.html');"     >googleapiclient.model</a><br />    <a target="moduleFrame" href="toc-googleapiclient.sample_tools-module.html"
+     onclick="setFrame('toc-googleapiclient.sample_tools-module.html','googleapiclient.sample_tools-module.html');"     >googleapiclient.sample_tools</a><br />    <a target="moduleFrame" href="toc-googleapiclient.schema-module.html"
+     onclick="setFrame('toc-googleapiclient.schema-module.html','googleapiclient.schema-module.html');"     >googleapiclient.schema</a><br /><hr />
+  <span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/docs/epy/uml_class_diagram_for_googleap.gif b/docs/epy/uml_class_diagram_for_googleap.gif
new file mode 100644
index 0000000..6e70617
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_10.gif b/docs/epy/uml_class_diagram_for_googleap_10.gif
new file mode 100644
index 0000000..e939751
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_10.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_11.gif b/docs/epy/uml_class_diagram_for_googleap_11.gif
new file mode 100644
index 0000000..21f5e2d
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_11.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_12.gif b/docs/epy/uml_class_diagram_for_googleap_12.gif
new file mode 100644
index 0000000..90589bb
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_12.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_13.gif b/docs/epy/uml_class_diagram_for_googleap_13.gif
new file mode 100644
index 0000000..3781ebc
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_13.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_14.gif b/docs/epy/uml_class_diagram_for_googleap_14.gif
new file mode 100644
index 0000000..4b2c56a
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_14.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_15.gif b/docs/epy/uml_class_diagram_for_googleap_15.gif
new file mode 100644
index 0000000..627c6ff
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_15.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_16.gif b/docs/epy/uml_class_diagram_for_googleap_16.gif
new file mode 100644
index 0000000..53a2609
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_16.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_17.gif b/docs/epy/uml_class_diagram_for_googleap_17.gif
new file mode 100644
index 0000000..3d74ce8
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_17.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_18.gif b/docs/epy/uml_class_diagram_for_googleap_18.gif
new file mode 100644
index 0000000..e2df6e6
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_18.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_19.gif b/docs/epy/uml_class_diagram_for_googleap_19.gif
new file mode 100644
index 0000000..b91bbc4
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_19.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_2.gif b/docs/epy/uml_class_diagram_for_googleap_2.gif
new file mode 100644
index 0000000..f239baa
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_2.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_20.gif b/docs/epy/uml_class_diagram_for_googleap_20.gif
new file mode 100644
index 0000000..4fe8e19
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_20.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_21.gif b/docs/epy/uml_class_diagram_for_googleap_21.gif
new file mode 100644
index 0000000..2e8778b
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_21.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_22.gif b/docs/epy/uml_class_diagram_for_googleap_22.gif
new file mode 100644
index 0000000..f59e838
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_22.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_23.gif b/docs/epy/uml_class_diagram_for_googleap_23.gif
new file mode 100644
index 0000000..c99b292
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_23.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_24.gif b/docs/epy/uml_class_diagram_for_googleap_24.gif
new file mode 100644
index 0000000..5fd734a
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_24.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_25.gif b/docs/epy/uml_class_diagram_for_googleap_25.gif
new file mode 100644
index 0000000..ca1ac7d
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_25.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_26.gif b/docs/epy/uml_class_diagram_for_googleap_26.gif
new file mode 100644
index 0000000..3f933cf
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_26.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_27.gif b/docs/epy/uml_class_diagram_for_googleap_27.gif
new file mode 100644
index 0000000..6b041be
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_27.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_28.gif b/docs/epy/uml_class_diagram_for_googleap_28.gif
new file mode 100644
index 0000000..691facc
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_28.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_29.gif b/docs/epy/uml_class_diagram_for_googleap_29.gif
new file mode 100644
index 0000000..d9e0ba3
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_29.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_3.gif b/docs/epy/uml_class_diagram_for_googleap_3.gif
new file mode 100644
index 0000000..c3253b8
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_3.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_30.gif b/docs/epy/uml_class_diagram_for_googleap_30.gif
new file mode 100644
index 0000000..f720c1f
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_30.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_31.gif b/docs/epy/uml_class_diagram_for_googleap_31.gif
new file mode 100644
index 0000000..0002c5a
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_31.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_32.gif b/docs/epy/uml_class_diagram_for_googleap_32.gif
new file mode 100644
index 0000000..17d2253
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_32.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_33.gif b/docs/epy/uml_class_diagram_for_googleap_33.gif
new file mode 100644
index 0000000..fa04806
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_33.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_34.gif b/docs/epy/uml_class_diagram_for_googleap_34.gif
new file mode 100644
index 0000000..709db46
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_34.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_35.gif b/docs/epy/uml_class_diagram_for_googleap_35.gif
new file mode 100644
index 0000000..ebb71d8
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_35.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_36.gif b/docs/epy/uml_class_diagram_for_googleap_36.gif
new file mode 100644
index 0000000..f234668
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_36.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_37.gif b/docs/epy/uml_class_diagram_for_googleap_37.gif
new file mode 100644
index 0000000..4e5624b
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_37.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_38.gif b/docs/epy/uml_class_diagram_for_googleap_38.gif
new file mode 100644
index 0000000..d272edf
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_38.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_39.gif b/docs/epy/uml_class_diagram_for_googleap_39.gif
new file mode 100644
index 0000000..d7f7874
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_39.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_4.gif b/docs/epy/uml_class_diagram_for_googleap_4.gif
new file mode 100644
index 0000000..5334b74
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_4.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_40.gif b/docs/epy/uml_class_diagram_for_googleap_40.gif
new file mode 100644
index 0000000..cb15403
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_40.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_5.gif b/docs/epy/uml_class_diagram_for_googleap_5.gif
new file mode 100644
index 0000000..df177ab
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_5.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_6.gif b/docs/epy/uml_class_diagram_for_googleap_6.gif
new file mode 100644
index 0000000..44c7655
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_6.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_7.gif b/docs/epy/uml_class_diagram_for_googleap_7.gif
new file mode 100644
index 0000000..357c6b4
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_7.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_8.gif b/docs/epy/uml_class_diagram_for_googleap_8.gif
new file mode 100644
index 0000000..7d63380
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_8.gif
Binary files differ
diff --git a/docs/epy/uml_class_diagram_for_googleap_9.gif b/docs/epy/uml_class_diagram_for_googleap_9.gif
new file mode 100644
index 0000000..6e9e6f0
--- /dev/null
+++ b/docs/epy/uml_class_diagram_for_googleap_9.gif
Binary files differ