Fix method doc signatures for multiline required parameters (#374)

* Fix method doc signatures for multiline required parameters.

Existing doc generator failed to recognize parameters as required when parameter descriptions
extended over more than one line. Besides presenting incorrect information, resulting
inconsistencies broke checks for automated sample generation.

* Regen docs
diff --git a/docs/dyn/sheets_v4.spreadsheets.html b/docs/dyn/sheets_v4.spreadsheets.html
index 5d1b646..d702068 100644
--- a/docs/dyn/sheets_v4.spreadsheets.html
+++ b/docs/dyn/sheets_v4.spreadsheets.html
@@ -162,10 +162,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -193,9 +193,9 @@
                 "columnIndex": 42, # The column index of the coordinate.
                 "sheetId": 42, # The sheet this coordinate is on.
               },
-              "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
               "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
                   # from the anchor cell.
+              "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
               "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
                   # from the anchor cell.
               "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
@@ -212,7 +212,6 @@
         },
         "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.
           "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.
@@ -246,10 +245,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -301,7 +300,7 @@
                   "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
                 },
-                "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -431,7 +430,7 @@
                   "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                 },
-                "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                 "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                     # Absent values indicate that the field isn't specified.
                   "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -1552,6 +1551,7 @@
           "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 +1591,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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,30 +1605,6 @@
                 #
                 # 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.
@@ -1664,11 +1640,35 @@
                 # 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.
+              "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.
-              "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.
             },
+            "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.
@@ -1720,10 +1720,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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,30 +1734,6 @@
                 #
                 # 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.
@@ -1793,11 +1769,35 @@
                 # 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.
+              "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.
-              "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.
             },
+            "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,6 +1830,7 @@
                 # * 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.
@@ -1850,7 +1851,7 @@
                 "left": 42, # The left padding of the cell.
                 "bottom": 42, # The bottom padding of the cell.
               },
-              "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -1980,7 +1981,7 @@
                 "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                 "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
               },
-              "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+              "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
               "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                   # Absent values indicate that the field isn't specified.
                 "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -2680,7 +2681,6 @@
               },
               "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.
@@ -2809,15 +2809,20 @@
                         # 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.
+                      "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.
-                      "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.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
                         "formula": "A String", # A custom formula to calculate the value.  The formula must start
                             # with an `=` character.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                            #
+                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                            # means this value refers to column `C`, whereas the offset `1` would
+                            # refer to column `D`.
                         "summarizeFunction": "A String", # A function to summarize the value.
                             # If formula is set, the only supported values are
                             # SUM and
@@ -2826,11 +2831,6 @@
                             # is not supported.
                         "name": "A String", # A name to use for the value. This is only used if formula was set.
                             # Otherwise, the column name is used.
-                        "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
-                            #
-                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                            # means this value refers to column `C`, whereas the offset `1` would
-                            # refer to column `D`.
                       },
                     ],
                     "criteria": { # An optional mapping of filters per source column offset.
@@ -2982,7 +2982,7 @@
                       "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
                     },
-                    "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -3112,7 +3112,7 @@
                       "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                       "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     },
-                    "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                     "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                         # Absent values indicate that the field isn't specified.
                       "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -3831,7 +3831,7 @@
                       "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
                     },
-                    "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -3961,7 +3961,7 @@
                       "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                       "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     },
-                    "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                     "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                         # Absent values indicate that the field isn't specified.
                       "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -4886,10 +4886,10 @@
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
               "columnCount": 42, # The number of columns in the grid.
-              "rowCount": 42, # The number of rows in the grid.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
               "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
               "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
-              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+              "rowCount": 42, # The number of rows in the grid.
             },
             "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
@@ -5044,9 +5044,9 @@
                   "columnIndex": 42, # The column index of the coordinate.
                   "sheetId": 42, # The sheet this coordinate is on.
                 },
-                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                 "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
                     # from the anchor cell.
+                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                 "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
                     # from the anchor cell.
                 "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
@@ -5104,10 +5104,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.
-                        "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.
                         "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.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -5161,10 +5161,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.
-                        "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.
                         "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.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -5236,10 +5236,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.
-                            "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.
                             "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.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -5314,10 +5314,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.
-                            "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.
                             "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.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -5330,8 +5330,6 @@
                       # A chart may not have more than one axis per
                       # axis position.
                     "position": "A String", # The position of this axis.
-                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
                     "format": { # The format of a run of text in a cell. # The format of the title.
                         # Only valid if the axis is not associated with the domain.
                         # Absent values indicate that the field isn't specified.
@@ -5471,6 +5469,8 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
                   },
                 ],
               },
@@ -5514,10 +5514,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -5569,7 +5569,7 @@
                   "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
                 },
-                "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -5699,7 +5699,7 @@
                   "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                 },
-                "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                 "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                     # Absent values indicate that the field isn't specified.
                   "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -6939,15 +6939,20 @@
                   # 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.
