Clean and regen docs (#401)

diff --git a/docs/dyn/sheets_v4.spreadsheets.html b/docs/dyn/sheets_v4.spreadsheets.html
index d702068..b25250a 100644
--- a/docs/dyn/sheets_v4.spreadsheets.html
+++ b/docs/dyn/sheets_v4.spreadsheets.html
@@ -127,6 +127,8 @@
       "A String",
     ],
     "requests": [ # A list of updates to apply to the spreadsheet.
+        # Requests will be applied in the order they are specified.
+        # If any request is not valid, no requests will be applied.
       { # A single kind of update to apply to a spreadsheet.
         "duplicateFilterView": { # Duplicates a particular filter view. # Duplicates a filter view.
           "filterId": 42, # The ID of the filter being duplicated.
@@ -162,10 +164,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sortSpecs": [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -212,6 +214,10 @@
         },
         "updateConditionalFormatRule": { # Updates a conditional format rule at the given index, # Updates an existing conditional format rule.
             # or moves a conditional format rule to another index.
+          "index": 42, # The zero-based index of the rule that should be replaced or moved.
+          "newIndex": 42, # The zero-based new index the rule should end up at.
+          "sheetId": 42, # The sheet of the rule to move.  Required if new_index is set,
+              # unused otherwise.
           "rule": { # A rule describing a conditional format. # The rule that should replace the rule at the given index.
             "ranges": [ # The ranges that will be formatted if the condition is true.
                 # All the ranges must be on the same grid.
@@ -245,10 +251,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -297,8 +303,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
                 },
                 "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -859,7 +865,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "left": { # A border along a cell. # The left border of the cell.
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -993,7 +999,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "left": { # A border along a cell. # The left border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -1548,10 +1554,6 @@
               },
             },
           },
-          "sheetId": 42, # The sheet of the rule to move.  Required if new_index is set,
-              # unused otherwise.
-          "newIndex": 42, # The zero-based new index the rule should end up at.
-          "index": 42, # The zero-based index of the rule that should be replaced or moved.
         },
         "updateProtectedRange": { # Updates an existing protected range with the specified # Updates a protected range.
             # protectedRangeId.
@@ -1591,10 +1593,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -1605,6 +1607,30 @@
                 #
                 # When writing, only one of range or named_range_id
                 # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warning_only protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
             "range": { # A range on a sheet. # The range that is being protected.
                 # The range may be fully unbounded, in which case this is considered
                 # a protected sheet.
@@ -1640,35 +1666,11 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
-            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
-                # This field is only visible to users with edit access to the protected
-                # range and the document.
-                # Editors are not supported with warning_only protection.
-              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
-                  # range.  Domain protection is only supported on documents within a domain.
-              "users": [ # The email addresses of users with edit access to the protected range.
-                "A String",
-              ],
-              "groups": [ # The email addresses of groups with edit access to the protected range.
-                "A String",
-              ],
-            },
-            "protectedRangeId": 42, # The ID of the protected range.
-                # This field is read-only.
-            "warningOnly": True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
           },
         },
         "deleteDimension": { # Deletes the dimensions from the sheet. # Deletes rows or columns in a sheet.
@@ -1679,8 +1681,8 @@
               # Missing indexes indicate the range is unbounded on that side.
             "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
             "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
-            "sheetId": 42, # The sheet this span is on.
             "dimension": "A String", # The dimension of the span.
+            "sheetId": 42, # The sheet this span is on.
           },
         },
         "addProtectedRange": { # Adds a new protected range. # Adds a protected range.
@@ -1720,10 +1722,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -1734,6 +1736,30 @@
                 #
                 # When writing, only one of range or named_range_id
                 # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warning_only protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
             "range": { # A range on a sheet. # The range that is being protected.
                 # The range may be fully unbounded, in which case this is considered
                 # a protected sheet.
@@ -1769,35 +1795,11 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
-            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
-                # This field is only visible to users with edit access to the protected
-                # range and the document.
-                # Editors are not supported with warning_only protection.
-              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
-                  # range.  Domain protection is only supported on documents within a domain.
-              "users": [ # The email addresses of users with edit access to the protected range.
-                "A String",
-              ],
-              "groups": [ # The email addresses of groups with edit access to the protected range.
-                "A String",
-              ],
-            },
-            "protectedRangeId": 42, # The ID of the protected range.
-                # This field is read-only.
-            "warningOnly": True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
           },
         },
         "deleteEmbeddedObject": { # Deletes the embedded object with the given ID. # Deletes an embedded object (e.g, chart, image) in a sheet.
@@ -1830,7 +1832,6 @@
                 # * a combination of the ISO language code and country code, such as `en_US`
                 #
                 # Note: when updating this field, not all locales/languages are supported.
-            "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
             "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
                 # CellData.effectiveFormat will not be set if the
                 # cell's format is equal to this default format.
@@ -1848,8 +1849,8 @@
                   # When updating padding, every field must be specified.
                 "top": 42, # The top padding of the cell.
                 "right": 42, # The right padding of the cell.
-                "left": 42, # The left padding of the cell.
                 "bottom": 42, # The bottom padding of the cell.
+                "left": 42, # The left padding of the cell.
               },
               "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
               "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -2410,7 +2411,7 @@
                       # Deprecated; the width is determined by the "style" field.
                   "style": "A String", # The style of the border.
                 },
-                "left": { # A border along a cell. # The left border of the cell.
+                "bottom": { # A border along a cell. # The bottom border of the cell.
                   "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -2544,7 +2545,7 @@
                       # Deprecated; the width is determined by the "style" field.
                   "style": "A String", # The style of the border.
                 },
-                "bottom": { # A border along a cell. # The bottom border of the cell.
+                "left": { # A border along a cell. # The left border of the cell.
                   "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -2681,6 +2682,7 @@
               },
               "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
             },
+            "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
             "iterativeCalculationSettings": { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
                 # calculation.  Absence of this field means that circular references will
                 # result in calculation errors.
@@ -2721,21 +2723,21 @@
                             "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           },
                         ],
@@ -2751,21 +2753,21 @@
                               # to the "Grand Total" over the column groups. If a single value is listed,
                               # this would correspond to using the "Total" of that bucket.
                             { # The kinds of value that a cell in a spreadsheet can have.
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           ],
                           "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -2809,10 +2811,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
@@ -2856,21 +2858,21 @@
                             "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           },
                         ],
@@ -2886,21 +2888,21 @@
                               # to the "Grand Total" over the column groups. If a single value is listed,
                               # this would correspond to using the "Total" of that bucket.
                             { # The kinds of value that a cell in a spreadsheet can have.
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           ],
                           "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -2916,26 +2918,28 @@
                     ],
                   },
                   "hyperlink": "A String", # A hyperlink this cell points to, if any.
-                      # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                      # This field is read-only.  (To set it, use a `=HYPERLINK` formula
+                      # in the userEnteredValue.formulaValue
+                      # field.)
                   "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
                       # the calculated value.  For cells with literals, this will be
                       # the same as the user_entered_value.
                       # This field is read-only.
-                    "numberValue": 3.14, # Represents a double value.
-                        # Note: Dates, Times and DateTimes are represented as doubles in
-                        # "serial number" format.
-                    "boolValue": True or False, # Represents a boolean value.
-                    "formulaValue": "A String", # Represents a formula.
                     "stringValue": "A String", # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `'123` into the UI, this would be represented as a `stringValue` of
                         # `"123"`.
+                    "boolValue": True or False, # Represents a boolean value.
                     "errorValue": { # An error in a cell. # Represents an error.
                         # This field is read-only.
                       "message": "A String", # A message with more information about the error
                           # (in the spreadsheet's locale).
                       "type": "A String", # The type of error.
                     },
+                    "formulaValue": "A String", # Represents a formula.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
                   },
                   "formattedValue": "A String", # The formatted value of the cell.
                       # This is the value as it's shown to the user.
@@ -2943,21 +2947,21 @@
                   "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
                       # Note: Dates, Times and DateTimes are represented as doubles in
                       # serial number format.
-                    "numberValue": 3.14, # Represents a double value.
-                        # Note: Dates, Times and DateTimes are represented as doubles in
-                        # "serial number" format.
-                    "boolValue": True or False, # Represents a boolean value.
-                    "formulaValue": "A String", # Represents a formula.
                     "stringValue": "A String", # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `'123` into the UI, this would be represented as a `stringValue` of
                         # `"123"`.
+                    "boolValue": True or False, # Represents a boolean value.
                     "errorValue": { # An error in a cell. # Represents an error.
                         # This field is read-only.
                       "message": "A String", # A message with more information about the error
                           # (in the spreadsheet's locale).
                       "type": "A String", # The type of error.
                     },
+                    "formulaValue": "A String", # Represents a formula.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
                   },
                   "note": "A String", # Any note on the cell.
                   "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
@@ -2979,8 +2983,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
                     },
                     "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -3541,7 +3545,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "left": { # A border along a cell. # The left border of the cell.
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -3675,7 +3679,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                      "left": { # A border along a cell. # The left border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -3828,8 +3832,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
                     },
                     "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -4390,7 +4394,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "left": { # A border along a cell. # The left border of the cell.
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -4524,7 +4528,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                      "left": { # A border along a cell. # The left border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -4854,10 +4858,10 @@
           "sheetId": 42, # The sheet ID to append the data to.
         },
         "duplicateSheet": { # Duplicates the contents of a sheet. # Duplicates a sheet.
-          "newSheetName": "A String", # The name of the new sheet.  If empty, a new name is chosen for you.
+          "sourceSheetId": 42, # The sheet to duplicate.
           "insertSheetIndex": 42, # The zero-based index where the new sheet should be inserted.
               # The index of all sheets after this are incremented.
-          "sourceSheetId": 42, # The sheet to duplicate.
+          "newSheetName": "A String", # The name of the new sheet.  If empty, a new name is chosen for you.
           "newSheetId": 42, # If set, the ID of the new sheet. If not set, an ID is chosen.
               # If set, the ID must not conflict with any existing sheet ID.
               # If set, it must be non-negative.
@@ -5104,10 +5108,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -5161,10 +5165,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -5236,10 +5240,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -5261,7 +5265,7 @@
                 ],
                 "legendPosition": "A String", # The position of the chart legend.
                 "domains": [ # The domain of data this is charting.
-                    # Only a single domain is currently supported.
+                    # Only a single domain is supported.
                   { # The domain of a chart.
                       # For example, if charting stock prices over time, this would be the date.
                     "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
@@ -5314,10 +5318,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -5514,10 +5518,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -5566,8 +5570,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
                 },
                 "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -6128,7 +6132,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "left": { # A border along a cell. # The left border of the cell.
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -6262,7 +6266,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "left": { # A border along a cell. # The left border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -6851,21 +6855,21 @@
                       "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                           # (Note that formulaValue is not valid,
                           #  because the values will be calculated.)
-                        "numberValue": 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # "serial number" format.
-                        "boolValue": True or False, # Represents a boolean value.
-                        "formulaValue": "A String", # Represents a formula.
                         "stringValue": "A String", # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `'123` into the UI, this would be represented as a `stringValue` of
                             # `"123"`.
+                        "boolValue": True or False, # Represents a boolean value.
                         "errorValue": { # An error in a cell. # Represents an error.
                             # This field is read-only.
                           "message": "A String", # A message with more information about the error
                               # (in the spreadsheet's locale).
                           "type": "A String", # The type of error.
                         },
+                        "formulaValue": "A String", # Represents a formula.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
                       },
                     },
                   ],
