Update docs
diff --git a/docs/dyn/sheets_v4.spreadsheets.values.html b/docs/dyn/sheets_v4.spreadsheets.values.html
new file mode 100644
index 0000000..a1392c0
--- /dev/null
+++ b/docs/dyn/sheets_v4.spreadsheets.values.html
@@ -0,0 +1,356 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="sheets_v4.html">Google Sheets API</a> . <a href="sheets_v4.spreadsheets.html">spreadsheets</a> . <a href="sheets_v4.spreadsheets.values.html">values</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#batchGet">batchGet(spreadsheetId, valueRenderOption=None, majorDimension=None, ranges=None, dateTimeRenderOption=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns one or more ranges of values from a spreadsheet.</p>
+<p class="toc_element">
+  <code><a href="#batchUpdate">batchUpdate(spreadsheetId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets values in a range of a spreadsheet.</p>
+<p class="toc_element">
+  <code><a href="#get">get(spreadsheetId, range, valueRenderOption=None, majorDimension=None, dateTimeRenderOption=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns a range of values from a spreadsheet.</p>
+<p class="toc_element">
+  <code><a href="#update">update(spreadsheetId, range, body, valueInputOption=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets values in a range of a spreadsheet.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="batchGet">batchGet(spreadsheetId, valueRenderOption=None, majorDimension=None, ranges=None, dateTimeRenderOption=None, x__xgafv=None)</code>
+  <pre>Returns one or more ranges of values from a spreadsheet.
+The caller must specify the spreadsheet ID and one or more ranges.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet to retrieve data from. (required)
+  valueRenderOption: string, How values should be represented in the output.
+  majorDimension: string, The major dimension that results should use.
+
+For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
+then requesting `range=A1:B2,majorDimension=ROWS` will return
+`[[1,2],[3,4]]`,
+whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
+`[[1,3],[2,4]]`.
+  ranges: string, The A1 notation of the values to retrieve. (repeated)
+  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output.
+This is ignored if ValueRenderOption option is
+FORMATTED_VALUE.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response when retrieving more than one range of values in a spreadsheet.
+    "spreadsheetId": "A String", # The id of the spreadsheet to retrieve data from.
+    "valueRanges": [ # The requested values. The order of the ValueRanges is the same as the
+        # order of the requested ranges.
+      { # Data within a range of the spreadsheet.
+        "range": "A String", # The range the values cover, in A1 notation.
+            # For output, this range indicates the entire requested range,
+            # even though the values will exclude trailing rows and columns.
+        "values": [ # The data that was read or to be written.  This is an array of arrays,
+            # the outer array representing all the data and each inner array
+            # representing a major dimension. Each item in the inner array
+            # corresponds with one cell.
+            #
+            # For output, empty trailing rows and columns will not be included.
+            #
+            # For input, supported value types are: bool, string, and double.
+            # Null and empty values will be skipped.
+            # To set a cell to an empty value, set the string value to an empty string.
+          [
+            "",
+          ],
+        ],
+        "majorDimension": "A String", # The major dimension of the values.
+            #
+            # For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4,
+            # then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]],
+            # whereas requesting range=A1:B2,majorDimension=COLUMNS will return
+            # [[1,3],[2,4]].
+            #
+            # For input, with range=A1:B2,majorDimension=ROWS then [[1,2],[3,4]]
+            # will set A1=1,B1=2,A2=3,B2=4. With range=A1:B2,majorDimension=COLUMNS
+            # then [[1,2],[3,4]] will set A1=1,B1=3,A2=2,B2=4.
+            #
+            # When writing, if this field is not set, it defaults to ROWS.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="batchUpdate">batchUpdate(spreadsheetId, body, x__xgafv=None)</code>
+  <pre>Sets values in a range of a spreadsheet.
+The caller must specify the spreadsheet ID,
+a valueInputOption, and one or more
+ValueRanges.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for updating more than one range of values in a spreadsheet.
+    "data": [ # The new values to apply to the spreadsheet.
+      { # Data within a range of the spreadsheet.
+        "range": "A String", # The range the values cover, in A1 notation.
+            # For output, this range indicates the entire requested range,
+            # even though the values will exclude trailing rows and columns.
+        "values": [ # The data that was read or to be written.  This is an array of arrays,
+            # the outer array representing all the data and each inner array
+            # representing a major dimension. Each item in the inner array
+            # corresponds with one cell.
+            #
+            # For output, empty trailing rows and columns will not be included.
+            #
+            # For input, supported value types are: bool, string, and double.
+            # Null and empty values will be skipped.
+            # To set a cell to an empty value, set the string value to an empty string.
+          [
+            "",
+          ],
+        ],
+        "majorDimension": "A String", # The major dimension of the values.
+            #
+            # For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4,
+            # then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]],
+            # whereas requesting range=A1:B2,majorDimension=COLUMNS will return
+            # [[1,3],[2,4]].
+            #
+            # For input, with range=A1:B2,majorDimension=ROWS then [[1,2],[3,4]]
+            # will set A1=1,B1=2,A2=3,B2=4. With range=A1:B2,majorDimension=COLUMNS
+            # then [[1,2],[3,4]] will set A1=1,B1=3,A2=2,B2=4.
+            #
+            # When writing, if this field is not set, it defaults to ROWS.
+      },
+    ],
+    "valueInputOption": "A String", # How the input data should be interpreted.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response when updating a range of values in a spreadsheet.
+    "responses": [ # One UpdateValuesResponse per requested range, in the same order as
+        # the requests appeared.
+      { # The response when updating a range of values in a spreadsheet.
+        "updatedRange": "A String", # The range (in A1 notation) that updates were applied to.
+        "updatedColumns": 42, # The number of columns where at least one cell in the column was updated.
+        "updatedCells": 42, # The number of cells updated.
+        "updatedRows": 42, # The number of rows where at least one cell in the row was updated.
+        "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
+      },
+    ],
+    "totalUpdatedCells": 42, # The total number of cells updated.
+    "totalUpdatedColumns": 42, # The total number of columns where at least one cell in the column was
+        # updated.
+    "totalUpdatedRows": 42, # The total number of rows where at least one cell in the row was updated.
+    "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
+    "totalUpdatedSheets": 42, # The total number of sheets where at least one cell in the sheet was
+        # updated.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(spreadsheetId, range, valueRenderOption=None, majorDimension=None, dateTimeRenderOption=None, x__xgafv=None)</code>
+  <pre>Returns a range of values from a spreadsheet.
+The caller must specify the spreadsheet ID and a range.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet to retrieve data from. (required)
+  range: string, The A1 notation of the values to retrieve. (required)
+  valueRenderOption: string, How values should be represented in the output.
+  majorDimension: string, The major dimension that results should use.
+
+For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
+then requesting `range=A1:B2,majorDimension=ROWS` will return
+`[[1,2],[3,4]]`,
+whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
+`[[1,3],[2,4]]`.
+  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output.
+This is ignored if the ValueRenderOption option is
+FORMATTED_VALUE.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Data within a range of the spreadsheet.
+    "range": "A String", # The range the values cover, in A1 notation.
+        # For output, this range indicates the entire requested range,
+        # even though the values will exclude trailing rows and columns.
+    "values": [ # The data that was read or to be written.  This is an array of arrays,
+        # the outer array representing all the data and each inner array
+        # representing a major dimension. Each item in the inner array
+        # corresponds with one cell.
+        #
+        # For output, empty trailing rows and columns will not be included.
+        #
+        # For input, supported value types are: bool, string, and double.
+        # Null and empty values will be skipped.
+        # To set a cell to an empty value, set the string value to an empty string.
+      [
+        "",
+      ],
+    ],
+    "majorDimension": "A String", # The major dimension of the values.
+        #
+        # For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4,
+        # then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]],
+        # whereas requesting range=A1:B2,majorDimension=COLUMNS will return
+        # [[1,3],[2,4]].
+        #
+        # For input, with range=A1:B2,majorDimension=ROWS then [[1,2],[3,4]]
+        # will set A1=1,B1=2,A2=3,B2=4. With range=A1:B2,majorDimension=COLUMNS
+        # then [[1,2],[3,4]] will set A1=1,B1=3,A2=2,B2=4.
+        #
+        # When writing, if this field is not set, it defaults to ROWS.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(spreadsheetId, range, body, valueInputOption=None, x__xgafv=None)</code>
+  <pre>Sets values in a range of a spreadsheet.
+The caller must specify the spreadsheet ID, range, and
+a valueInputOption.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet to update. (required)
+  range: string, The A1 notation of the values to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Data within a range of the spreadsheet.
+  "range": "A String", # The range the values cover, in A1 notation.
+      # For output, this range indicates the entire requested range,
+      # even though the values will exclude trailing rows and columns.
+  "values": [ # The data that was read or to be written.  This is an array of arrays,
+      # the outer array representing all the data and each inner array
+      # representing a major dimension. Each item in the inner array
+      # corresponds with one cell.
+      # 
+      # For output, empty trailing rows and columns will not be included.
+      # 
+      # For input, supported value types are: bool, string, and double.
+      # Null and empty values will be skipped.
+      # To set a cell to an empty value, set the string value to an empty string.
+    [
+      "",
+    ],
+  ],
+  "majorDimension": "A String", # The major dimension of the values.
+      # 
+      # For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4,
+      # then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]],
+      # whereas requesting range=A1:B2,majorDimension=COLUMNS will return
+      # [[1,3],[2,4]].
+      # 
+      # For input, with range=A1:B2,majorDimension=ROWS then [[1,2],[3,4]]
+      # will set A1=1,B1=2,A2=3,B2=4. With range=A1:B2,majorDimension=COLUMNS
+      # then [[1,2],[3,4]] will set A1=1,B1=3,A2=2,B2=4.
+      # 
+      # When writing, if this field is not set, it defaults to ROWS.
+}
+
+  valueInputOption: string, How the input data should be interpreted.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response when updating a range of values in a spreadsheet.
+    "updatedRange": "A String", # The range (in A1 notation) that updates were applied to.
+    "updatedColumns": 42, # The number of columns where at least one cell in the column was updated.
+    "updatedCells": 42, # The number of cells updated.
+    "updatedRows": 42, # The number of rows where at least one cell in the row was updated.
+    "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file