+                "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.
-                "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.
               },
               "values": [ # A list of values to include in the pivot table.
                 { # The definition of how a value in a pivot table should be calculated.
                   "formula": "A String", # A custom formula to calculate the value.  The formula must start
                       # with an `=` character.
+                  "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                      #
+                      # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                      # means this value refers to column `C`, whereas the offset `1` would
+                      # refer to column `D`.
                   "summarizeFunction": "A String", # A function to summarize the value.
                       # If formula is set, the only supported values are
                       # SUM and
@@ -6956,11 +6961,6 @@
                       # is not supported.
                   "name": "A String", # A name to use for the value. This is only used if formula was set.
                       # Otherwise, the column name is used.
-                  "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
-                      #
-                      # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                      # means this value refers to column `C`, whereas the offset `1` would
-                      # refer to column `D`.
                 },
               ],
               "criteria": { # An optional mapping of filters per source column offset.
@@ -7112,7 +7112,7 @@
                 "left": 42, # The left padding of the cell.
                 "bottom": 42, # The bottom padding of the cell.
               },
-              "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -7242,7 +7242,7 @@
                 "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                 "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
               },
-              "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+              "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
               "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                   # Absent values indicate that the field isn't specified.
                 "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -7961,7 +7961,7 @@
                 "left": 42, # The left padding of the cell.
                 "bottom": 42, # The bottom padding of the cell.
               },
-              "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -8091,7 +8091,7 @@
                 "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                 "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
               },
-              "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+              "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
               "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                   # Absent values indicate that the field isn't specified.
                 "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -9011,10 +9011,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +9054,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +9102,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -9152,45 +9152,98 @@
             },
           },
         },
-        "insertRange": { # Inserts cells into a range, shifting the existing cells over or down. # Inserts new cells in a sheet, shifting the existing cells.
-          "range": { # A range on a sheet. # The range to insert new cells into.
-              # 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.
+        "addFilterView": { # Adds a filter view. # Adds a filter view.
+          "filter": { # A filter view. # The filter to add. The filterViewId
+              # field is optional; if one is not set, an id will be randomly generated. (It
+              # is an error to specify the ID of a filter that already exists.)
+            "title": "A String", # The name of the filter view.
+            "namedRangeId": "A String", # The named range this filter view is backed by, if any.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+            "filterViewId": 42, # The ID of the filter view.
+            "range": { # A range on a sheet. # The range this filter view covers.
+                #
+                # When writing, only one of range or named_range_id
+                # may be set.
+                # 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.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter or filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                  "type": "A String", # The type of condition.
+                },
+              },
+            },
           },
-          "shiftDimension": "A String", # The dimension which will be shifted when inserting cells.
-              # If ROWS, existing cells will be shifted down.
-              # If COLUMNS, existing cells will be shifted right.
         },
         "updateCells": { # Updates all cells in a range with new data. # Updates many cells at once.
           "start": { # A coordinate in a sheet. # The coordinate to start writing data at.
@@ -9234,10 +9287,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           },
           "rows": [ # The data to write.
             { # Data about each cell in a row.
@@ -9347,15 +9400,20 @@
                         # 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.
+                      "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.
-                      "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.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
                         "formula": "A String", # A custom formula to calculate the value.  The formula must start
                             # with an `=` character.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                            #
+                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                            # means this value refers to column `C`, whereas the offset `1` would
+                            # refer to column `D`.
                         "summarizeFunction": "A String", # A function to summarize the value.
                             # If formula is set, the only supported values are
                             # SUM and
@@ -9364,11 +9422,6 @@
                             # is not supported.
                         "name": "A String", # A name to use for the value. This is only used if formula was set.
                             # Otherwise, the column name is used.
-                        "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
-                            #
-                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                            # means this value refers to column `C`, whereas the offset `1` would
-                            # refer to column `D`.
                       },
                     ],
                     "criteria": { # An optional mapping of filters per source column offset.
@@ -9520,7 +9573,7 @@
                       "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
                     },
-                    "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -9650,7 +9703,7 @@
                       "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                       "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     },
-                    "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                     "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                         # Absent values indicate that the field isn't specified.
                       "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -10369,7 +10422,7 @@
                       "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
                     },
-                    "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -10499,7 +10552,7 @@
                       "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                       "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     },
-                    "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                     "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                         # Absent values indicate that the field isn't specified.
                       "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -11429,10 +11482,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.
-            "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.
             "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.
+            "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
@@ -11472,17 +11525,17 @@
                 # 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.
+              "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.
-              "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.
             },
           },
         },
         "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.
-          "dimension": "A String", # Whether rows or columns should be appended.
           "sheetId": 42, # The sheet to append rows or columns to.
+          "dimension": "A String", # Whether rows or columns should be appended.
         },
         "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.
@@ -11519,10 +11572,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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
@@ -12676,10 +12729,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -12714,10 +12767,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -12783,10 +12836,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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
@@ -12796,46 +12849,48 @@
         "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.
         },