@@ -6881,21 +6885,21 @@
                         # to the "Grand Total" over the column groups. If a single value is listed,
                         # this would correspond to using the "Total" of that bucket.
                       { # The kinds of value that a cell in a spreadsheet can have.
-                        "numberValue": 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # "serial number" format.
-                        "boolValue": True or False, # Represents a boolean value.
-                        "formulaValue": "A String", # Represents a formula.
                         "stringValue": "A String", # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `'123` into the UI, this would be represented as a `stringValue` of
                             # `"123"`.
+                        "boolValue": True or False, # Represents a boolean value.
                         "errorValue": { # An error in a cell. # Represents an error.
                             # This field is read-only.
                           "message": "A String", # A message with more information about the error
                               # (in the spreadsheet's locale).
                           "type": "A String", # The type of error.
                         },
+                        "formulaValue": "A String", # Represents a formula.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
                       },
                     ],
                     "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -6939,10 +6943,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
               "values": [ # A list of values to include in the pivot table.
                 { # The definition of how a value in a pivot table should be calculated.
@@ -6986,21 +6990,21 @@
                       "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                           # (Note that formulaValue is not valid,
                           #  because the values will be calculated.)
-                        "numberValue": 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # "serial number" format.
-                        "boolValue": True or False, # Represents a boolean value.
-                        "formulaValue": "A String", # Represents a formula.
                         "stringValue": "A String", # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `'123` into the UI, this would be represented as a `stringValue` of
                             # `"123"`.
+                        "boolValue": True or False, # Represents a boolean value.
                         "errorValue": { # An error in a cell. # Represents an error.
                             # This field is read-only.
                           "message": "A String", # A message with more information about the error
                               # (in the spreadsheet's locale).
                           "type": "A String", # The type of error.
                         },
+                        "formulaValue": "A String", # Represents a formula.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
                       },
                     },
                   ],
@@ -7016,21 +7020,21 @@
                         # to the "Grand Total" over the column groups. If a single value is listed,
                         # this would correspond to using the "Total" of that bucket.
                       { # The kinds of value that a cell in a spreadsheet can have.
-                        "numberValue": 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # "serial number" format.
-                        "boolValue": True or False, # Represents a boolean value.
-                        "formulaValue": "A String", # Represents a formula.
                         "stringValue": "A String", # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `'123` into the UI, this would be represented as a `stringValue` of
                             # `"123"`.
+                        "boolValue": True or False, # Represents a boolean value.
                         "errorValue": { # An error in a cell. # Represents an error.
                             # This field is read-only.
                           "message": "A String", # A message with more information about the error
                               # (in the spreadsheet's locale).
                           "type": "A String", # The type of error.
                         },
+                        "formulaValue": "A String", # Represents a formula.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
                       },
                     ],
                     "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -7046,26 +7050,28 @@
               ],
             },
             "hyperlink": "A String", # A hyperlink this cell points to, if any.
-                # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                # This field is read-only.  (To set it, use a `=HYPERLINK` formula
+                # in the userEnteredValue.formulaValue
+                # field.)
             "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
                 # the calculated value.  For cells with literals, this will be
                 # the same as the user_entered_value.
                 # This field is read-only.
-              "numberValue": 3.14, # Represents a double value.
-                  # Note: Dates, Times and DateTimes are represented as doubles in
-                  # "serial number" format.
-              "boolValue": True or False, # Represents a boolean value.
-              "formulaValue": "A String", # Represents a formula.
               "stringValue": "A String", # Represents a string value.
                   # Leading single quotes are not included. For example, if the user typed
                   # `'123` into the UI, this would be represented as a `stringValue` of
                   # `"123"`.
+              "boolValue": True or False, # Represents a boolean value.
               "errorValue": { # An error in a cell. # Represents an error.
                   # This field is read-only.
                 "message": "A String", # A message with more information about the error
                     # (in the spreadsheet's locale).
                 "type": "A String", # The type of error.
               },
+              "formulaValue": "A String", # Represents a formula.
+              "numberValue": 3.14, # Represents a double value.
+                  # Note: Dates, Times and DateTimes are represented as doubles in
+                  # "serial number" format.
             },
             "formattedValue": "A String", # The formatted value of the cell.
                 # This is the value as it's shown to the user.
@@ -7073,21 +7079,21 @@
             "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
                 # Note: Dates, Times and DateTimes are represented as doubles in
                 # serial number format.
-              "numberValue": 3.14, # Represents a double value.
-                  # Note: Dates, Times and DateTimes are represented as doubles in
-                  # "serial number" format.
-              "boolValue": True or False, # Represents a boolean value.
-              "formulaValue": "A String", # Represents a formula.
               "stringValue": "A String", # Represents a string value.
                   # Leading single quotes are not included. For example, if the user typed
                   # `'123` into the UI, this would be represented as a `stringValue` of
                   # `"123"`.
+              "boolValue": True or False, # Represents a boolean value.
               "errorValue": { # An error in a cell. # Represents an error.
                   # This field is read-only.
                 "message": "A String", # A message with more information about the error
                     # (in the spreadsheet's locale).
                 "type": "A String", # The type of error.
               },
+              "formulaValue": "A String", # Represents a formula.
+              "numberValue": 3.14, # Represents a double value.
+                  # Note: Dates, Times and DateTimes are represented as doubles in
+                  # "serial number" format.
             },
             "note": "A String", # Any note on the cell.
             "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
@@ -7109,8 +7115,8 @@
                   # When updating padding, every field must be specified.
                 "top": 42, # The top padding of the cell.
                 "right": 42, # The right padding of the cell.
-                "left": 42, # The left padding of the cell.
                 "bottom": 42, # The bottom padding of the cell.
+                "left": 42, # The left padding of the cell.
               },
               "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
               "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -7671,7 +7677,7 @@
                       # Deprecated; the width is determined by the "style" field.
                   "style": "A String", # The style of the border.
                 },