-        "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.
+        "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.
           },
-          "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
@@ -12893,10 +12948,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.
-                      "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.
                       "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.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -12950,10 +13005,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.
-                      "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.
                       "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.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -13025,10 +13080,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.
-                          "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.
                           "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.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -13103,10 +13158,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.
-                          "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.
                           "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.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -13119,8 +13174,6 @@
                     # A chart may not have more than one axis per
                     # axis position.
                   "position": "A String", # The position of this axis.
-                  "title": "A String", # The title of this axis. If set, this overrides any title inferred
-                      # from headers of the data.
                   "format": { # The format of a run of text in a cell. # The format of the title.
                       # Only valid if the axis is not associated with the domain.
                       # Absent values indicate that the field isn't specified.
@@ -13260,6 +13313,8 @@
                     "italic": True or False, # True if the text is italicized.
                     "underline": True or False, # True if the text is underlined.
                   },
+                  "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                      # from headers of the data.
                 },
               ],
             },
@@ -13290,48 +13345,46 @@
               # (the zero-based index of row 5).
               # The end result would be `A1..A5` of `0, 3, 1, 2, 4`.
         },
-        "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.
+        "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.
           },
+          "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
@@ -13367,10 +13420,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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
@@ -14489,108 +14542,55 @@
               # 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.
+            "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.
-            "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.
           },
           "mergeType": "A String", # How the cells should be merged.
         },
         "deleteProtectedRange": { # Deletes the protected range with the given ID. # Deletes a protected range.
           "protectedRangeId": 42, # The ID of the protected range to delete.
         },
-        "addFilterView": { # Adds a filter view. # Adds a filter view.
-          "filter": { # A filter view. # The filter to add. The filterViewId
-              # field is optional; if one is not set, an id will be randomly generated. (It
-              # is an error to specify the ID of a filter that already exists.)
-            "title": "A String", # The name of the filter view.
-            "namedRangeId": "A String", # The named range this filter view is backed by, if any.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-            "filterViewId": 42, # The ID of the filter view.
-            "range": { # A range on a sheet. # The range this filter view covers.
-                #
-                # When writing, only one of range or named_range_id
-                # may be set.
-                # 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.
-            },
-            "sortSpecs": [ # The sort order per column. Later specifications are used when values
-                # are equal in the earlier specifications.
-              { # A sort order associated with a specific column or row.
-                "sortOrder": "A String", # The order data should be sorted.
-                "dimensionIndex": 42, # The dimension the sort should be applied to.
-              },
-            ],
-            "criteria": { # The criteria for showing/hiding values per column.
-                # The map's key is the column index, and the value is the criteria for
-                # that column.
-              "a_key": { # Criteria for showing/hiding rows in a filter or filter view.
-                "hiddenValues": [ # Values that should be hidden.
-                  "A String",
-                ],
-                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
-                    # (This does not override hiddenValues -- if a value is listed there,
-                    #  it will still be hidden.)
-                    # BooleanConditions are used by conditional formatting,
-                    # data validation, and the criteria in filters.
-                  "values": [ # The values of the condition. The number of supported values depends
-                      # on the condition type.  Some support zero values,
-                      # others one or two values,
-                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
-                    { # The value of the condition.
-                      "relativeDate": "A String", # A relative date (based on the current date).
-                          # Valid only if the type is
-                          # DATE_BEFORE,
-                          # DATE_AFTER,
-                          # DATE_ON_OR_BEFORE or
-                          # DATE_ON_OR_AFTER.
-                          #
-                          # Relative dates are not supported in data validation.
-                          # They are supported only in conditional formatting and
-                          # conditional filters.
-                      "userEnteredValue": "A String", # A value the condition is based on.
-                          # The value will be parsed as if the user typed into a cell.
-                          # Formulas are supported (and must begin with an `=`).
-                    },
-                  ],
-                  "type": "A String", # The type of condition.
-                },
-              },
-            },
+        "insertRange": { # Inserts cells into a range, shifting the existing cells over or down. # Inserts new cells in a sheet, shifting the existing cells.
+          "range": { # A range on a sheet. # The range to insert new cells into.
+              # 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.
           },
+          "shiftDimension": "A String", # The dimension which will be shifted when inserting cells.
+              # If ROWS, existing cells will be shifted down.
+              # If COLUMNS, existing cells will be shifted right.
         },
         "deleteSheet": { # Deletes the requested sheet. # Deletes a sheet.
           "sheetId": 42, # The ID of the sheet to delete.
@@ -15172,10 +15172,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +15479,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +15523,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +15562,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           },
           "pasteOrientation": "A String", # How that data should be oriented when pasting.
         },
@@ -15598,10 +15598,10 @@
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
               "columnCount": 42, # The number of columns in the grid.
-              "rowCount": 42, # The number of rows in the grid.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
               "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
               "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
-              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+              "rowCount": 42, # The number of rows in the grid.
             },
             "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