-                "left": { # A border along a cell. # The left border of the cell.
+                "bottom": { # A border along a cell. # The bottom border of the cell.
                   "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -7805,7 +7811,7 @@
                       # Deprecated; the width is determined by the "style" field.
                   "style": "A String", # The style of the border.
                 },
-                "bottom": { # A border along a cell. # The bottom border of the cell.
+                "left": { # A border along a cell. # The left border of the cell.
                   "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -7958,8 +7964,8 @@
                   # When updating padding, every field must be specified.
                 "top": 42, # The top padding of the cell.
                 "right": 42, # The right padding of the cell.
-                "left": 42, # The left padding of the cell.
                 "bottom": 42, # The bottom padding of the cell.
+                "left": 42, # The left padding of the cell.
               },
               "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
               "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -8520,7 +8526,7 @@
                       # Deprecated; the width is determined by the "style" field.
                   "style": "A String", # The style of the border.
                 },
-                "left": { # A border along a cell. # The left border of the cell.
+                "bottom": { # A border along a cell. # The bottom border of the cell.
                   "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -8654,7 +8660,7 @@
                       # Deprecated; the width is determined by the "style" field.
                   "style": "A String", # The style of the border.
                 },
-                "bottom": { # A border along a cell. # The bottom border of the cell.
+                "left": { # A border along a cell. # The left border of the cell.
                   "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -9011,10 +9017,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         },
         "findReplace": { # Finds and replaces data in cells over a range, sheet, or all sheets. # Finds and replaces occurrences of some text with other text.
@@ -9054,10 +9060,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "searchByRegex": True or False, # True if the find value is a regex.
               # The regular expression and replacement should follow Java regex rules
@@ -9102,10 +9108,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -9195,10 +9201,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -9287,10 +9293,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "rows": [ # The data to write.
             { # Data about each cell in a row.
@@ -9312,21 +9318,21 @@
                             "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           },
                         ],
@@ -9342,21 +9348,21 @@
                               # to the "Grand Total" over the column groups. If a single value is listed,
                               # this would correspond to using the "Total" of that bucket.
                             { # The kinds of value that a cell in a spreadsheet can have.
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           ],
                           "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -9400,10 +9406,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
@@ -9447,21 +9453,21 @@
                             "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           },
                         ],
@@ -9477,21 +9483,21 @@
                               # to the "Grand Total" over the column groups. If a single value is listed,
                               # this would correspond to using the "Total" of that bucket.
                             { # The kinds of value that a cell in a spreadsheet can have.
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           ],
                           "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -9507,26 +9513,28 @@
                     ],
                   },
                   "hyperlink": "A String", # A hyperlink this cell points to, if any.
-                      # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                      # This field is read-only.  (To set it, use a `=HYPERLINK` formula
+                      # in the userEnteredValue.formulaValue
+                      # field.)
                   "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
                       # the calculated value.  For cells with literals, this will be
                       # the same as the user_entered_value.
                       # This field is read-only.
-                    "numberValue": 3.14, # Represents a double value.
-                        # Note: Dates, Times and DateTimes are represented as doubles in
-                        # "serial number" format.
-                    "boolValue": True or False, # Represents a boolean value.
-                    "formulaValue": "A String", # Represents a formula.
                     "stringValue": "A String", # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `'123` into the UI, this would be represented as a `stringValue` of
                         # `"123"`.
+                    "boolValue": True or False, # Represents a boolean value.
                     "errorValue": { # An error in a cell. # Represents an error.
                         # This field is read-only.
                       "message": "A String", # A message with more information about the error
                           # (in the spreadsheet's locale).
                       "type": "A String", # The type of error.
                     },
+                    "formulaValue": "A String", # Represents a formula.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
                   },
                   "formattedValue": "A String", # The formatted value of the cell.
                       # This is the value as it's shown to the user.
@@ -9534,21 +9542,21 @@
                   "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
                       # Note: Dates, Times and DateTimes are represented as doubles in
                       # serial number format.
-                    "numberValue": 3.14, # Represents a double value.
-                        # Note: Dates, Times and DateTimes are represented as doubles in
-                        # "serial number" format.
-                    "boolValue": True or False, # Represents a boolean value.
-                    "formulaValue": "A String", # Represents a formula.
                     "stringValue": "A String", # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `'123` into the UI, this would be represented as a `stringValue` of
                         # `"123"`.
+                    "boolValue": True or False, # Represents a boolean value.
                     "errorValue": { # An error in a cell. # Represents an error.
                         # This field is read-only.
                       "message": "A String", # A message with more information about the error
                           # (in the spreadsheet's locale).
                       "type": "A String", # The type of error.
                     },
+                    "formulaValue": "A String", # Represents a formula.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
                   },
                   "note": "A String", # Any note on the cell.
                   "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
@@ -9570,8 +9578,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
                     },
                     "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -10132,7 +10140,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "left": { # A border along a cell. # The left border of the cell.
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -10266,7 +10274,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                      "left": { # A border along a cell. # The left border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -10419,8 +10427,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
                     },
                     "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -10981,7 +10989,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "left": { # A border along a cell. # The left border of the cell.
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -11115,7 +11123,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                      "left": { # A border along a cell. # The left border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -11450,6 +11458,50 @@
         "autoFill": { # Fills in more data based on existing data. # Automatically fills in more data based on existing data.
           "useAlternateSeries": True or False, # True if we should generate data with the "alternate" series.
               # This differs based on the type and amount of source data.
+          "sourceAndDestination": { # A combination of a source range and how to extend that source. # The source and destination areas to autofill.
+              # This explicitly lists the source of the autofill and where to
+              # extend that data.
+            "source": { # A range on a sheet. # The location of the data to use as the source of the autofill.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `"Sheet1"` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            },
+            "dimension": "A String", # The dimension that data should be filled into.
+            "fillLength": 42, # The number of rows or columns that data should be filled into.
+                # Positive numbers expand beyond the last row or last column
+                # of the source.  Negative numbers expand before the first row
+                # or first column of the source.
+          },
           "range": { # A range on a sheet. # The range to autofill. This will examine the range and detect
               # the location that has data and automatically fill that data
               # in to the rest of the range.
@@ -11482,60 +11534,16 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
-          },
-          "sourceAndDestination": { # A combination of a source range and how to extend that source. # The source and destination areas to autofill.
-              # This explicitly lists the source of the autofill and where to
-              # extend that data.
-            "fillLength": 42, # The number of rows or columns that data should be filled into.
-                # Positive numbers expand beyond the last row or last column
-                # of the source.  Negative numbers expand before the first row
-                # or first column of the source.
-            "dimension": "A String", # The dimension that data should be filled into.
-            "source": { # A range on a sheet. # The location of the data to use as the source of the autofill.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `"Sheet1"` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
-              "sheetId": 42, # The sheet this range is on.
-              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
-            },
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         },
         "appendDimension": { # Appends rows or columns to the end of a sheet. # Appends dimensions to the end of a sheet.
           "length": 42, # The number of rows or columns to append.
-          "sheetId": 42, # The sheet to append rows or columns to.
           "dimension": "A String", # Whether rows or columns should be appended.
+          "sheetId": 42, # The sheet to append rows or columns to.
         },
         "updateBanding": { # Updates properties of the supplied banded range. # Updates a banded range
           "fields": "A String", # The fields that should be updated.  At least one field must be specified.
@@ -11572,10 +11580,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -12671,8 +12679,8 @@
               # Missing indexes indicate the range is unbounded on that side.
             "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
             "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
-            "sheetId": 42, # The sheet this span is on.
             "dimension": "A String", # The dimension of the span.
+            "sheetId": 42, # The sheet this span is on.
           },
         },
         "updateDimensionProperties": { # Updates properties of dimensions within the specified range. # Updates dimensions' properties.
@@ -12686,8 +12694,8 @@
               # Missing indexes indicate the range is unbounded on that side.
             "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
             "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
-            "sheetId": 42, # The sheet this span is on.
             "dimension": "A String", # The dimension of the span.
+            "sheetId": 42, # The sheet this span is on.
           },
           "properties": { # Properties about a dimension. # Properties to update.
             "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
@@ -12729,10 +12737,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         },
         "setDataValidation": { # Sets a data validation rule to every cell in the range. # Sets data validation for one or more cells.
@@ -12767,10 +12775,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "rule": { # A data validation rule. # The data validation rule to set on each cell in the range,
               # or empty to clear the data validation in the range.
@@ -12836,10 +12844,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "shiftDimension": "A String", # The dimension from which deleted cells will be replaced with.
               # If ROWS, existing cells will be shifted upward to
@@ -12849,48 +12857,46 @@
         "clearBasicFilter": { # Clears the basic filter, if any exists on the sheet. # Clears the basic filter on a sheet.
           "sheetId": 42, # The sheet ID on which the basic filter should be cleared.
         },
-        "addNamedRange": { # Adds a named range to the spreadsheet. # Adds a named range.
-          "namedRange": { # A named range. # The named range to add. The namedRangeId
-              # field is optional; if one is not set, an id will be randomly generated. (It
-              # is an error to specify the ID of a range that already exists.)
-            "namedRangeId": "A String", # The ID of the named range.
-            "range": { # A range on a sheet. # The range this represents.
-                # All indexes are zero-based.
-                # Indexes are half open, e.g the start index is inclusive
-                # and the end index is exclusive -- [start_index, end_index).
-                # Missing indexes indicate the range is unbounded on that side.
-                #
-                # For example, if `"Sheet1"` is sheet ID 0, then:
-                #
-                #   `Sheet1!A1:A1 == sheet_id: 0,
-                #                   start_row_index: 0, end_row_index: 1,
-                #                   start_column_index: 0, end_column_index: 1`
-                #
-                #   `Sheet1!A3:B4 == sheet_id: 0,
-                #                   start_row_index: 2, end_row_index: 4,
-                #                   start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A:B == sheet_id: 0,
-                #                 start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1!A5:B == sheet_id: 0,
-                #                  start_row_index: 4,
-                #                  start_column_index: 0, end_column_index: 2`
-                #
-                #   `Sheet1 == sheet_id:0`
-                #
-                # The start index must always be less than or equal to the end index.
-                # If the start index equals the end index, then the range is empty.
-                # Empty ranges are typically not meaningful and are usually rendered in the
-                # UI as `#REF!`.
-              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
-              "sheetId": 42, # The sheet this range is on.
-              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
-            },
-            "name": "A String", # The name of the named range.
+        "textToColumns": { # Splits a column of text into multiple columns, # Converts a column of text into many columns of text.
+            # based on a delimiter in each cell.
+          "source": { # A range on a sheet. # The source data range.  This must span exactly one column.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if `"Sheet1"` is sheet ID 0, then:
+              #
+              #   `Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1`
+              #
+              #   `Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2`
+              #
+              #   `Sheet1 == sheet_id:0`
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
+          "delimiter": "A String", # The delimiter to use. Used only if delimiterType is
+              # CUSTOM.
+          "delimiterType": "A String", # The delimiter type to use.
         },
         "updateChartSpec": { # Updates a chart's specifications. # Updates a chart's specifications.
             # (This does not move or resize a chart. To move or resize a chart, use
@@ -12948,10 +12954,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -13005,10 +13011,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -13080,10 +13086,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -13105,7 +13111,7 @@
               ],
               "legendPosition": "A String", # The position of the chart legend.
               "domains": [ # The domain of data this is charting.
-                  # Only a single domain is currently supported.
+                  # Only a single domain is supported.
                 { # The domain of a chart.
                     # For example, if charting stock prices over time, this would be the date.
                   "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
@@ -13158,10 +13164,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -13329,8 +13335,8 @@
               # Missing indexes indicate the range is unbounded on that side.
             "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
             "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
-            "sheetId": 42, # The sheet this span is on.
             "dimension": "A String", # The dimension of the span.
+            "sheetId": 42, # The sheet this span is on.
           },
           "destinationIndex": 42, # The zero-based start index of where to move the source data to,
               # based on the coordinates *before* the source data is removed
@@ -13345,46 +13351,48 @@
               # (the zero-based index of row 5).
               # The end result would be `A1..A5` of `0, 3, 1, 2, 4`.
         },
-        "textToColumns": { # Splits a column of text into multiple columns, # Converts a column of text into many columns of text.
-            # based on a delimiter in each cell.
-          "source": { # A range on a sheet. # The source data range.  This must span exactly one column.
-              # All indexes are zero-based.
-              # Indexes are half open, e.g the start index is inclusive
-              # and the end index is exclusive -- [start_index, end_index).
-              # Missing indexes indicate the range is unbounded on that side.
-              #
-              # For example, if `"Sheet1"` is sheet ID 0, then:
-              #
-              #   `Sheet1!A1:A1 == sheet_id: 0,
-              #                   start_row_index: 0, end_row_index: 1,
-              #                   start_column_index: 0, end_column_index: 1`
-              #
-              #   `Sheet1!A3:B4 == sheet_id: 0,
-              #                   start_row_index: 2, end_row_index: 4,
-              #                   start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A:B == sheet_id: 0,
-              #                 start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1!A5:B == sheet_id: 0,
-              #                  start_row_index: 4,
-              #                  start_column_index: 0, end_column_index: 2`
-              #
-              #   `Sheet1 == sheet_id:0`
-              #
-              # The start index must always be less than or equal to the end index.
-              # If the start index equals the end index, then the range is empty.
-              # Empty ranges are typically not meaningful and are usually rendered in the
-              # UI as `#REF!`.
-            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
-            "sheetId": 42, # The sheet this range is on.
-            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+        "addNamedRange": { # Adds a named range to the spreadsheet. # Adds a named range.
+          "namedRange": { # A named range. # The named range to add. The namedRangeId
+              # field is optional; if one is not set, an id will be randomly generated. (It
+              # is an error to specify the ID of a range that already exists.)
+            "namedRangeId": "A String", # The ID of the named range.
+            "range": { # A range on a sheet. # The range this represents.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if `"Sheet1"` is sheet ID 0, then:
+                #
+                #   `Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1`
+                #
+                #   `Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2`
+                #
+                #   `Sheet1 == sheet_id:0`
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            },
+            "name": "A String", # The name of the named range.
           },
-          "delimiter": "A String", # The delimiter to use. Used only if delimiterType is
-              # CUSTOM.
-          "delimiterType": "A String", # The delimiter type to use.
         },
         "addBanding": { # Adds a new banded range to the spreadsheet. # Adds a new banded range
           "bandedRange": { # A banded (alternating colors) range in a sheet. # The banded range to add. The bandedRangeId
@@ -13420,10 +13428,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -14542,10 +14550,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "mergeType": "A String", # How the cells should be merged.
         },
@@ -14583,10 +14591,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "shiftDimension": "A String", # The dimension which will be shifted when inserting cells.
               # If ROWS, existing cells will be shifted down.
@@ -15172,10 +15180,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "innerVertical": { # A border along a cell. # The vertical border to put within the range.
             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -15479,10 +15487,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "destination": { # A coordinate in a sheet. # The top-left coordinate where the data should be pasted.
               # All indexes are zero-based.
@@ -15523,10 +15531,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "destination": { # A range on a sheet. # The location to paste to. If the range covers a span that's
               # a multiple of the source's height or width, then the
@@ -15562,10 +15570,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "pasteOrientation": "A String", # How that data should be oriented when pasting.
         },
@@ -15778,10 +15786,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "name": "A String", # The name of the named range.
           },
@@ -15806,8 +15814,8 @@
               # Missing indexes indicate the range is unbounded on that side.
             "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
             "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
-            "sheetId": 42, # The sheet this span is on.
             "dimension": "A String", # The dimension of the span.
+            "sheetId": 42, # The sheet this span is on.
           },
         },
         "updateFilterView": { # Updates properties of the filter view. # Updates the properties of a filter view.
@@ -15851,10 +15859,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -15965,10 +15973,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "name": "A String", # The name of the named range.
         },
@@ -15984,7 +15992,6 @@
             # * a combination of the ISO language code and country code, such as `en_US`
             #
             # Note: when updating this field, not all locales/languages are supported.
-        "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
         "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
             # CellData.effectiveFormat will not be set if the
             # cell's format is equal to this default format.
@@ -16002,8 +16009,8 @@
               # When updating padding, every field must be specified.
             "top": 42, # The top padding of the cell.
             "right": 42, # The right padding of the cell.
-            "left": 42, # The left padding of the cell.
             "bottom": 42, # The bottom padding of the cell.
+            "left": 42, # The left padding of the cell.
           },
           "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
           "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -16564,7 +16571,7 @@
                   # Deprecated; the width is determined by the "style" field.
               "style": "A String", # The style of the border.
             },
-            "left": { # A border along a cell. # The left border of the cell.
+            "bottom": { # A border along a cell. # The bottom border of the cell.
               "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -16698,7 +16705,7 @@
                   # Deprecated; the width is determined by the "style" field.
               "style": "A String", # The style of the border.
             },
-            "bottom": { # A border along a cell. # The bottom border of the cell.
+            "left": { # A border along a cell. # The left border of the cell.
               "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -16835,6 +16842,7 @@
           },
           "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
         },
+        "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
         "iterativeCalculationSettings": { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
             # calculation.  Absence of this field means that circular references will
             # result in calculation errors.
@@ -16884,10 +16892,10 @@
                     # Empty ranges are typically not meaningful and are usually rendered in the
                     # UI as `#REF!`.
                   "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                   "sheetId": 42, # The sheet this range is on.
                   "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                 },
               ],
               "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -16936,8 +16944,8 @@
                       # When updating padding, every field must be specified.
                     "top": 42, # The top padding of the cell.
                     "right": 42, # The right padding of the cell.
-                    "left": 42, # The left padding of the cell.
                     "bottom": 42, # The bottom padding of the cell.
+                    "left": 42, # The left padding of the cell.
                   },
                   "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                   "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -17498,7 +17506,7 @@
                           # Deprecated; the width is determined by the "style" field.
                       "style": "A String", # The style of the border.
                     },
-                    "left": { # A border along a cell. # The left border of the cell.
+                    "bottom": { # A border along a cell. # The bottom border of the cell.
                       "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -17632,7 +17640,7 @@
                           # Deprecated; the width is determined by the "style" field.
                       "style": "A String", # The style of the border.
                     },
-                    "bottom": { # A border along a cell. # The bottom border of the cell.
+                    "left": { # A border along a cell. # The left border of the cell.
                       "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -18220,10 +18228,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
               "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                   # by-column basis throughout all the columns in the range. At least one of
@@ -19339,10 +19347,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           ],
           "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -19376,10 +19384,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -19500,10 +19508,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -19557,10 +19565,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -19632,10 +19640,10 @@
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
                               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                               "sheetId": 42, # The sheet this range is on.
                               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -19657,7 +19665,7 @@
                   ],
                   "legendPosition": "A String", # The position of the chart legend.
                   "domains": [ # The domain of data this is charting.
-                      # Only a single domain is currently supported.
+                      # Only a single domain is supported.
                     { # The domain of a chart.
                         # For example, if charting stock prices over time, this would be the date.
                       "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
@@ -19710,10 +19718,10 @@
                                 # Empty ranges are typically not meaningful and are usually rendered in the
                                 # UI as `#REF!`.
                               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                               "sheetId": 42, # The sheet this range is on.
                               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -19915,10 +19923,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
               "sortSpecs": [ # The sort order per column. Later specifications are used when values
                   # are equal in the earlier specifications.
@@ -19999,10 +20007,10 @@
                     # Empty ranges are typically not meaningful and are usually rendered in the
                     # UI as `#REF!`.
                   "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                   "sheetId": 42, # The sheet this range is on.
                   "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                 },
               ],
               "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -20013,6 +20021,30 @@
                   #
                   # When writing, only one of range or named_range_id
                   # may be set.
+              "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                  # This field is only visible to users with edit access to the protected
+                  # range and the document.
+                  # Editors are not supported with warning_only protection.
+                "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                    # range.  Domain protection is only supported on documents within a domain.
+                "users": [ # The email addresses of users with edit access to the protected range.
+                  "A String",
+                ],
+                "groups": [ # The email addresses of groups with edit access to the protected range.
+                  "A String",
+                ],
+              },
+              "protectedRangeId": 42, # The ID of the protected range.
+                  # This field is read-only.
+              "warningOnly": True or False, # True if this protected range will show a warning when editing.
+                  # Warning-based protection means that every user can edit data in the
+                  # protected range, except editing will prompt a warning asking the user
+                  # to confirm the edit.
+                  #
+                  # When writing: if this field is true, then editors is ignored.
+                  # Additionally, if this field is changed from true to false and the
+                  # `editors` field is not set (nor included in the field mask), then
+                  # the editors will be set to all the editors in the document.
               "range": { # A range on a sheet. # The range that is being protected.
                   # The range may be fully unbounded, in which case this is considered
                   # a protected sheet.
@@ -20048,35 +20080,11 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
-              "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
-                  # This field is only visible to users with edit access to the protected
-                  # range and the document.
-                  # Editors are not supported with warning_only protection.
-                "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
-                    # range.  Domain protection is only supported on documents within a domain.
-                "users": [ # The email addresses of users with edit access to the protected range.
-                  "A String",
-                ],
-                "groups": [ # The email addresses of groups with edit access to the protected range.
-                  "A String",
-                ],
-              },
-              "protectedRangeId": 42, # The ID of the protected range.
-                  # This field is read-only.
-              "warningOnly": True or False, # True if this protected range will show a warning when editing.
-                  # Warning-based protection means that every user can edit data in the
-                  # protected range, except editing will prompt a warning asking the user
-                  # to confirm the edit.
-                  #
-                  # When writing: if this field is true, then editors is ignored.
-                  # Additionally, if this field is changed from true to false and the
-                  # `editors` field is not set (nor included in the field mask), then
-                  # the editors will be set to all the editors in the document.
             },
           ],
           "data": [ # Data in the grid, if this is a grid sheet.
@@ -20098,16 +20106,6 @@
                 },
               ],
               "startColumn": 42, # The first column this GridData refers to, zero-based.
-              "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
-                  # in start_column.
-                { # Properties about a dimension.
-                  "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-                  "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
-                  "hiddenByFilter": True or False, # True if this dimension is being filtered.
-                      # This field is read-only.
-                },
-              ],
-              "startRow": 42, # The first row this GridData refers to, zero-based.
               "rowData": [ # The data in the grid, one entry per row,
                   # starting with the row in startRow.
                   # The values in RowData will correspond to columns starting
@@ -20131,21 +20129,21 @@
                                 "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                     # (Note that formulaValue is not valid,
                                     #  because the values will be calculated.)
-                                  "numberValue": 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # "serial number" format.
-                                  "boolValue": True or False, # Represents a boolean value.
-                                  "formulaValue": "A String", # Represents a formula.
                                   "stringValue": "A String", # Represents a string value.
                                       # Leading single quotes are not included. For example, if the user typed
                                       # `'123` into the UI, this would be represented as a `stringValue` of
                                       # `"123"`.
+                                  "boolValue": True or False, # Represents a boolean value.
                                   "errorValue": { # An error in a cell. # Represents an error.
                                       # This field is read-only.
                                     "message": "A String", # A message with more information about the error
                                         # (in the spreadsheet's locale).
                                     "type": "A String", # The type of error.
                                   },
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
                                 },
                               },
                             ],
@@ -20161,21 +20159,21 @@
                                   # to the "Grand Total" over the column groups. If a single value is listed,
                                   # this would correspond to using the "Total" of that bucket.
                                 { # The kinds of value that a cell in a spreadsheet can have.
-                                  "numberValue": 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # "serial number" format.
-                                  "boolValue": True or False, # Represents a boolean value.
-                                  "formulaValue": "A String", # Represents a formula.
                                   "stringValue": "A String", # Represents a string value.
                                       # Leading single quotes are not included. For example, if the user typed
                                       # `'123` into the UI, this would be represented as a `stringValue` of
                                       # `"123"`.
+                                  "boolValue": True or False, # Represents a boolean value.
                                   "errorValue": { # An error in a cell. # Represents an error.
                                       # This field is read-only.
                                     "message": "A String", # A message with more information about the error
                                         # (in the spreadsheet's locale).
                                     "type": "A String", # The type of error.
                                   },
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
                                 },
                               ],
                               "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -20219,10 +20217,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                         "values": [ # A list of values to include in the pivot table.
                           { # The definition of how a value in a pivot table should be calculated.
@@ -20266,21 +20264,21 @@
                                 "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                     # (Note that formulaValue is not valid,
                                     #  because the values will be calculated.)
-                                  "numberValue": 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # "serial number" format.
-                                  "boolValue": True or False, # Represents a boolean value.
-                                  "formulaValue": "A String", # Represents a formula.
                                   "stringValue": "A String", # Represents a string value.
                                       # Leading single quotes are not included. For example, if the user typed
                                       # `'123` into the UI, this would be represented as a `stringValue` of
                                       # `"123"`.
+                                  "boolValue": True or False, # Represents a boolean value.
                                   "errorValue": { # An error in a cell. # Represents an error.
                                       # This field is read-only.
                                     "message": "A String", # A message with more information about the error
                                         # (in the spreadsheet's locale).
                                     "type": "A String", # The type of error.
                                   },
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
                                 },
                               },
                             ],
@@ -20296,21 +20294,21 @@
                                   # to the "Grand Total" over the column groups. If a single value is listed,
                                   # this would correspond to using the "Total" of that bucket.
                                 { # The kinds of value that a cell in a spreadsheet can have.
-                                  "numberValue": 3.14, # Represents a double value.
-                                      # Note: Dates, Times and DateTimes are represented as doubles in
-                                      # "serial number" format.
-                                  "boolValue": True or False, # Represents a boolean value.
-                                  "formulaValue": "A String", # Represents a formula.
                                   "stringValue": "A String", # Represents a string value.
                                       # Leading single quotes are not included. For example, if the user typed
                                       # `'123` into the UI, this would be represented as a `stringValue` of
                                       # `"123"`.
+                                  "boolValue": True or False, # Represents a boolean value.
                                   "errorValue": { # An error in a cell. # Represents an error.
                                       # This field is read-only.
                                     "message": "A String", # A message with more information about the error
                                         # (in the spreadsheet's locale).
                                     "type": "A String", # The type of error.
                                   },
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
                                 },
                               ],
                               "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -20326,26 +20324,28 @@
                         ],
                       },
                       "hyperlink": "A String", # A hyperlink this cell points to, if any.
-                          # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                          # This field is read-only.  (To set it, use a `=HYPERLINK` formula
+                          # in the userEnteredValue.formulaValue
+                          # field.)
                       "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
                           # the calculated value.  For cells with literals, this will be
                           # the same as the user_entered_value.
                           # This field is read-only.