@@ -15778,10 +15778,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             },
             "name": "A String", # The name of the named range.
           },
@@ -15851,10 +15851,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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 +15965,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           },
           "name": "A String", # The name of the named range.
         },
@@ -15984,6 +15984,7 @@
             # * 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.
@@ -16004,7 +16005,7 @@
             "left": 42, # The left padding of the cell.
             "bottom": 42, # The bottom padding of the cell.
           },
-          "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
               # for simplicity of conversion to/from color representations in various
               # languages over compactness; for example, the fields of this representation
@@ -16134,7 +16135,7 @@
             "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
             "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
           },
-          "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+          "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
           "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
               # Absent values indicate that the field isn't specified.
             "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -16834,7 +16835,6 @@
           },
           "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 +16884,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.
-                  "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.
                   "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.
+                  "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -16939,7 +16939,7 @@
                     "left": 42, # The left padding of the cell.
                     "bottom": 42, # The bottom padding of the cell.
                   },
-                  "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                       # for simplicity of conversion to/from color representations in various
                       # languages over compactness; for example, the fields of this representation
@@ -17069,7 +17069,7 @@
                     "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                     "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                   },
-                  "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                  "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                   "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                       # Absent values indicate that the field isn't specified.
                     "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -18220,10 +18220,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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 +19339,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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 +19376,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -19440,9 +19440,9 @@
                     "columnIndex": 42, # The column index of the coordinate.
                     "sheetId": 42, # The sheet this coordinate is on.
                   },
-                  "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                   "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
                       # from the anchor cell.
+                  "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                   "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
                       # from the anchor cell.
                   "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
@@ -19500,10 +19500,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.
-                          "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.
                           "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.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -19557,10 +19557,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.
-                          "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.
                           "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.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -19632,10 +19632,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.
-                              "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.
                               "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.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -19710,10 +19710,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.
-                              "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.
                               "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.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -19726,8 +19726,6 @@
                         # A chart may not have more than one axis per
                         # axis position.
                       "position": "A String", # The position of this axis.
-                      "title": "A String", # The title of this axis. If set, this overrides any title inferred
-                          # from headers of the data.
                       "format": { # The format of a run of text in a cell. # The format of the title.
                           # Only valid if the axis is not associated with the domain.
                           # Absent values indicate that the field isn't specified.
@@ -19867,6 +19865,8 @@
                         "italic": True or False, # True if the text is italicized.
                         "underline": True or False, # True if the text is underlined.
                       },
+                      "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                          # from headers of the data.
                     },
                   ],
                 },
@@ -19915,10 +19915,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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 +19999,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.
-                  "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.
                   "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.
+                  "endColumnIndex": 42, # The end column (exclusive) 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,30 +20013,6 @@
                   #
                   # 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.
@@ -20072,11 +20048,35 @@
                   # 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.
+                "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.
-                "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.
               },
+              "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.
@@ -20088,7 +20088,15 @@
               # while the second one will have `startRow 14` (zero-based row 15),
               # and `startColumn 3` (zero-based column D).
             { # Data in the grid, as well as metadata about the dimensions.
-              "startRow": 42, # The first row this GridData refers to, zero-based.
+              "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
+                  # in start_row.
+                { # 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.
+                },
+              ],
               "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.
@@ -20099,15 +20107,7 @@
                       # This field is read-only.
                 },
               ],
-              "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
-                  # in start_row.
-                { # 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
@@ -20219,15 +20219,20 @@
                             # 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.
+                          "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.
-                          "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.
                         },
                         "values": [ # A list of values to include in the pivot table.
                           { # The definition of how a value in a pivot table should be calculated.
                             "formula": "A String", # A custom formula to calculate the value.  The formula must start
                                 # with an `=` character.
+                            "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                                #
+                                # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                                # means this value refers to column `C`, whereas the offset `1` would
+                                # refer to column `D`.
                             "summarizeFunction": "A String", # A function to summarize the value.
                                 # If formula is set, the only supported values are
                                 # SUM and
@@ -20236,11 +20241,6 @@
                                 # is not supported.
                             "name": "A String", # A name to use for the value. This is only used if formula was set.
                                 # Otherwise, the column name is used.
-                            "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
-                                #
-                                # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                                # means this value refers to column `C`, whereas the offset `1` would
-                                # refer to column `D`.
                           },
                         ],
                         "criteria": { # An optional mapping of filters per source column offset.
@@ -20392,7 +20392,7 @@
                           "left": 42, # The left padding of the cell.
                           "bottom": 42, # The bottom padding of the cell.
                         },
-                        "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -20522,7 +20522,7 @@
                           "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                           "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                         },
-                        "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                        "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                         "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                             # Absent values indicate that the field isn't specified.
                           "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -21241,7 +21241,7 @@
                           "left": 42, # The left padding of the cell.
                           "bottom": 42, # The bottom padding of the cell.
                         },
-                        "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                             # for simplicity of conversion to/from color representations in various
                             # languages over compactness; for example, the fields of this representation
@@ -21371,7 +21371,7 @@
                           "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                           "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                         },
-                        "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                        "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                         "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                             # Absent values indicate that the field isn't specified.
                           "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -22282,10 +22282,10 @@
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
               "columnCount": 42, # The number of columns in the grid.
-              "rowCount": 42, # The number of rows in the grid.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
               "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
               "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
-              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+              "rowCount": 42, # The number of rows in the grid.
             },
             "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
@@ -22470,10 +22470,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -22540,10 +22540,10 @@
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
               "columnCount": 42, # The number of columns in the grid.
-              "rowCount": 42, # The number of rows in the grid.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
               "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
               "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
-              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+              "rowCount": 42, # The number of rows in the grid.
             },
             "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
@@ -22693,9 +22693,9 @@
                 "columnIndex": 42, # The column index of the coordinate.
                 "sheetId": 42, # The sheet this coordinate is on.
               },
-              "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
               "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
                   # from the anchor cell.
+              "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
               "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
                   # from the anchor cell.
               "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
@@ -22717,9 +22717,9 @@
                   "columnIndex": 42, # The column index of the coordinate.
                   "sheetId": 42, # The sheet this coordinate is on.
                 },
-                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                 "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
                     # from the anchor cell.
+                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                 "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
                     # from the anchor cell.
                 "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
@@ -22777,10 +22777,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.
-                        "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.
                         "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.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -22834,10 +22834,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.
-                        "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.
                         "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.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -22909,10 +22909,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.
-                            "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.
                             "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.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -22987,10 +22987,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.
-                            "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.
                             "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.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -23003,8 +23003,6 @@
                       # A chart may not have more than one axis per
                       # axis position.
                     "position": "A String", # The position of this axis.
-                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
                     "format": { # The format of a run of text in a cell. # The format of the title.
                         # Only valid if the axis is not associated with the domain.
                         # Absent values indicate that the field isn't specified.
@@ -23144,6 +23142,8 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
                   },
                 ],
               },
@@ -23154,6 +23154,7 @@
         "updateConditionalFormatRule": { # The result of updating a conditional format rule. # A reply from updating a conditional format rule.
           "oldIndex": 42, # The old index of the rule. Not set if a rule was replaced
               # (because it is the same as new_index).
+          "newIndex": 42, # The index of the new rule.
           "oldRule": { # A rule describing a conditional format. # The old (deleted) rule. Not set if a rule was moved
               # (because it is the same as new_rule).
             "ranges": [ # The ranges that will be formatted if the condition is true.
@@ -23188,10 +23189,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -23243,7 +23244,7 @@
                   "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
                 },
-                "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -23373,7 +23374,7 @@
                   "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                 },
-                "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                 "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                     # Absent values indicate that the field isn't specified.
                   "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -24491,7 +24492,6 @@
               },
             },
           },
-          "newIndex": 42, # The index of the new rule.
           "newRule": { # A rule describing a conditional format. # The new rule that replaced the old rule (if replacing),
               # or the rule that was moved (if moved)
             "ranges": [ # The ranges that will be formatted if the condition is true.
@@ -24526,10 +24526,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -24581,7 +24581,7 @@
                   "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
                 },
-                "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -24711,7 +24711,7 @@
                   "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                 },
-                "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                 "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                     # Absent values indicate that the field isn't specified.
                   "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -25850,10 +25850,10 @@
                 # this field will be absent.)
                 # When writing it is an error to set any grid properties on non-grid sheets.
               "columnCount": 42, # The number of columns in the grid.
-              "rowCount": 42, # The number of rows in the grid.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
               "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
               "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
-              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+              "rowCount": 42, # The number of rows in the grid.
             },
             "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
             "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
@@ -26032,10 +26032,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             },
             "name": "A String", # The name of the named range.
           },
@@ -26074,10 +26074,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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,30 +26088,6 @@
                 #
                 # 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.
@@ -26147,11 +26123,35 @@
                 # 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.
+              "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.
-              "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.
             },
+            "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 +26188,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -26243,7 +26243,7 @@
                   "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
                 },
-                "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -26373,7 +26373,7 @@
                   "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                 },
-                "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                 "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                     # Absent values indicate that the field isn't specified.
                   "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -27524,10 +27524,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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 +28653,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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 +28752,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.
-        "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.
         "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.
+        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
       },
       "name": "A String", # The name of the named range.
     },
@@ -28771,6 +28771,7 @@
         # * 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.
@@ -28791,7 +28792,7 @@
         "left": 42, # The left padding of the cell.
         "bottom": 42, # The bottom padding of the cell.
       },
-      "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
           # for simplicity of conversion to/from color representations in various
           # languages over compactness; for example, the fields of this representation
@@ -28921,7 +28922,7 @@
         "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
         "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
       },