-                        "numberValue": 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # "serial number" format.
-                        "boolValue": True or False, # Represents a boolean value.
-                        "formulaValue": "A String", # Represents a formula.
                         "stringValue": "A String", # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `'123` into the UI, this would be represented as a `stringValue` of
                             # `"123"`.
+                        "boolValue": True or False, # Represents a boolean value.
                         "errorValue": { # An error in a cell. # Represents an error.
                             # This field is read-only.
                           "message": "A String", # A message with more information about the error
                               # (in the spreadsheet's locale).
                           "type": "A String", # The type of error.
                         },
+                        "formulaValue": "A String", # Represents a formula.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
                       },
                       "formattedValue": "A String", # The formatted value of the cell.
                           # This is the value as it's shown to the user.
@@ -20353,21 +20353,21 @@
                       "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
                           # Note: Dates, Times and DateTimes are represented as doubles in
                           # serial number format.
-                        "numberValue": 3.14, # Represents a double value.
-                            # Note: Dates, Times and DateTimes are represented as doubles in
-                            # "serial number" format.
-                        "boolValue": True or False, # Represents a boolean value.
-                        "formulaValue": "A String", # Represents a formula.
                         "stringValue": "A String", # Represents a string value.
                             # Leading single quotes are not included. For example, if the user typed
                             # `'123` into the UI, this would be represented as a `stringValue` of
                             # `"123"`.
+                        "boolValue": True or False, # Represents a boolean value.
                         "errorValue": { # An error in a cell. # Represents an error.
                             # This field is read-only.
                           "message": "A String", # A message with more information about the error
                               # (in the spreadsheet's locale).
                           "type": "A String", # The type of error.
                         },
+                        "formulaValue": "A String", # Represents a formula.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
                       },
                       "note": "A String", # Any note on the cell.
                       "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
@@ -20389,8 +20389,8 @@
                             # When updating padding, every field must be specified.
                           "top": 42, # The top padding of the cell.
                           "right": 42, # The right padding of the cell.
-                          "left": 42, # The left padding of the cell.
                           "bottom": 42, # The bottom padding of the cell.
+                          "left": 42, # The left padding of the cell.
                         },
                         "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                         "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -20951,7 +20951,7 @@
                                 # Deprecated; the width is determined by the "style" field.
                             "style": "A String", # The style of the border.
                           },
-                          "left": { # A border along a cell. # The left border of the cell.
+                          "bottom": { # A border along a cell. # The bottom border of the cell.
                             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                                 # for simplicity of conversion to/from color representations in various
                                 # languages over compactness; for example, the fields of this representation
@@ -21085,7 +21085,7 @@
                                 # Deprecated; the width is determined by the "style" field.
                             "style": "A String", # The style of the border.
                           },
-                          "bottom": { # A border along a cell. # The bottom border of the cell.
+                          "left": { # A border along a cell. # The left border of the cell.
                             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                                 # for simplicity of conversion to/from color representations in various
                                 # languages over compactness; for example, the fields of this representation
@@ -21238,8 +21238,8 @@
                             # When updating padding, every field must be specified.
                           "top": 42, # The top padding of the cell.
                           "right": 42, # The right padding of the cell.
-                          "left": 42, # The left padding of the cell.
                           "bottom": 42, # The bottom padding of the cell.
+                          "left": 42, # The left padding of the cell.
                         },
                         "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                         "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -21800,7 +21800,7 @@
                                 # Deprecated; the width is determined by the "style" field.
                             "style": "A String", # The style of the border.
                           },
-                          "left": { # A border along a cell. # The left border of the cell.
+                          "bottom": { # A border along a cell. # The bottom border of the cell.
                             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                                 # for simplicity of conversion to/from color representations in various
                                 # languages over compactness; for example, the fields of this representation
@@ -21934,7 +21934,7 @@
                                 # Deprecated; the width is determined by the "style" field.
                             "style": "A String", # The style of the border.
                           },
-                          "bottom": { # A border along a cell. # The bottom border of the cell.
+                          "left": { # A border along a cell. # The left border of the cell.
                             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                                 # for simplicity of conversion to/from color representations in various
                                 # languages over compactness; for example, the fields of this representation
@@ -22261,6 +22261,16 @@
                   ],
                 },
               ],
+              "startRow": 42, # The first row this GridData refers to, zero-based.
+              "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                  # in start_column.
+                { # Properties about a dimension.
+                  "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                  "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                  "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                      # This field is read-only.
+                },
+              ],
             },
           ],
           "properties": { # Properties of a sheet. # The properties of the sheet.
@@ -22470,10 +22480,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -22777,10 +22787,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -22834,10 +22844,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -22909,10 +22919,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -22934,7 +22944,7 @@
                 ],
                 "legendPosition": "A String", # The position of the chart legend.
                 "domains": [ # The domain of data this is charting.
-                    # Only a single domain is currently supported.
+                    # Only a single domain is supported.
                   { # The domain of a chart.
                       # For example, if charting stock prices over time, this would be the date.
                     "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
@@ -22987,10 +22997,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -23189,10 +23199,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -23241,8 +23251,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
                 },
                 "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -23803,7 +23813,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "left": { # A border along a cell. # The left border of the cell.
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -23937,7 +23947,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "left": { # A border along a cell. # The left border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -24526,10 +24536,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -24578,8 +24588,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
                 },
                 "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -25140,7 +25150,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "left": { # A border along a cell. # The left border of the cell.
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -25274,7 +25284,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "left": { # A border along a cell. # The left border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -26032,10 +26042,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "name": "A String", # The name of the named range.
           },
@@ -26074,10 +26084,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -26088,6 +26098,30 @@
                 #
                 # When writing, only one of range or named_range_id
                 # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warning_only protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
             "range": { # A range on a sheet. # The range that is being protected.
                 # The range may be fully unbounded, in which case this is considered
                 # a protected sheet.
@@ -26123,35 +26157,11 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
-            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
-                # This field is only visible to users with edit access to the protected
-                # range and the document.
-                # Editors are not supported with warning_only protection.
-              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
-                  # range.  Domain protection is only supported on documents within a domain.
-              "users": [ # The email addresses of users with edit access to the protected range.
-                "A String",
-              ],
-              "groups": [ # The email addresses of groups with edit access to the protected range.
-                "A String",
-              ],
-            },
-            "protectedRangeId": 42, # The ID of the protected range.
-                # This field is read-only.
-            "warningOnly": True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
           },
         },
         "deleteConditionalFormatRule": { # The result of deleting a conditional format rule. # A reply from deleting a conditional format rule.
@@ -26188,10 +26198,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -26240,8 +26250,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
                 },
                 "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -26802,7 +26812,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "left": { # A border along a cell. # The left border of the cell.
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -26936,7 +26946,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "left": { # A border along a cell. # The left border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -27524,10 +27534,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -28653,10 +28663,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -28752,10 +28762,10 @@
           # Empty ranges are typically not meaningful and are usually rendered in the
           # UI as `#REF!`.
         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
         "sheetId": 42, # The sheet this range is on.
         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
       },
       "name": "A String", # The name of the named range.
     },
@@ -28771,7 +28781,6 @@
         # * a combination of the ISO language code and country code, such as `en_US`
         #
         # Note: when updating this field, not all locales/languages are supported.
-    "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
     "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
         # CellData.effectiveFormat will not be set if the
         # cell's format is equal to this default format.
@@ -28789,8 +28798,8 @@
           # When updating padding, every field must be specified.
         "top": 42, # The top padding of the cell.
         "right": 42, # The right padding of the cell.
-        "left": 42, # The left padding of the cell.
         "bottom": 42, # The bottom padding of the cell.
+        "left": 42, # The left padding of the cell.
       },
       "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -29351,7 +29360,7 @@
               # Deprecated; the width is determined by the "style" field.
           "style": "A String", # The style of the border.
         },
-        "left": { # A border along a cell. # The left border of the cell.
+        "bottom": { # A border along a cell. # The bottom border of the cell.
           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -29485,7 +29494,7 @@
               # Deprecated; the width is determined by the "style" field.
           "style": "A String", # The style of the border.
         },
-        "bottom": { # A border along a cell. # The bottom border of the cell.
+        "left": { # A border along a cell. # The left border of the cell.
           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -29622,6 +29631,7 @@
       },
       "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
     },
+    "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
     "iterativeCalculationSettings": { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
         # calculation.  Absence of this field means that circular references will
         # result in calculation errors.
@@ -29671,10 +29681,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           ],
           "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -29723,8 +29733,8 @@
                   # When updating padding, every field must be specified.
                 "top": 42, # The top padding of the cell.
                 "right": 42, # The right padding of the cell.
-                "left": 42, # The left padding of the cell.
                 "bottom": 42, # The bottom padding of the cell.
+                "left": 42, # The left padding of the cell.
               },
               "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
               "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -30285,7 +30295,7 @@
                       # Deprecated; the width is determined by the "style" field.
                   "style": "A String", # The style of the border.
                 },
-                "left": { # A border along a cell. # The left border of the cell.
+                "bottom": { # A border along a cell. # The bottom border of the cell.
                   "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -30419,7 +30429,7 @@
                       # Deprecated; the width is determined by the "style" field.
                   "style": "A String", # The style of the border.
                 },
-                "bottom": { # A border along a cell. # The bottom border of the cell.
+                "left": { # A border along a cell. # The left border of the cell.
                   "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -31007,10 +31017,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
               # by-column basis throughout all the columns in the range. At least one of
@@ -32126,10 +32136,10 @@
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           "sheetId": 42, # The sheet this range is on.
           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
         },
       ],
       "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -32163,10 +32173,10 @@
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           "sheetId": 42, # The sheet this range is on.
           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
         },
         "sortSpecs": [ # The sort order per column. Later specifications are used when values
             # are equal in the earlier specifications.
@@ -32287,10 +32297,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -32344,10 +32354,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -32419,10 +32429,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -32444,7 +32454,7 @@
               ],
               "legendPosition": "A String", # The position of the chart legend.
               "domains": [ # The domain of data this is charting.
-                  # Only a single domain is currently supported.
+                  # Only a single domain is supported.
                 { # The domain of a chart.
                     # For example, if charting stock prices over time, this would be the date.
                   "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
@@ -32497,10 +32507,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -32702,10 +32712,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sortSpecs": [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -32786,10 +32796,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           ],
           "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -32800,6 +32810,30 @@
               #
               # When writing, only one of range or named_range_id
               # may be set.
+          "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+              # This field is only visible to users with edit access to the protected
+              # range and the document.
+              # Editors are not supported with warning_only protection.
+            "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                # range.  Domain protection is only supported on documents within a domain.
+            "users": [ # The email addresses of users with edit access to the protected range.
+              "A String",
+            ],
+            "groups": [ # The email addresses of groups with edit access to the protected range.
+              "A String",
+            ],
+          },
+          "protectedRangeId": 42, # The ID of the protected range.
+              # This field is read-only.
+          "warningOnly": True or False, # True if this protected range will show a warning when editing.
+              # Warning-based protection means that every user can edit data in the
+              # protected range, except editing will prompt a warning asking the user
+              # to confirm the edit.
+              #
+              # When writing: if this field is true, then editors is ignored.
+              # Additionally, if this field is changed from true to false and the
+              # `editors` field is not set (nor included in the field mask), then
+              # the editors will be set to all the editors in the document.
           "range": { # A range on a sheet. # The range that is being protected.
               # The range may be fully unbounded, in which case this is considered
               # a protected sheet.
@@ -32835,35 +32869,11 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
-          "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
-              # This field is only visible to users with edit access to the protected
-              # range and the document.
-              # Editors are not supported with warning_only protection.
-            "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
-                # range.  Domain protection is only supported on documents within a domain.
-            "users": [ # The email addresses of users with edit access to the protected range.
-              "A String",
-            ],
-            "groups": [ # The email addresses of groups with edit access to the protected range.
-              "A String",
-            ],
-          },
-          "protectedRangeId": 42, # The ID of the protected range.
-              # This field is read-only.
-          "warningOnly": True or False, # True if this protected range will show a warning when editing.
-              # Warning-based protection means that every user can edit data in the
-              # protected range, except editing will prompt a warning asking the user
-              # to confirm the edit.
-              #
-              # When writing: if this field is true, then editors is ignored.
-              # Additionally, if this field is changed from true to false and the
-              # `editors` field is not set (nor included in the field mask), then
-              # the editors will be set to all the editors in the document.
         },
       ],
       "data": [ # Data in the grid, if this is a grid sheet.
@@ -32885,16 +32895,6 @@
             },
           ],
           "startColumn": 42, # The first column this GridData refers to, zero-based.
-          "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
-              # in start_column.
-            { # Properties about a dimension.
-              "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-              "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
-              "hiddenByFilter": True or False, # True if this dimension is being filtered.
-                  # This field is read-only.
-            },
-          ],
-          "startRow": 42, # The first row this GridData refers to, zero-based.
           "rowData": [ # The data in the grid, one entry per row,
               # starting with the row in startRow.
               # The values in RowData will correspond to columns starting
@@ -32918,21 +32918,21 @@
                             "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           },
                         ],
@@ -32948,21 +32948,21 @@
                               # to the "Grand Total" over the column groups. If a single value is listed,
                               # this would correspond to using the "Total" of that bucket.
                             { # The kinds of value that a cell in a spreadsheet can have.
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           ],
                           "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -33006,10 +33006,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
@@ -33053,21 +33053,21 @@
                             "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                 # (Note that formulaValue is not valid,
                                 #  because the values will be calculated.)
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           },
                         ],
@@ -33083,21 +33083,21 @@
                               # to the "Grand Total" over the column groups. If a single value is listed,
                               # this would correspond to using the "Total" of that bucket.
                             { # The kinds of value that a cell in a spreadsheet can have.
-                              "numberValue": 3.14, # Represents a double value.
-                                  # Note: Dates, Times and DateTimes are represented as doubles in
-                                  # "serial number" format.
-                              "boolValue": True or False, # Represents a boolean value.
-                              "formulaValue": "A String", # Represents a formula.
                               "stringValue": "A String", # Represents a string value.
                                   # Leading single quotes are not included. For example, if the user typed
                                   # `'123` into the UI, this would be represented as a `stringValue` of
                                   # `"123"`.
+                              "boolValue": True or False, # Represents a boolean value.
                               "errorValue": { # An error in a cell. # Represents an error.
                                   # This field is read-only.
                                 "message": "A String", # A message with more information about the error
                                     # (in the spreadsheet's locale).
                                 "type": "A String", # The type of error.
                               },
+                              "formulaValue": "A String", # Represents a formula.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
                             },
                           ],
                           "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -33113,26 +33113,28 @@
                     ],
                   },
                   "hyperlink": "A String", # A hyperlink this cell points to, if any.
-                      # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                      # This field is read-only.  (To set it, use a `=HYPERLINK` formula
+                      # in the userEnteredValue.formulaValue
+                      # field.)
                   "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
                       # the calculated value.  For cells with literals, this will be
                       # the same as the user_entered_value.
                       # This field is read-only.
-                    "numberValue": 3.14, # Represents a double value.
-                        # Note: Dates, Times and DateTimes are represented as doubles in
-                        # "serial number" format.
-                    "boolValue": True or False, # Represents a boolean value.
-                    "formulaValue": "A String", # Represents a formula.
                     "stringValue": "A String", # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `'123` into the UI, this would be represented as a `stringValue` of
                         # `"123"`.
+                    "boolValue": True or False, # Represents a boolean value.
                     "errorValue": { # An error in a cell. # Represents an error.
                         # This field is read-only.
                       "message": "A String", # A message with more information about the error
                           # (in the spreadsheet's locale).
                       "type": "A String", # The type of error.
                     },
+                    "formulaValue": "A String", # Represents a formula.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
                   },
                   "formattedValue": "A String", # The formatted value of the cell.
                       # This is the value as it's shown to the user.
@@ -33140,21 +33142,21 @@
                   "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
                       # Note: Dates, Times and DateTimes are represented as doubles in
                       # serial number format.
-                    "numberValue": 3.14, # Represents a double value.
-                        # Note: Dates, Times and DateTimes are represented as doubles in
-                        # "serial number" format.
-                    "boolValue": True or False, # Represents a boolean value.
-                    "formulaValue": "A String", # Represents a formula.
                     "stringValue": "A String", # Represents a string value.
                         # Leading single quotes are not included. For example, if the user typed
                         # `'123` into the UI, this would be represented as a `stringValue` of
                         # `"123"`.
+                    "boolValue": True or False, # Represents a boolean value.
                     "errorValue": { # An error in a cell. # Represents an error.
                         # This field is read-only.
                       "message": "A String", # A message with more information about the error
                           # (in the spreadsheet's locale).
                       "type": "A String", # The type of error.
                     },
+                    "formulaValue": "A String", # Represents a formula.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
                   },
                   "note": "A String", # Any note on the cell.
                   "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
@@ -33176,8 +33178,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
                     },
                     "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -33738,7 +33740,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "left": { # A border along a cell. # The left border of the cell.
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -33872,7 +33874,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                      "left": { # A border along a cell. # The left border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -34025,8 +34027,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
                     },
                     "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -34587,7 +34589,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "left": { # A border along a cell. # The left border of the cell.
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -34721,7 +34723,7 @@
                             # Deprecated; the width is determined by the "style" field.
                         "style": "A String", # The style of the border.
                       },
-                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                      "left": { # A border along a cell. # The left border of the cell.
                         "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -35048,6 +35050,16 @@
               ],
             },
           ],
+          "startRow": 42, # The first row this GridData refers to, zero-based.
+          "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+              # in start_column.
+            { # Properties about a dimension.
+              "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+              "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+              "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                  # This field is read-only.
+            },
+          ],
         },
       ],
       "properties": { # Properties of a sheet. # The properties of the sheet.
@@ -35258,10 +35270,10 @@
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           "sheetId": 42, # The sheet this range is on.
           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
         },
         "name": "A String", # The name of the named range.
       },
@@ -35277,7 +35289,6 @@
           # * a combination of the ISO language code and country code, such as `en_US`
           #
           # Note: when updating this field, not all locales/languages are supported.
-      "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
       "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
           # CellData.effectiveFormat will not be set if the
           # cell's format is equal to this default format.
@@ -35295,8 +35306,8 @@
             # When updating padding, every field must be specified.
           "top": 42, # The top padding of the cell.
           "right": 42, # The right padding of the cell.
-          "left": 42, # The left padding of the cell.
           "bottom": 42, # The bottom padding of the cell.
+          "left": 42, # The left padding of the cell.
         },
         "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
         "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -35857,7 +35868,7 @@
                 # Deprecated; the width is determined by the "style" field.
             "style": "A String", # The style of the border.
           },
-          "left": { # A border along a cell. # The left border of the cell.
+          "bottom": { # A border along a cell. # The bottom border of the cell.
             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -35991,7 +36002,7 @@
                 # Deprecated; the width is determined by the "style" field.
             "style": "A String", # The style of the border.
           },
-          "bottom": { # A border along a cell. # The bottom border of the cell.
+          "left": { # A border along a cell. # The left border of the cell.
             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -36128,6 +36139,7 @@
         },
         "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
       },
+      "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
       "iterativeCalculationSettings": { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
           # calculation.  Absence of this field means that circular references will
           # result in calculation errors.
@@ -36177,10 +36189,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -36229,8 +36241,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
                 },
                 "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -36791,7 +36803,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "left": { # A border along a cell. # The left border of the cell.
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -36925,7 +36937,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "left": { # A border along a cell. # The left border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -37513,10 +37525,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -38632,10 +38644,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         ],
         "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -38669,10 +38681,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sortSpecs": [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -38793,10 +38805,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -38850,10 +38862,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -38925,10 +38937,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -38950,7 +38962,7 @@
                 ],
                 "legendPosition": "A String", # The position of the chart legend.
                 "domains": [ # The domain of data this is charting.
-                    # Only a single domain is currently supported.
+                    # Only a single domain is supported.
                   { # The domain of a chart.
                       # For example, if charting stock prices over time, this would be the date.
                     "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
@@ -39003,10 +39015,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -39208,10 +39220,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -39292,10 +39304,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -39306,6 +39318,30 @@
                 #
                 # When writing, only one of range or named_range_id
                 # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warning_only protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
             "range": { # A range on a sheet. # The range that is being protected.
                 # The range may be fully unbounded, in which case this is considered
                 # a protected sheet.
@@ -39341,35 +39377,11 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
-            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
-                # This field is only visible to users with edit access to the protected
-                # range and the document.
-                # Editors are not supported with warning_only protection.
-              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
-                  # range.  Domain protection is only supported on documents within a domain.
-              "users": [ # The email addresses of users with edit access to the protected range.
-                "A String",
-              ],
-              "groups": [ # The email addresses of groups with edit access to the protected range.
-                "A String",
-              ],
-            },
-            "protectedRangeId": 42, # The ID of the protected range.
-                # This field is read-only.
-            "warningOnly": True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
           },
         ],
         "data": [ # Data in the grid, if this is a grid sheet.
@@ -39391,16 +39403,6 @@
               },
             ],
             "startColumn": 42, # The first column this GridData refers to, zero-based.
-            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
-                # in start_column.
-              { # Properties about a dimension.
-                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
-                "hiddenByFilter": True or False, # True if this dimension is being filtered.
-                    # This field is read-only.
-              },
-            ],
-            "startRow": 42, # The first row this GridData refers to, zero-based.
             "rowData": [ # The data in the grid, one entry per row,
                 # starting with the row in startRow.
                 # The values in RowData will correspond to columns starting
@@ -39424,21 +39426,21 @@
                               "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                   # (Note that formulaValue is not valid,
                                   #  because the values will be calculated.)
-                                "numberValue": 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # "serial number" format.
-                                "boolValue": True or False, # Represents a boolean value.
-                                "formulaValue": "A String", # Represents a formula.
                                 "stringValue": "A String", # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `'123` into the UI, this would be represented as a `stringValue` of
                                     # `"123"`.
+                                "boolValue": True or False, # Represents a boolean value.
                                 "errorValue": { # An error in a cell. # Represents an error.
                                     # This field is read-only.
                                   "message": "A String", # A message with more information about the error
                                       # (in the spreadsheet's locale).
                                   "type": "A String", # The type of error.
                                 },
+                                "formulaValue": "A String", # Represents a formula.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
                               },
                             },
                           ],