-      "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+      "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
       "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
           # Absent values indicate that the field isn't specified.
         "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -29621,7 +29622,6 @@
       },
       "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 +29671,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -29726,7 +29726,7 @@
                 "left": 42, # The left padding of the cell.
                 "bottom": 42, # The bottom padding of the cell.
               },
-              "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                   # for simplicity of conversion to/from color representations in various
                   # languages over compactness; for example, the fields of this representation
@@ -29856,7 +29856,7 @@
                 "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                 "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
               },
-              "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+              "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
               "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                   # Absent values indicate that the field isn't specified.
                 "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -31007,10 +31007,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +32126,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.
-          "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.
           "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.
+          "endColumnIndex": 42, # The end column (exclusive) 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 +32163,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.
-          "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.
           "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.
+          "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -32227,9 +32227,9 @@
                 "columnIndex": 42, # The column index of the coordinate.
                 "sheetId": 42, # The sheet this coordinate is on.
               },
-              "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
               "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
                   # from the anchor cell.
+              "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
               "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
                   # from the anchor cell.
               "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
@@ -32287,10 +32287,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.
-                      "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.
                       "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.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -32344,10 +32344,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.
-                      "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.
                       "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.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -32419,10 +32419,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.
-                          "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.
                           "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.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -32497,10 +32497,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.
-                          "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.
                           "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.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -32513,8 +32513,6 @@
                     # A chart may not have more than one axis per
                     # axis position.
                   "position": "A String", # The position of this axis.
-                  "title": "A String", # The title of this axis. If set, this overrides any title inferred
-                      # from headers of the data.
                   "format": { # The format of a run of text in a cell. # The format of the title.
                       # Only valid if the axis is not associated with the domain.
                       # Absent values indicate that the field isn't specified.
@@ -32654,6 +32652,8 @@
                     "italic": True or False, # True if the text is italicized.
                     "underline": True or False, # True if the text is underlined.
                   },
+                  "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                      # from headers of the data.
                 },
               ],
             },
@@ -32702,10 +32702,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +32786,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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,30 +32800,6 @@
               #
               # 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.
@@ -32859,11 +32835,35 @@
               # 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.
+            "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.
-            "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.
           },
+          "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.
@@ -32875,7 +32875,15 @@
           # while the second one will have `startRow 14` (zero-based row 15),
           # and `startColumn 3` (zero-based column D).
         { # Data in the grid, as well as metadata about the dimensions.
-          "startRow": 42, # The first row this GridData refers to, zero-based.
+          "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
+              # in start_row.
+            { # 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.
+            },
+          ],
           "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.
@@ -32886,15 +32894,7 @@
                   # This field is read-only.
             },
           ],
-          "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
-              # in start_row.
-            { # 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
@@ -33006,15 +33006,20 @@
                         # 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.
+                      "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.
-                      "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.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
                         "formula": "A String", # A custom formula to calculate the value.  The formula must start
                             # with an `=` character.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                            #
+                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                            # means this value refers to column `C`, whereas the offset `1` would
+                            # refer to column `D`.
                         "summarizeFunction": "A String", # A function to summarize the value.
                             # If formula is set, the only supported values are
                             # SUM and
@@ -33023,11 +33028,6 @@
                             # is not supported.
                         "name": "A String", # A name to use for the value. This is only used if formula was set.
                             # Otherwise, the column name is used.
-                        "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
-                            #
-                            # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                            # means this value refers to column `C`, whereas the offset `1` would
-                            # refer to column `D`.
                       },
                     ],
                     "criteria": { # An optional mapping of filters per source column offset.
@@ -33179,7 +33179,7 @@
                       "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
                     },
-                    "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -33309,7 +33309,7 @@
                       "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                       "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     },
-                    "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                     "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                         # Absent values indicate that the field isn't specified.
                       "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -34028,7 +34028,7 @@
                       "left": 42, # The left padding of the cell.
                       "bottom": 42, # The bottom padding of the cell.
                     },
-                    "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                         # for simplicity of conversion to/from color representations in various
                         # languages over compactness; for example, the fields of this representation
@@ -34158,7 +34158,7 @@
                       "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                       "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                     },
-                    "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                     "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                         # Absent values indicate that the field isn't specified.
                       "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -35069,10 +35069,10 @@
             # this field will be absent.)
             # When writing it is an error to set any grid properties on non-grid sheets.
           "columnCount": 42, # The number of columns in the grid.
-          "rowCount": 42, # The number of rows in the grid.
+          "frozenRowCount": 42, # The number of rows that are frozen in the grid.
           "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
           "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
-          "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+          "rowCount": 42, # The number of rows in the grid.
         },
         "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
         "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
@@ -35258,10 +35258,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.
-          "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.
           "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.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
         },
         "name": "A String", # The name of the named range.
       },
@@ -35277,6 +35277,7 @@
           # * 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.
@@ -35297,7 +35298,7 @@
           "left": 42, # The left padding of the cell.
           "bottom": 42, # The bottom padding of the cell.
         },
-        "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
             # for simplicity of conversion to/from color representations in various
             # languages over compactness; for example, the fields of this representation
@@ -35427,7 +35428,7 @@
           "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
           "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
         },
-        "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+        "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
         "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
             # Absent values indicate that the field isn't specified.
           "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -36127,7 +36128,6 @@
         },
         "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 +36177,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -36232,7 +36232,7 @@
                   "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
                 },
-                "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -36362,7 +36362,7 @@
                   "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                 },
-                "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                 "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                     # Absent values indicate that the field isn't specified.
                   "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -37513,10 +37513,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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 +38632,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +38669,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -38733,9 +38733,9 @@
                   "columnIndex": 42, # The column index of the coordinate.
                   "sheetId": 42, # The sheet this coordinate is on.
                 },
-                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                 "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
                     # from the anchor cell.
+                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                 "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
                     # from the anchor cell.
                 "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
@@ -38793,10 +38793,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.
-                        "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.
                         "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.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -38850,10 +38850,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.
-                        "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.
                         "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.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -38925,10 +38925,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.
-                            "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.
                             "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.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -39003,10 +39003,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.
-                            "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.
                             "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.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -39019,8 +39019,6 @@
                       # A chart may not have more than one axis per
                       # axis position.
                     "position": "A String", # The position of this axis.
-                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
                     "format": { # The format of a run of text in a cell. # The format of the title.
                         # Only valid if the axis is not associated with the domain.
                         # Absent values indicate that the field isn't specified.
@@ -39160,6 +39158,8 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
                   },
                 ],
               },
@@ -39208,10 +39208,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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 +39292,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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,30 +39306,6 @@
                 #
                 # 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.
@@ -39365,11 +39341,35 @@
                 # 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.
+              "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.
-              "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.
             },
+            "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.
@@ -39381,7 +39381,15 @@
             # while the second one will have `startRow 14` (zero-based row 15),
             # and `startColumn 3` (zero-based column D).
           { # Data in the grid, as well as metadata about the dimensions.
-            "startRow": 42, # The first row this GridData refers to, zero-based.
+            "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
+                # in start_row.
+              { # 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.
+              },
+            ],
             "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.
@@ -39392,15 +39400,7 @@
                     # This field is read-only.
               },
             ],
-            "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
-                # in start_row.
-              { # 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
@@ -39512,15 +39512,20 @@
                           # 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.
+                        "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.
-                        "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.
                       },
                       "values": [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
                           "formula": "A String", # A custom formula to calculate the value.  The formula must start
                               # with an `=` character.
+                          "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                              #
+                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                              # means this value refers to column `C`, whereas the offset `1` would
+                              # refer to column `D`.
                           "summarizeFunction": "A String", # A function to summarize the value.
                               # If formula is set, the only supported values are
                               # SUM and
@@ -39529,11 +39534,6 @@
                               # is not supported.
                           "name": "A String", # A name to use for the value. This is only used if formula was set.
                               # Otherwise, the column name is used.
-                          "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
-                              #
-                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                              # means this value refers to column `C`, whereas the offset `1` would
-                              # refer to column `D`.
                         },
                       ],
                       "criteria": { # An optional mapping of filters per source column offset.
@@ -39685,7 +39685,7 @@
                         "left": 42, # The left padding of the cell.
                         "bottom": 42, # The bottom padding of the cell.
                       },
-                      "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -39815,7 +39815,7 @@
                         "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                         "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                       },
-                      "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                      "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                       "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                           # Absent values indicate that the field isn't specified.
                         "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -40534,7 +40534,7 @@
                         "left": 42, # The left padding of the cell.
                         "bottom": 42, # The bottom padding of the cell.
                       },
-                      "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -40664,7 +40664,7 @@
                         "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                         "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                       },
-                      "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                      "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                       "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                           # Absent values indicate that the field isn't specified.
                         "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -41575,10 +41575,10 @@
               # this field will be absent.)
               # When writing it is an error to set any grid properties on non-grid sheets.
             "columnCount": 42, # The number of columns in the grid.
-            "rowCount": 42, # The number of rows in the grid.
+            "frozenRowCount": 42, # The number of rows that are frozen in the grid.
             "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
             "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
-            "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+            "rowCount": 42, # The number of rows in the grid.
           },
           "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
           "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
@@ -41794,10 +41794,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.
-          "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.
           "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.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
         },
         "name": "A String", # The name of the named range.
       },
@@ -41813,6 +41813,7 @@
           # * 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.
@@ -41833,7 +41834,7 @@
           "left": 42, # The left padding of the cell.
           "bottom": 42, # The bottom padding of the cell.
         },
-        "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
             # for simplicity of conversion to/from color representations in various
             # languages over compactness; for example, the fields of this representation
@@ -41963,7 +41964,7 @@
           "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
           "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
         },