@@ -39454,21 +39456,21 @@
                                 # to the "Grand Total" over the column groups. If a single value is listed,
                                 # this would correspond to using the "Total" of that bucket.
                               { # The kinds of value that a cell in a spreadsheet can have.
-                                "numberValue": 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # "serial number" format.
-                                "boolValue": True or False, # Represents a boolean value.
-                                "formulaValue": "A String", # Represents a formula.
                                 "stringValue": "A String", # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `'123` into the UI, this would be represented as a `stringValue` of
                                     # `"123"`.
+                                "boolValue": True or False, # Represents a boolean value.
                                 "errorValue": { # An error in a cell. # Represents an error.
                                     # This field is read-only.
                                   "message": "A String", # A message with more information about the error
                                       # (in the spreadsheet's locale).
                                   "type": "A String", # The type of error.
                                 },
+                                "formulaValue": "A String", # Represents a formula.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
                               },
                             ],
                             "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -39512,10 +39514,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                       "values": [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
@@ -39559,21 +39561,21 @@
                               "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                   # (Note that formulaValue is not valid,
                                   #  because the values will be calculated.)
-                                "numberValue": 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # "serial number" format.
-                                "boolValue": True or False, # Represents a boolean value.
-                                "formulaValue": "A String", # Represents a formula.
                                 "stringValue": "A String", # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `'123` into the UI, this would be represented as a `stringValue` of
                                     # `"123"`.
+                                "boolValue": True or False, # Represents a boolean value.
                                 "errorValue": { # An error in a cell. # Represents an error.
                                     # This field is read-only.
                                   "message": "A String", # A message with more information about the error
                                       # (in the spreadsheet's locale).
                                   "type": "A String", # The type of error.
                                 },
+                                "formulaValue": "A String", # Represents a formula.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
                               },
                             },
                           ],
@@ -39589,21 +39591,21 @@
                                 # to the "Grand Total" over the column groups. If a single value is listed,
                                 # this would correspond to using the "Total" of that bucket.
                               { # The kinds of value that a cell in a spreadsheet can have.
-                                "numberValue": 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # "serial number" format.
-                                "boolValue": True or False, # Represents a boolean value.
-                                "formulaValue": "A String", # Represents a formula.
                                 "stringValue": "A String", # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `'123` into the UI, this would be represented as a `stringValue` of
                                     # `"123"`.
+                                "boolValue": True or False, # Represents a boolean value.
                                 "errorValue": { # An error in a cell. # Represents an error.
                                     # This field is read-only.
                                   "message": "A String", # A message with more information about the error
                                       # (in the spreadsheet's locale).
                                   "type": "A String", # The type of error.
                                 },
+                                "formulaValue": "A String", # Represents a formula.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
                               },
                             ],
                             "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -39619,26 +39621,28 @@
                       ],
                     },
                     "hyperlink": "A String", # A hyperlink this cell points to, if any.
-                        # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                        # This field is read-only.  (To set it, use a `=HYPERLINK` formula
+                        # in the userEnteredValue.formulaValue
+                        # field.)
                     "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
                         # the calculated value.  For cells with literals, this will be
                         # the same as the user_entered_value.
                         # This field is read-only.
-                      "numberValue": 3.14, # Represents a double value.
-                          # Note: Dates, Times and DateTimes are represented as doubles in
-                          # "serial number" format.
-                      "boolValue": True or False, # Represents a boolean value.
-                      "formulaValue": "A String", # Represents a formula.
                       "stringValue": "A String", # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `'123` into the UI, this would be represented as a `stringValue` of
                           # `"123"`.
+                      "boolValue": True or False, # Represents a boolean value.
                       "errorValue": { # An error in a cell. # Represents an error.
                           # This field is read-only.
                         "message": "A String", # A message with more information about the error
                             # (in the spreadsheet's locale).
                         "type": "A String", # The type of error.
                       },
+                      "formulaValue": "A String", # Represents a formula.
+                      "numberValue": 3.14, # Represents a double value.
+                          # Note: Dates, Times and DateTimes are represented as doubles in
+                          # "serial number" format.
                     },
                     "formattedValue": "A String", # The formatted value of the cell.
                         # This is the value as it's shown to the user.
@@ -39646,21 +39650,21 @@
                     "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # serial number format.
-                      "numberValue": 3.14, # Represents a double value.
-                          # Note: Dates, Times and DateTimes are represented as doubles in
-                          # "serial number" format.
-                      "boolValue": True or False, # Represents a boolean value.
-                      "formulaValue": "A String", # Represents a formula.
                       "stringValue": "A String", # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `'123` into the UI, this would be represented as a `stringValue` of
                           # `"123"`.
+                      "boolValue": True or False, # Represents a boolean value.
                       "errorValue": { # An error in a cell. # Represents an error.
                           # This field is read-only.
                         "message": "A String", # A message with more information about the error
                             # (in the spreadsheet's locale).
                         "type": "A String", # The type of error.
                       },
+                      "formulaValue": "A String", # Represents a formula.
+                      "numberValue": 3.14, # Represents a double value.
+                          # Note: Dates, Times and DateTimes are represented as doubles in
+                          # "serial number" format.
                     },
                     "note": "A String", # Any note on the cell.
                     "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
@@ -39682,8 +39686,8 @@
                           # When updating padding, every field must be specified.
                         "top": 42, # The top padding of the cell.
                         "right": 42, # The right padding of the cell.
-                        "left": 42, # The left padding of the cell.
                         "bottom": 42, # The bottom padding of the cell.
+                        "left": 42, # The left padding of the cell.
                       },
                       "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -40244,7 +40248,7 @@
                               # Deprecated; the width is determined by the "style" field.
                           "style": "A String", # The style of the border.
                         },
-                        "left": { # A border along a cell. # The left border of the cell.
+                        "bottom": { # A border along a cell. # The bottom border of the cell.
                           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -40378,7 +40382,7 @@
                               # Deprecated; the width is determined by the "style" field.
                           "style": "A String", # The style of the border.
                         },
-                        "bottom": { # A border along a cell. # The bottom border of the cell.
+                        "left": { # A border along a cell. # The left border of the cell.
                           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -40531,8 +40535,8 @@
                           # When updating padding, every field must be specified.
                         "top": 42, # The top padding of the cell.
                         "right": 42, # The right padding of the cell.
-                        "left": 42, # The left padding of the cell.
                         "bottom": 42, # The bottom padding of the cell.
+                        "left": 42, # The left padding of the cell.
                       },
                       "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -41093,7 +41097,7 @@
                               # Deprecated; the width is determined by the "style" field.
                           "style": "A String", # The style of the border.
                         },
-                        "left": { # A border along a cell. # The left border of the cell.
+                        "bottom": { # A border along a cell. # The bottom border of the cell.
                           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -41227,7 +41231,7 @@
                               # Deprecated; the width is determined by the "style" field.
                           "style": "A String", # The style of the border.
                         },
-                        "bottom": { # A border along a cell. # The bottom border of the cell.
+                        "left": { # A border along a cell. # The left border of the cell.
                           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -41554,6 +41558,16 @@
                 ],
               },
             ],
+            "startRow": 42, # The first row this GridData refers to, zero-based.
+            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                # in start_column.
+              { # Properties about a dimension.
+                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                    # This field is read-only.
+              },
+            ],
           },
         ],
         "properties": { # Properties of a sheet. # The properties of the sheet.
@@ -41794,10 +41808,10 @@
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           "sheetId": 42, # The sheet this range is on.
           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
         },
         "name": "A String", # The name of the named range.
       },
@@ -41813,7 +41827,6 @@
           # * a combination of the ISO language code and country code, such as `en_US`
           #
           # Note: when updating this field, not all locales/languages are supported.
-      "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
       "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
           # CellData.effectiveFormat will not be set if the
           # cell's format is equal to this default format.
@@ -41831,8 +41844,8 @@
             # When updating padding, every field must be specified.
           "top": 42, # The top padding of the cell.
           "right": 42, # The right padding of the cell.
-          "left": 42, # The left padding of the cell.
           "bottom": 42, # The bottom padding of the cell.
+          "left": 42, # The left padding of the cell.
         },
         "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
         "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -42393,7 +42406,7 @@
                 # Deprecated; the width is determined by the "style" field.
             "style": "A String", # The style of the border.
           },
-          "left": { # A border along a cell. # The left border of the cell.
+          "bottom": { # A border along a cell. # The bottom border of the cell.
             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -42527,7 +42540,7 @@
                 # Deprecated; the width is determined by the "style" field.
             "style": "A String", # The style of the border.
           },
-          "bottom": { # A border along a cell. # The bottom border of the cell.
+          "left": { # A border along a cell. # The left border of the cell.
             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                 # for simplicity of conversion to/from color representations in various
                 # languages over compactness; for example, the fields of this representation
@@ -42664,6 +42677,7 @@
         },
         "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
       },
+      "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
       "iterativeCalculationSettings": { # Settings to control how circular dependencies are resolved with iterative # Determines whether and how circular references are resolved with iterative
           # calculation.  Absence of this field means that circular references will
           # result in calculation errors.
@@ -42713,10 +42727,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -42765,8 +42779,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
                 },
                 "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -43327,7 +43341,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "left": { # A border along a cell. # The left border of the cell.
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -43461,7 +43475,7 @@
                         # Deprecated; the width is determined by the "style" field.
                     "style": "A String", # The style of the border.
                   },