-        "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+        "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
         "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
             # Absent values indicate that the field isn't specified.
           "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -42663,7 +42664,6 @@
         },
         "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 +42713,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -42768,7 +42768,7 @@
                   "left": 42, # The left padding of the cell.
                   "bottom": 42, # The bottom padding of the cell.
                 },
-                "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                     # for simplicity of conversion to/from color representations in various
                     # languages over compactness; for example, the fields of this representation
@@ -42898,7 +42898,7 @@
                   "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                   "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                 },
-                "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                 "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                     # Absent values indicate that the field isn't specified.
                   "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -44049,10 +44049,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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 +45168,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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 +45205,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.
-            "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.
             "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.
+            "endColumnIndex": 42, # The end column (exclusive) 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.
@@ -45269,9 +45269,9 @@
                   "columnIndex": 42, # The column index of the coordinate.
                   "sheetId": 42, # The sheet this coordinate is on.
                 },
-                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                 "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
                     # from the anchor cell.
+                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
                 "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
                     # from the anchor cell.
                 "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
@@ -45329,10 +45329,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.
-                        "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.
                         "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.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -45386,10 +45386,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.
-                        "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.
                         "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.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -45461,10 +45461,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.
-                            "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.
                             "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.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -45539,10 +45539,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.
-                            "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.
                             "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.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -45555,8 +45555,6 @@
                       # A chart may not have more than one axis per
                       # axis position.
                     "position": "A String", # The position of this axis.
-                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
-                        # from headers of the data.
                     "format": { # The format of a run of text in a cell. # The format of the title.
                         # Only valid if the axis is not associated with the domain.
                         # Absent values indicate that the field isn't specified.
@@ -45696,6 +45694,8 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
                   },
                 ],
               },
@@ -45744,10 +45744,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.
-              "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.
               "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.
+              "endColumnIndex": 42, # The end column (exclusive) 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 +45828,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.
-                "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.
                 "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.
+                "endColumnIndex": 42, # The end column (exclusive) 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,30 +45842,6 @@
                 #
                 # 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.
@@ -45901,11 +45877,35 @@
                 # 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.
+              "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.
-              "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.
             },
+            "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.
@@ -45917,7 +45917,15 @@
             # while the second one will have `startRow 14` (zero-based row 15),
             # and `startColumn 3` (zero-based column D).
           { # Data in the grid, as well as metadata about the dimensions.
-            "startRow": 42, # The first row this GridData refers to, zero-based.
+            "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
+                # in start_row.
+              { # 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.
+              },
+            ],
             "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.
@@ -45928,15 +45936,7 @@
                     # This field is read-only.
               },
             ],
-            "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
-                # in start_row.
-              { # 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
@@ -46048,15 +46048,20 @@
                           # 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.
+                        "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.
-                        "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.
                       },
                       "values": [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
                           "formula": "A String", # A custom formula to calculate the value.  The formula must start
                               # with an `=` character.
+                          "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                              #
+                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
+                              # means this value refers to column `C`, whereas the offset `1` would
+                              # refer to column `D`.
                           "summarizeFunction": "A String", # A function to summarize the value.
                               # If formula is set, the only supported values are
                               # SUM and
@@ -46065,11 +46070,6 @@
                               # is not supported.
                           "name": "A String", # A name to use for the value. This is only used if formula was set.
                               # Otherwise, the column name is used.
-                          "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
-                              #
-                              # For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0`
-                              # means this value refers to column `C`, whereas the offset `1` would
-                              # refer to column `D`.
                         },
                       ],
                       "criteria": { # An optional mapping of filters per source column offset.
@@ -46221,7 +46221,7 @@
                         "left": 42, # The left padding of the cell.
                         "bottom": 42, # The bottom padding of the cell.
                       },
-                      "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -46351,7 +46351,7 @@
                         "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                         "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                       },
-                      "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                      "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                       "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                           # Absent values indicate that the field isn't specified.
                         "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -47070,7 +47070,7 @@
                         "left": 42, # The left padding of the cell.
                         "bottom": 42, # The bottom padding of the cell.
                       },
-                      "horizontalAlignment": "A String", # The horizontal alignment of the value in 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.
                           # for simplicity of conversion to/from color representations in various
                           # languages over compactness; for example, the fields of this representation
@@ -47200,7 +47200,7 @@
                         "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
                         "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
                       },
-                      "verticalAlignment": "A String", # The vertical alignment of the value in the cell.
+                      "horizontalAlignment": "A String", # The horizontal alignment of the value in the cell.
                       "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
                           # Absent values indicate that the field isn't specified.
                         "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
@@ -48111,10 +48111,10 @@
               # this field will be absent.)
               # When writing it is an error to set any grid properties on non-grid sheets.
             "columnCount": 42, # The number of columns in the grid.
-            "rowCount": 42, # The number of rows in the grid.
+            "frozenRowCount": 42, # The number of rows that are frozen in the grid.
             "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
             "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
-            "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+            "rowCount": 42, # The number of rows in the grid.
           },
           "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
           "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.