-                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "left": { # A border along a cell. # The left border of the cell.
                     "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -44049,10 +44063,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -45168,10 +45182,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         ],
         "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -45205,10 +45219,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sortSpecs": [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -45329,10 +45343,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -45386,10 +45400,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -45461,10 +45475,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -45486,7 +45500,7 @@
                 ],
                 "legendPosition": "A String", # The position of the chart legend.
                 "domains": [ # The domain of data this is charting.
-                    # Only a single domain is currently supported.
+                    # Only a single domain is supported.
                   { # The domain of a chart.
                       # For example, if charting stock prices over time, this would be the date.
                     "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
@@ -45539,10 +45553,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -45744,10 +45758,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -45828,10 +45842,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -45842,6 +45856,30 @@
                 #
                 # When writing, only one of range or named_range_id
                 # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warning_only protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When writing: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
             "range": { # A range on a sheet. # The range that is being protected.
                 # The range may be fully unbounded, in which case this is considered
                 # a protected sheet.
@@ -45877,35 +45915,11 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
-            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
-                # This field is only visible to users with edit access to the protected
-                # range and the document.
-                # Editors are not supported with warning_only protection.
-              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
-                  # range.  Domain protection is only supported on documents within a domain.
-              "users": [ # The email addresses of users with edit access to the protected range.
-                "A String",
-              ],
-              "groups": [ # The email addresses of groups with edit access to the protected range.
-                "A String",
-              ],
-            },
-            "protectedRangeId": 42, # The ID of the protected range.
-                # This field is read-only.
-            "warningOnly": True or False, # True if this protected range will show a warning when editing.
-                # Warning-based protection means that every user can edit data in the
-                # protected range, except editing will prompt a warning asking the user
-                # to confirm the edit.
-                #
-                # When writing: if this field is true, then editors is ignored.
-                # Additionally, if this field is changed from true to false and the
-                # `editors` field is not set (nor included in the field mask), then
-                # the editors will be set to all the editors in the document.
           },
         ],
         "data": [ # Data in the grid, if this is a grid sheet.
@@ -45927,16 +45941,6 @@
               },
             ],
             "startColumn": 42, # The first column this GridData refers to, zero-based.
-            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
-                # in start_column.
-              { # Properties about a dimension.
-                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
-                "hiddenByFilter": True or False, # True if this dimension is being filtered.
-                    # This field is read-only.
-              },
-            ],
-            "startRow": 42, # The first row this GridData refers to, zero-based.
             "rowData": [ # The data in the grid, one entry per row,
                 # starting with the row in startRow.
                 # The values in RowData will correspond to columns starting
@@ -45960,21 +45964,21 @@
                               "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                   # (Note that formulaValue is not valid,
                                   #  because the values will be calculated.)
-                                "numberValue": 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # "serial number" format.
-                                "boolValue": True or False, # Represents a boolean value.
-                                "formulaValue": "A String", # Represents a formula.
                                 "stringValue": "A String", # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `'123` into the UI, this would be represented as a `stringValue` of
                                     # `"123"`.
+                                "boolValue": True or False, # Represents a boolean value.
                                 "errorValue": { # An error in a cell. # Represents an error.
                                     # This field is read-only.
                                   "message": "A String", # A message with more information about the error
                                       # (in the spreadsheet's locale).
                                   "type": "A String", # The type of error.
                                 },
+                                "formulaValue": "A String", # Represents a formula.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
                               },
                             },
                           ],
@@ -45990,21 +45994,21 @@
                                 # to the "Grand Total" over the column groups. If a single value is listed,
                                 # this would correspond to using the "Total" of that bucket.
                               { # The kinds of value that a cell in a spreadsheet can have.
-                                "numberValue": 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # "serial number" format.
-                                "boolValue": True or False, # Represents a boolean value.
-                                "formulaValue": "A String", # Represents a formula.
                                 "stringValue": "A String", # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `'123` into the UI, this would be represented as a `stringValue` of
                                     # `"123"`.
+                                "boolValue": True or False, # Represents a boolean value.
                                 "errorValue": { # An error in a cell. # Represents an error.
                                     # This field is read-only.
                                   "message": "A String", # A message with more information about the error
                                       # (in the spreadsheet's locale).
                                   "type": "A String", # The type of error.
                                 },
+                                "formulaValue": "A String", # Represents a formula.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
                               },
                             ],
                             "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -46048,10 +46052,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                       "values": [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
@@ -46095,21 +46099,21 @@
                               "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
                                   # (Note that formulaValue is not valid,
                                   #  because the values will be calculated.)
-                                "numberValue": 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # "serial number" format.
-                                "boolValue": True or False, # Represents a boolean value.
-                                "formulaValue": "A String", # Represents a formula.
                                 "stringValue": "A String", # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `'123` into the UI, this would be represented as a `stringValue` of
                                     # `"123"`.
+                                "boolValue": True or False, # Represents a boolean value.
                                 "errorValue": { # An error in a cell. # Represents an error.
                                     # This field is read-only.
                                   "message": "A String", # A message with more information about the error
                                       # (in the spreadsheet's locale).
                                   "type": "A String", # The type of error.
                                 },
+                                "formulaValue": "A String", # Represents a formula.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
                               },
                             },
                           ],
@@ -46125,21 +46129,21 @@
                                 # to the "Grand Total" over the column groups. If a single value is listed,
                                 # this would correspond to using the "Total" of that bucket.
                               { # The kinds of value that a cell in a spreadsheet can have.
-                                "numberValue": 3.14, # Represents a double value.
-                                    # Note: Dates, Times and DateTimes are represented as doubles in
-                                    # "serial number" format.
-                                "boolValue": True or False, # Represents a boolean value.
-                                "formulaValue": "A String", # Represents a formula.
                                 "stringValue": "A String", # Represents a string value.
                                     # Leading single quotes are not included. For example, if the user typed
                                     # `'123` into the UI, this would be represented as a `stringValue` of
                                     # `"123"`.
+                                "boolValue": True or False, # Represents a boolean value.
                                 "errorValue": { # An error in a cell. # Represents an error.
                                     # This field is read-only.
                                   "message": "A String", # A message with more information about the error
                                       # (in the spreadsheet's locale).
                                   "type": "A String", # The type of error.
                                 },
+                                "formulaValue": "A String", # Represents a formula.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
                               },
                             ],
                             "valuesIndex": 42, # The offset in the PivotTable.values list which the values in this
@@ -46155,26 +46159,28 @@
                       ],
                     },
                     "hyperlink": "A String", # A hyperlink this cell points to, if any.
-                        # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                        # This field is read-only.  (To set it, use a `=HYPERLINK` formula
+                        # in the userEnteredValue.formulaValue
+                        # field.)
                     "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
                         # the calculated value.  For cells with literals, this will be
                         # the same as the user_entered_value.
                         # This field is read-only.
-                      "numberValue": 3.14, # Represents a double value.
-                          # Note: Dates, Times and DateTimes are represented as doubles in
-                          # "serial number" format.
-                      "boolValue": True or False, # Represents a boolean value.
-                      "formulaValue": "A String", # Represents a formula.
                       "stringValue": "A String", # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `'123` into the UI, this would be represented as a `stringValue` of
                           # `"123"`.
+                      "boolValue": True or False, # Represents a boolean value.
                       "errorValue": { # An error in a cell. # Represents an error.
                           # This field is read-only.
                         "message": "A String", # A message with more information about the error
                             # (in the spreadsheet's locale).
                         "type": "A String", # The type of error.
                       },
+                      "formulaValue": "A String", # Represents a formula.
+                      "numberValue": 3.14, # Represents a double value.
+                          # Note: Dates, Times and DateTimes are represented as doubles in
+                          # "serial number" format.
                     },
                     "formattedValue": "A String", # The formatted value of the cell.
                         # This is the value as it's shown to the user.
@@ -46182,21 +46188,21 @@
                     "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
                         # Note: Dates, Times and DateTimes are represented as doubles in
                         # serial number format.
-                      "numberValue": 3.14, # Represents a double value.
-                          # Note: Dates, Times and DateTimes are represented as doubles in
-                          # "serial number" format.
-                      "boolValue": True or False, # Represents a boolean value.
-                      "formulaValue": "A String", # Represents a formula.
                       "stringValue": "A String", # Represents a string value.
                           # Leading single quotes are not included. For example, if the user typed
                           # `'123` into the UI, this would be represented as a `stringValue` of
                           # `"123"`.
+                      "boolValue": True or False, # Represents a boolean value.
                       "errorValue": { # An error in a cell. # Represents an error.
                           # This field is read-only.
                         "message": "A String", # A message with more information about the error
                             # (in the spreadsheet's locale).
                         "type": "A String", # The type of error.
                       },
+                      "formulaValue": "A String", # Represents a formula.
+                      "numberValue": 3.14, # Represents a double value.
+                          # Note: Dates, Times and DateTimes are represented as doubles in
+                          # "serial number" format.
                     },
                     "note": "A String", # Any note on the cell.
                     "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
@@ -46218,8 +46224,8 @@
                           # When updating padding, every field must be specified.
                         "top": 42, # The top padding of the cell.
                         "right": 42, # The right padding of the cell.
-                        "left": 42, # The left padding of the cell.
                         "bottom": 42, # The bottom padding of the cell.
+                        "left": 42, # The left padding of the cell.
                       },
                       "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -46780,7 +46786,7 @@
                               # Deprecated; the width is determined by the "style" field.
                           "style": "A String", # The style of the border.
                         },
-                        "left": { # A border along a cell. # The left border of the cell.
+                        "bottom": { # A border along a cell. # The bottom border of the cell.
                           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -46914,7 +46920,7 @@
                               # Deprecated; the width is determined by the "style" field.
                           "style": "A String", # The style of the border.
                         },
-                        "bottom": { # A border along a cell. # The bottom border of the cell.
+                        "left": { # A border along a cell. # The left border of the cell.
                           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -47067,8 +47073,8 @@
                           # When updating padding, every field must be specified.
                         "top": 42, # The top padding of the cell.
                         "right": 42, # The right padding of the cell.
-                        "left": 42, # The left padding of the cell.
                         "bottom": 42, # The bottom padding of the cell.
+                        "left": 42, # The left padding of the cell.
                       },
                       "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
                       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -47629,7 +47635,7 @@
                               # Deprecated; the width is determined by the "style" field.
                           "style": "A String", # The style of the border.
                         },
-                        "left": { # A border along a cell. # The left border of the cell.
+                        "bottom": { # A border along a cell. # The bottom border of the cell.
                           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -47763,7 +47769,7 @@
                               # Deprecated; the width is determined by the "style" field.
                           "style": "A String", # The style of the border.
                         },
-                        "bottom": { # A border along a cell. # The bottom border of the cell.
+                        "left": { # A border along a cell. # The left border of the cell.
                           "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
                               # for simplicity of conversion to/from color representations in various
                               # languages over compactness; for example, the fields of this representation
@@ -48090,6 +48096,16 @@
                 ],
               },
             ],
+            "startRow": 42, # The first row this GridData refers to, zero-based.
+            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                # in start_column.
+              { # Properties about a dimension.
+                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                    # This field is read-only.
+              },
+            ],
           },
         ],
         "properties": { # Properties of a sheet. # The properties of the sheet.