Regen docs (#364)

diff --git a/docs/dyn/sheets_v4.spreadsheets.html b/docs/dyn/sheets_v4.spreadsheets.html
index 0562d26..b38c17f 100644
--- a/docs/dyn/sheets_v4.spreadsheets.html
+++ b/docs/dyn/sheets_v4.spreadsheets.html
@@ -167,10 +167,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sortSpecs": [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -215,12 +215,102 @@
               # A single `"*"` can be used as short-hand for listing every field.
           "objectId": 42, # The ID of the object to moved.
         },
+        "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.
+                },
+              },
+            },
+          },
+        },
         "updateConditionalFormatRule": { # Updates a conditional format rule at the given index, # Updates an existing conditional format rule.
             # or moves a conditional format rule to another index.
           "index": 42, # The zero-based index of the rule that should be replaced or moved.
-          "newIndex": 42, # The zero-based new index the rule should end up at.
-          "sheetId": 42, # The sheet of the rule to move.  Required if new_index is set,
-              # unused otherwise.
           "rule": { # A rule describing a conditional format. # The rule that should replace the rule at the given index.
             "ranges": [ # The ranges that will be formatted if the condition is true.
                 # All the ranges must be on the same grid.
@@ -254,10 +344,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -265,7 +355,6 @@
                   # the format will be applied.
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -286,6 +375,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
               "format": { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
@@ -296,7 +386,7 @@
                 "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                   "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user's locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                       # information about the supported patterns.
                   "type": "A String", # The type of the number format.
                       # When writing, this field must be set.
@@ -306,8 +396,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "bottom": 42, # The bottom padding of the cell.
                   "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.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -578,6 +668,7 @@
                   "italic": True or False, # True if the text is italicized.
                   "underline": True or False, # True if the text is underlined.
                 },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                 "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                 "borders": { # The borders of the cell. # The borders of the cell.
                   "top": { # A border along a cell. # The top border of the cell.
@@ -1117,7 +1208,26 @@
                     "style": "A String", # The style of the border.
                   },
                 },
-                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  "angle": 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the counterclockwise
+                      # direction, whereas for RTL they are in the clockwise direction
+                  "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
               },
             },
             "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -1537,6 +1647,9 @@
               },
             },
           },
+          "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.
         },
         "updateProtectedRange": { # Updates an existing protected range with the specified # Updates a protected range.
             # protectedRangeId.
@@ -1576,10 +1689,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -1649,10 +1762,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           },
         },
@@ -1705,10 +1818,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -1778,10 +1891,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           },
         },
@@ -1914,10 +2027,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
@@ -1929,13 +2042,13 @@
                             # CUSTOM.
                             # If sourceColumnOffset is set, then `CUSTOM`
                             # 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`.
-                        "name": "A String", # A name to use for the value. This is only used if formula was set.
-                            # Otherwise, the column name is used.
                       },
                     ],
                     "criteria": { # An optional mapping of filters per source column offset.
@@ -2074,7 +2187,7 @@
                     "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                       "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user's locale will be used if necessary for the given type.
-                          # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                          # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                           # information about the supported patterns.
                       "type": "A String", # The type of the number format.
                           # When writing, this field must be set.
@@ -2084,8 +2197,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "bottom": 42, # The bottom padding of the cell.
                       "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.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -2356,6 +2469,7 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                     "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                     "borders": { # The borders of the cell. # The borders of the cell.
                       "top": { # A border along a cell. # The top border of the cell.
@@ -2895,7 +3009,26 @@
                         "style": "A String", # The style of the border.
                       },
                     },
-                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                    "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      "angle": 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
+                          #
+                          # Note: For LTR text direction positive angles are in the counterclockwise
+                          # direction, whereas for RTL they are in the clockwise direction
+                      "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
+                          #
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
+                    },
                   },
                   "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
                       #
@@ -2903,7 +3036,7 @@
                     "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                       "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user's locale will be used if necessary for the given type.
-                          # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                          # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                           # information about the supported patterns.
                       "type": "A String", # The type of the number format.
                           # When writing, this field must be set.
@@ -2913,8 +3046,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "bottom": 42, # The bottom padding of the cell.
                       "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.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -3185,6 +3318,7 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                     "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                     "borders": { # The borders of the cell. # The borders of the cell.
                       "top": { # A border along a cell. # The top border of the cell.
@@ -3724,7 +3858,26 @@
                         "style": "A String", # The style of the border.
                       },
                     },
-                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                    "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      "angle": 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
+                          #
+                          # Note: For LTR text direction positive angles are in the counterclockwise
+                          # direction, whereas for RTL they are in the clockwise direction
+                      "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
+                          #
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
+                    },
                   },
                   "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
                       #
@@ -3736,7 +3889,6 @@
                     "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                         # BooleanConditions are used by conditional formatting,
                         # data validation, and the criteria in filters.
-                      "type": "A String", # The type of condition.
                       "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,
@@ -3757,6 +3909,7 @@
                               # Formulas are supported (and must begin with an `=`).
                         },
                       ],
+                      "type": "A String", # The type of condition.
                     },
                   },
                   "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
@@ -3919,10 +4072,10 @@
           "sheetId": 42, # The sheet ID to append the data to.
         },
         "duplicateSheet": { # Duplicates the contents of a sheet. # Duplicates a sheet.
-          "sourceSheetId": 42, # The sheet to duplicate.
+          "newSheetName": "A String", # The name of the new sheet.  If empty, a new name is chosen for you.
           "insertSheetIndex": 42, # The zero-based index where the new sheet should be inserted.
               # The index of all sheets after this are incremented.
-          "newSheetName": "A String", # The name of the new sheet.  If empty, a new name is chosen for you.
+          "sourceSheetId": 42, # The sheet to duplicate.
           "newSheetId": 42, # If set, the ID of the new sheet. If not set, an ID is chosen.
               # If set, the ID must not conflict with any existing sheet ID.
               # If set, it must be non-negative.
@@ -4169,10 +4322,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -4226,10 +4379,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -4301,10 +4454,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -4379,10 +4532,10 @@
                               # Empty ranges are typically not meaningful and are usually rendered in the
                               # UI as `#REF!`.
                             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -4579,10 +4732,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -4590,7 +4743,6 @@
                   # the format will be applied.
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -4611,6 +4763,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
               "format": { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
@@ -4621,7 +4774,7 @@
                 "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                   "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user's locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                       # information about the supported patterns.
                   "type": "A String", # The type of the number format.
                       # When writing, this field must be set.
@@ -4631,8 +4784,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "bottom": 42, # The bottom padding of the cell.
                   "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.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -4903,6 +5056,7 @@
                   "italic": True or False, # True if the text is italicized.
                   "underline": True or False, # True if the text is underlined.
                 },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                 "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                 "borders": { # The borders of the cell. # The borders of the cell.
                   "top": { # A border along a cell. # The top border of the cell.
@@ -5442,7 +5596,26 @@
                     "style": "A String", # The style of the border.
                   },
                 },
-                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  "angle": 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the counterclockwise
+                      # direction, whereas for RTL they are in the clockwise direction
+                  "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
               },
             },
             "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -5984,10 +6157,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
               "values": [ # A list of values to include in the pivot table.
                 { # The definition of how a value in a pivot table should be calculated.
@@ -5999,13 +6172,13 @@
                       # CUSTOM.
                       # If sourceColumnOffset is set, then `CUSTOM`
                       # 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`.
-                  "name": "A String", # A name to use for the value. This is only used if formula was set.
-                      # Otherwise, the column name is used.
                 },
               ],
               "criteria": { # An optional mapping of filters per source column offset.
@@ -6144,7 +6317,7 @@
               "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                 "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                     # the user's locale will be used if necessary for the given type.
-                    # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                    # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                     # information about the supported patterns.
                 "type": "A String", # The type of the number format.
                     # When writing, this field must be set.
@@ -6154,8 +6327,8 @@
                   # When updating padding, every field must be specified.
                 "top": 42, # The top padding of the cell.
                 "right": 42, # The right padding of the cell.
-                "bottom": 42, # The bottom padding of the cell.
                 "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.
               "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -6426,6 +6599,7 @@
                 "italic": True or False, # True if the text is italicized.
                 "underline": True or False, # True if the text is underlined.
               },
+              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
               "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
               "borders": { # The borders of the cell. # The borders of the cell.
                 "top": { # A border along a cell. # The top border of the cell.
@@ -6965,7 +7139,26 @@
                   "style": "A String", # The style of the border.
                 },
               },
-              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                "angle": 42, # The angle between the standard orientation and the desired orientation.
+                    # Measured in degrees. Valid values are between -90 and 90. Positive
+                    # angles are angled upwards, negative are angled downwards.
+                    #
+                    # Note: For LTR text direction positive angles are in the counterclockwise
+                    # direction, whereas for RTL they are in the clockwise direction
+                "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                    # characters is unchanged.
+                    # For example:
+                    #
+                    #     | V |
+                    #     | e |
+                    #     | r |
+                    #     | t |
+                    #     | i |
+                    #     | c |
+                    #     | a |
+                    #     | l |
+              },
             },
             "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
                 #
@@ -6973,7 +7166,7 @@
               "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                 "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                     # the user's locale will be used if necessary for the given type.
-                    # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                    # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                     # information about the supported patterns.
                 "type": "A String", # The type of the number format.
                     # When writing, this field must be set.
@@ -6983,8 +7176,8 @@
                   # When updating padding, every field must be specified.
                 "top": 42, # The top padding of the cell.
                 "right": 42, # The right padding of the cell.
-                "bottom": 42, # The bottom padding of the cell.
                 "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.
               "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -7255,6 +7448,7 @@
                 "italic": True or False, # True if the text is italicized.
                 "underline": True or False, # True if the text is underlined.
               },
+              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
               "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
               "borders": { # The borders of the cell. # The borders of the cell.
                 "top": { # A border along a cell. # The top border of the cell.
@@ -7794,7 +7988,26 @@
                   "style": "A String", # The style of the border.
                 },
               },
-              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                "angle": 42, # The angle between the standard orientation and the desired orientation.
+                    # Measured in degrees. Valid values are between -90 and 90. Positive
+                    # angles are angled upwards, negative are angled downwards.
+                    #
+                    # Note: For LTR text direction positive angles are in the counterclockwise
+                    # direction, whereas for RTL they are in the clockwise direction
+                "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                    # characters is unchanged.
+                    # For example:
+                    #
+                    #     | V |
+                    #     | e |
+                    #     | r |
+                    #     | t |
+                    #     | i |
+                    #     | c |
+                    #     | a |
+                    #     | l |
+              },
             },
             "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
                 #
@@ -7806,7 +8019,6 @@
               "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -7827,6 +8039,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
             },
             "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
@@ -8016,10 +8229,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         },
         "findReplace": { # Finds and replaces data in cells over a range, sheet, or all sheets. # Finds and replaces occurrences of some text with other text.
@@ -8028,7 +8241,7 @@
           "matchEntireCell": True or False, # True if the find value should match the entire cell.
           "allSheets": True or False, # True to find/replace over all sheets.
           "matchCase": True or False, # True if the search is case sensitive.
-          "sheetId": 42, # The sheet to find/replace over.
+          "find": "A String", # The value to search.
           "range": { # A range on a sheet. # The range to find/replace over.
               # All indexes are zero-based.
               # Indexes are half open, e.g the start index is inclusive
@@ -8059,10 +8272,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "searchByRegex": True or False, # True if the find value is a regex.
               # The regular expression and replacement should follow Java regex rules
@@ -8072,7 +8285,7 @@
               # has `"Google Docs"`, then searching for `"o.* (.*)"` with a replacement of
               # `"$1 Rocks"` would change the contents of the cells to
               # `"GSheets Rocks"` and `"GDocs Rocks"` respectively.
-          "find": "A String", # The value to search.
+          "sheetId": 42, # The sheet to find/replace over.
           "replacement": "A String", # The value to use as the replacement.
         },
         "setBasicFilter": { # Sets the basic filter associated with a sheet. # Sets the basic filter on a sheet.
@@ -8107,10 +8320,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -8131,7 +8344,6 @@
                     #  it will still be hidden.)
                     # BooleanConditions are used by conditional formatting,
                     # data validation, and the criteria in filters.
-                  "type": "A String", # The type of condition.
                   "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,
@@ -8152,6 +8364,7 @@
                           # Formulas are supported (and must begin with an `=`).
                     },
                   ],
+                  "type": "A String", # The type of condition.
                 },
               },
             },
@@ -8162,6 +8375,7 @@
               # The root 'properties' is implied and should not be specified.
               # A single `"*"` can be used as short-hand for listing every field.
           "properties": { # Properties of a spreadsheet. # The properties to update.
+            "title": "A String", # The title of the spreadsheet.
             "locale": "A String", # The locale of the spreadsheet in one of the following formats:
                 #
                 # * an ISO 639-1 language code such as `en`
@@ -8171,9 +8385,6 @@
                 # * a combination of the ISO language code and country code, such as `en_US`
                 #
                 # Note: when updating this field, not all locales/languages are supported.
-            "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
-                # `America/New_York`. If the time zone isn't recognized, this may
-                # be a custom time zone such as `GMT-07:00`.
             "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
@@ -8182,7 +8393,7 @@
               "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                 "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                     # the user's locale will be used if necessary for the given type.
-                    # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                    # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                     # information about the supported patterns.
                 "type": "A String", # The type of the number format.
                     # When writing, this field must be set.
@@ -8192,8 +8403,8 @@
                   # When updating padding, every field must be specified.
                 "top": 42, # The top padding of the cell.
                 "right": 42, # The right padding of the cell.
-                "bottom": 42, # The bottom padding of the cell.
                 "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.
               "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -8464,6 +8675,7 @@
                 "italic": True or False, # True if the text is italicized.
                 "underline": True or False, # True if the text is underlined.
               },
+              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
               "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
               "borders": { # The borders of the cell. # The borders of the cell.
                 "top": { # A border along a cell. # The top border of the cell.
@@ -9003,16 +9215,50 @@
                   "style": "A String", # The style of the border.
                 },
               },
-              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                "angle": 42, # The angle between the standard orientation and the desired orientation.
+                    # Measured in degrees. Valid values are between -90 and 90. Positive
+                    # angles are angled upwards, negative are angled downwards.
+                    #
+                    # Note: For LTR text direction positive angles are in the counterclockwise
+                    # direction, whereas for RTL they are in the clockwise direction
+                "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                    # characters is unchanged.
+                    # For example:
+                    #
+                    #     | V |
+                    #     | e |
+                    #     | r |
+                    #     | t |
+                    #     | i |
+                    #     | c |
+                    #     | a |
+                    #     | l |
+              },
             },
-            "title": "A String", # The title of the spreadsheet.
+            "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.
+                # calculation.
+              "convergenceThreshold": 3.14, # When iterative calculation is enabled and successive results differ by
+                  # less than this threshold value, the calculation rounds stop.
+              "maxIterations": 42, # When iterative calculation is enabled, the maximum number of calculation
+                  # rounds to perform.
+            },
+            "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+                # `America/New_York`. If the time zone isn't recognized, this may
+                # be a custom time zone such as `GMT-07:00`.
           },
         },
         "updateCells": { # Updates all cells in a range with new data. # Updates many cells at once.
-          "fields": "A String", # The fields of CellData that should be updated.
-              # At least one field must be specified.
-              # The root is the CellData; 'row.values.' should not be specified.
-              # A single `"*"` can be used as short-hand for listing every field.
+          "start": { # A coordinate in a sheet. # The coordinate to start writing data at.
+              # Any number of rows and columns (including a different number of
+              # columns per row) may be written.
+              # All indexes are zero-based.
+            "rowIndex": 42, # The row index of the coordinate.
+            "columnIndex": 42, # The column index of the coordinate.
+            "sheetId": 42, # The sheet this coordinate is on.
+          },
           "range": { # A range on a sheet. # The range to write data to.
               #
               # If the data in rows does not cover the entire requested range,
@@ -9046,10 +9292,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "rows": [ # The data to write.
             { # Data about each cell in a row.
@@ -9159,10 +9405,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
@@ -9174,13 +9420,13 @@
                             # CUSTOM.
                             # If sourceColumnOffset is set, then `CUSTOM`
                             # 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`.
-                        "name": "A String", # A name to use for the value. This is only used if formula was set.
-                            # Otherwise, the column name is used.
                       },
                     ],
                     "criteria": { # An optional mapping of filters per source column offset.
@@ -9319,7 +9565,7 @@
                     "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                       "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user's locale will be used if necessary for the given type.
-                          # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                          # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                           # information about the supported patterns.
                       "type": "A String", # The type of the number format.
                           # When writing, this field must be set.
@@ -9329,8 +9575,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "bottom": 42, # The bottom padding of the cell.
                       "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.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -9601,6 +9847,7 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                     "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                     "borders": { # The borders of the cell. # The borders of the cell.
                       "top": { # A border along a cell. # The top border of the cell.
@@ -10140,7 +10387,26 @@
                         "style": "A String", # The style of the border.
                       },
                     },
-                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                    "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      "angle": 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
+                          #
+                          # Note: For LTR text direction positive angles are in the counterclockwise
+                          # direction, whereas for RTL they are in the clockwise direction
+                      "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
+                          #
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
+                    },
                   },
                   "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
                       #
@@ -10148,7 +10414,7 @@
                     "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                       "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user's locale will be used if necessary for the given type.
-                          # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                          # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                           # information about the supported patterns.
                       "type": "A String", # The type of the number format.
                           # When writing, this field must be set.
@@ -10158,8 +10424,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "bottom": 42, # The bottom padding of the cell.
                       "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.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -10430,6 +10696,7 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                     "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                     "borders": { # The borders of the cell. # The borders of the cell.
                       "top": { # A border along a cell. # The top border of the cell.
@@ -10969,7 +11236,26 @@
                         "style": "A String", # The style of the border.
                       },
                     },
-                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                    "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      "angle": 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
+                          #
+                          # Note: For LTR text direction positive angles are in the counterclockwise
+                          # direction, whereas for RTL they are in the clockwise direction
+                      "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
+                          #
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
+                    },
                   },
                   "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
                       #
@@ -10981,7 +11267,6 @@
                     "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                         # BooleanConditions are used by conditional formatting,
                         # data validation, and the criteria in filters.
-                      "type": "A String", # The type of condition.
                       "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,
@@ -11002,6 +11287,7 @@
                               # Formulas are supported (and must begin with an `=`).
                         },
                       ],
+                      "type": "A String", # The type of condition.
                     },
                   },
                   "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
@@ -11161,14 +11447,10 @@
               ],
             },
           ],
-          "start": { # A coordinate in a sheet. # The coordinate to start writing data at.
-              # Any number of rows and columns (including a different number of
-              # columns per row) may be written.
-              # All indexes are zero-based.
-            "rowIndex": 42, # The row index of the coordinate.
-            "columnIndex": 42, # The column index of the coordinate.
-            "sheetId": 42, # The sheet this coordinate is on.
-          },
+          "fields": "A String", # The fields of CellData that should be updated.
+              # At least one field must be specified.
+              # The root is the CellData; 'row.values.' should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
         },
         "autoFill": { # Fills in more data based on existing data. # Automatically fills in more data based on existing data.
           "useAlternateSeries": True or False, # True if we should generate data with the "alternate" series.
@@ -11205,14 +11487,19 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sourceAndDestination": { # A combination of a source range and how to extend that source. # The source and destination areas to autofill.
               # This explicitly lists the source of the autofill and where to
               # extend that data.
+            "fillLength": 42, # The number of rows or columns that data should be filled into.
+                # Positive numbers expand beyond the last row or last column
+                # of the source.  Negative numbers expand before the first row
+                # or first column of the source.
+            "dimension": "A String", # The dimension that data should be filled into.
             "source": { # A range on a sheet. # The location of the data to use as the source of the autofill.
                 # All indexes are zero-based.
                 # Indexes are half open, e.g the start index is inclusive
@@ -11243,16 +11530,11 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
-            "dimension": "A String", # The dimension that data should be filled into.
-            "fillLength": 42, # The number of rows or columns that data should be filled into.
-                # Positive numbers expand beyond the last row or last column
-                # of the source.  Negative numbers expand before the first row
-                # or first column of the source.
           },
         },
         "appendDimension": { # Appends rows or columns to the end of a sheet. # Appends dimensions to the end of a sheet.
@@ -11295,10 +11577,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -12452,10 +12734,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         },
         "setDataValidation": { # Sets a data validation rule to every cell in the range. # Sets data validation for one or more cells.
@@ -12490,10 +12772,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "rule": { # A data validation rule. # The data validation rule to set on each cell in the range,
               # or empty to clear the data validation in the range.
@@ -12504,7 +12786,6 @@
             "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                 # BooleanConditions are used by conditional formatting,
                 # data validation, and the criteria in filters.
-              "type": "A String", # The type of condition.
               "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,
@@ -12525,9 +12806,51 @@
                       # Formulas are supported (and must begin with an `=`).
                 },
               ],
+              "type": "A String", # The type of condition.
             },
           },
         },
+        "deleteRange": { # Deletes a range of cells, shifting other cells into the deleted area. # Deletes a range of cells from a sheet, shifting the remaining cells.
+          "range": { # A range on a sheet. # The range of cells to delete.
+              # 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.
+          },
+          "shiftDimension": "A String", # The dimension from which deleted cells will be replaced with.
+              # If ROWS, existing cells will be shifted upward to
+              # replace the deleted cells. If COLUMNS, existing cells
+              # will be shifted left to replace the deleted cells.
+        },
         "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.
         },
@@ -12566,10 +12889,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "name": "A String", # The name of the named range.
           },
@@ -12630,10 +12953,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -12687,10 +13010,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -12762,10 +13085,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -12840,10 +13163,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -13059,10 +13382,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "delimiter": "A String", # The delimiter to use. Used only if delimiterType is
               # CUSTOM.
@@ -13102,10 +13425,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -14224,108 +14547,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.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "mergeType": "A String", # How the cells should be merged.
         },
         "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.
-              "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.
-                  "type": "A String", # The type of condition.
-                  "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 `=`).
-                    },
-                  ],
-                },
-              },
-            },
+        "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.
           },
+          "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.
@@ -14907,10 +15177,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "innerVertical": { # A border along a cell. # The vertical border to put within the range.
             "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
@@ -15214,10 +15484,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "destination": { # A coordinate in a sheet. # The top-left coordinate where the data should be pasted.
               # All indexes are zero-based.
@@ -15258,10 +15528,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "destination": { # A range on a sheet. # The location to paste to. If the range covers a span that's
               # a multiple of the source's height or width, then the
@@ -15297,10 +15567,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "pasteOrientation": "A String", # How that data should be oriented when pasting.
         },
@@ -15513,10 +15783,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "name": "A String", # The name of the named range.
           },
@@ -15586,10 +15856,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -15610,7 +15880,6 @@
                     #  it will still be hidden.)
                     # BooleanConditions are used by conditional formatting,
                     # data validation, and the criteria in filters.
-                  "type": "A String", # The type of condition.
                   "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,
@@ -15631,6 +15900,7 @@
                           # Formulas are supported (and must begin with an `=`).
                     },
                   ],
+                  "type": "A String", # The type of condition.
                 },
               },
             },
@@ -15695,15 +15965,16 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "name": "A String", # The name of the named range.
         },
       ],
       "properties": { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
+        "title": "A String", # The title of the spreadsheet.
         "locale": "A String", # The locale of the spreadsheet in one of the following formats:
             #
             # * an ISO 639-1 language code such as `en`
@@ -15713,9 +15984,6 @@
             # * a combination of the ISO language code and country code, such as `en_US`
             #
             # Note: when updating this field, not all locales/languages are supported.
-        "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
-            # `America/New_York`. If the time zone isn't recognized, this may
-            # be a custom time zone such as `GMT-07:00`.
         "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
@@ -15724,7 +15992,7 @@
           "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
             "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                 # the user's locale will be used if necessary for the given type.
-                # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                 # information about the supported patterns.
             "type": "A String", # The type of the number format.
                 # When writing, this field must be set.
@@ -15734,8 +16002,8 @@
               # When updating padding, every field must be specified.
             "top": 42, # The top padding of the cell.
             "right": 42, # The right padding of the cell.
-            "bottom": 42, # The bottom padding of the cell.
             "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.
           "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -16006,6 +16274,7 @@
             "italic": True or False, # True if the text is italicized.
             "underline": True or False, # True if the text is underlined.
           },
+          "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
           "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
           "borders": { # The borders of the cell. # The borders of the cell.
             "top": { # A border along a cell. # The top border of the cell.
@@ -16545,9 +16814,39 @@
               "style": "A String", # The style of the border.
             },
           },
-          "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+          "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+            "angle": 42, # The angle between the standard orientation and the desired orientation.
+                # Measured in degrees. Valid values are between -90 and 90. Positive
+                # angles are angled upwards, negative are angled downwards.
+                #
+                # Note: For LTR text direction positive angles are in the counterclockwise
+                # direction, whereas for RTL they are in the clockwise direction
+            "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                # characters is unchanged.
+                # For example:
+                #
+                #     | V |
+                #     | e |
+                #     | r |
+                #     | t |
+                #     | i |
+                #     | c |
+                #     | a |
+                #     | l |
+          },
         },
-        "title": "A String", # The title of the spreadsheet.
+        "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.
+            # calculation.
+          "convergenceThreshold": 3.14, # When iterative calculation is enabled and successive results differ by
+              # less than this threshold value, the calculation rounds stop.
+          "maxIterations": 42, # When iterative calculation is enabled, the maximum number of calculation
+              # rounds to perform.
+        },
+        "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+            # `America/New_York`. If the time zone isn't recognized, this may
+            # be a custom time zone such as `GMT-07:00`.
       },
       "sheets": [ # The sheets that are part of a spreadsheet.
         { # A sheet in a spreadsheet.
@@ -16585,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.
-                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                   "sheetId": 42, # The sheet this range is on.
                   "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                 },
               ],
               "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -16596,7 +16895,6 @@
                     # the format will be applied.
                     # BooleanConditions are used by conditional formatting,
                     # data validation, and the criteria in filters.
-                  "type": "A String", # The type of condition.
                   "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,
@@ -16617,6 +16915,7 @@
                           # Formulas are supported (and must begin with an `=`).
                     },
                   ],
+                  "type": "A String", # The type of condition.
                 },
                 "format": { # The format of a cell. # The format to apply.
                     # Conditional formatting can only apply a subset of formatting:
@@ -16627,7 +16926,7 @@
                   "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                     "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                         # the user's locale will be used if necessary for the given type.
-                        # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                        # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                         # information about the supported patterns.
                     "type": "A String", # The type of the number format.
                         # When writing, this field must be set.
@@ -16637,8 +16936,8 @@
                       # When updating padding, every field must be specified.
                     "top": 42, # The top padding of the cell.
                     "right": 42, # The right padding of the cell.
-                    "bottom": 42, # The bottom padding of the cell.
                     "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.
                   "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -16909,6 +17208,7 @@
                     "italic": True or False, # True if the text is italicized.
                     "underline": True or False, # True if the text is underlined.
                   },
+                  "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                   "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                   "borders": { # The borders of the cell. # The borders of the cell.
                     "top": { # A border along a cell. # The top border of the cell.
@@ -17448,7 +17748,26 @@
                       "style": "A String", # The style of the border.
                     },
                   },
-                  "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                  "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                    "angle": 42, # The angle between the standard orientation and the desired orientation.
+                        # Measured in degrees. Valid values are between -90 and 90. Positive
+                        # angles are angled upwards, negative are angled downwards.
+                        #
+                        # Note: For LTR text direction positive angles are in the counterclockwise
+                        # direction, whereas for RTL they are in the clockwise direction
+                    "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                        # characters is unchanged.
+                        # For example:
+                        #
+                        #     | V |
+                        #     | e |
+                        #     | r |
+                        #     | t |
+                        #     | i |
+                        #     | c |
+                        #     | a |
+                        #     | l |
+                  },
                 },
               },
               "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -17901,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
               "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                   # by-column basis throughout all the columns in the range. At least one of
@@ -19020,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           ],
           "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -19057,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -19081,7 +19400,6 @@
                     #  it will still be hidden.)
                     # BooleanConditions are used by conditional formatting,
                     # data validation, and the criteria in filters.
-                  "type": "A String", # The type of condition.
                   "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,
@@ -19102,6 +19420,7 @@
                           # Formulas are supported (and must begin with an `=`).
                     },
                   ],
+                  "type": "A String", # The type of condition.
                 },
               },
             },
@@ -19181,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.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -19238,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.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -19313,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.
-                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                               "sheetId": 42, # The sheet this range is on.
                               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -19391,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.
-                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                               "sheetId": 42, # The sheet this range is on.
                               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                             },
                           ],
                         },
@@ -19596,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
               "sortSpecs": [ # The sort order per column. Later specifications are used when values
                   # are equal in the earlier specifications.
@@ -19620,7 +19939,6 @@
                       #  it will still be hidden.)
                       # BooleanConditions are used by conditional formatting,
                       # data validation, and the criteria in filters.
-                    "type": "A String", # The type of condition.
                     "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,
@@ -19641,6 +19959,7 @@
                             # Formulas are supported (and must begin with an `=`).
                       },
                     ],
+                    "type": "A String", # The type of condition.
                   },
                 },
               },
@@ -19680,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.
-                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                   "sheetId": 42, # The sheet this range is on.
                   "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                 },
               ],
               "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -19753,10 +20072,10 @@
                   # Empty ranges are typically not meaningful and are usually rendered in the
                   # UI as `#REF!`.
                 "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             },
           ],
@@ -19769,7 +20088,6 @@
               # 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.
@@ -19779,16 +20097,8 @@
                       # This field is read-only.
                 },
               ],
+              "startRow": 42, # The first row this GridData refers to, zero-based.
               "startColumn": 42, # The first column this GridData refers to, zero-based.
-              "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
-                  # in start_column.
-                { # Properties about a dimension.
-                  "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-                  "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
-                  "hiddenByFilter": True or False, # True if this dimension is being filtered.
-                      # This field is read-only.
-                },
-              ],
               "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
@@ -19900,10 +20210,10 @@
                             # Empty ranges are typically not meaningful and are usually rendered in the
                             # UI as `#REF!`.
                           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                         "values": [ # A list of values to include in the pivot table.
                           { # The definition of how a value in a pivot table should be calculated.
@@ -19915,13 +20225,13 @@
                                 # CUSTOM.
                                 # If sourceColumnOffset is set, then `CUSTOM`
                                 # 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`.
-                            "name": "A String", # A name to use for the value. This is only used if formula was set.
-                                # Otherwise, the column name is used.
                           },
                         ],
                         "criteria": { # An optional mapping of filters per source column offset.
@@ -20060,7 +20370,7 @@
                         "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                           "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                               # the user's locale will be used if necessary for the given type.
-                              # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                              # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                               # information about the supported patterns.
                           "type": "A String", # The type of the number format.
                               # When writing, this field must be set.
@@ -20070,8 +20380,8 @@
                             # When updating padding, every field must be specified.
                           "top": 42, # The top padding of the cell.
                           "right": 42, # The right padding of the cell.
-                          "bottom": 42, # The bottom padding of the cell.
                           "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.
                         "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -20342,6 +20652,7 @@
                           "italic": True or False, # True if the text is italicized.
                           "underline": True or False, # True if the text is underlined.
                         },
+                        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                         "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                         "borders": { # The borders of the cell. # The borders of the cell.
                           "top": { # A border along a cell. # The top border of the cell.
@@ -20881,7 +21192,26 @@
                             "style": "A String", # The style of the border.
                           },
                         },
-                        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                        "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                          "angle": 42, # The angle between the standard orientation and the desired orientation.
+                              # Measured in degrees. Valid values are between -90 and 90. Positive
+                              # angles are angled upwards, negative are angled downwards.
+                              #
+                              # Note: For LTR text direction positive angles are in the counterclockwise
+                              # direction, whereas for RTL they are in the clockwise direction
+                          "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                              # characters is unchanged.
+                              # For example:
+                              #
+                              #     | V |
+                              #     | e |
+                              #     | r |
+                              #     | t |
+                              #     | i |
+                              #     | c |
+                              #     | a |
+                              #     | l |
+                        },
                       },
                       "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
                           #
@@ -20889,7 +21219,7 @@
                         "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                           "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                               # the user's locale will be used if necessary for the given type.
-                              # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                              # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                               # information about the supported patterns.
                           "type": "A String", # The type of the number format.
                               # When writing, this field must be set.
@@ -20899,8 +21229,8 @@
                             # When updating padding, every field must be specified.
                           "top": 42, # The top padding of the cell.
                           "right": 42, # The right padding of the cell.
-                          "bottom": 42, # The bottom padding of the cell.
                           "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.
                         "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -21171,6 +21501,7 @@
                           "italic": True or False, # True if the text is italicized.
                           "underline": True or False, # True if the text is underlined.
                         },
+                        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                         "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                         "borders": { # The borders of the cell. # The borders of the cell.
                           "top": { # A border along a cell. # The top border of the cell.
@@ -21710,7 +22041,26 @@
                             "style": "A String", # The style of the border.
                           },
                         },
-                        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                        "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                          "angle": 42, # The angle between the standard orientation and the desired orientation.
+                              # Measured in degrees. Valid values are between -90 and 90. Positive
+                              # angles are angled upwards, negative are angled downwards.
+                              #
+                              # Note: For LTR text direction positive angles are in the counterclockwise
+                              # direction, whereas for RTL they are in the clockwise direction
+                          "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                              # characters is unchanged.
+                              # For example:
+                              #
+                              #     | V |
+                              #     | e |
+                              #     | r |
+                              #     | t |
+                              #     | i |
+                              #     | c |
+                              #     | a |
+                              #     | l |
+                        },
                       },
                       "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
                           #
@@ -21722,7 +22072,6 @@
                         "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                             # BooleanConditions are used by conditional formatting,
                             # data validation, and the criteria in filters.
-                          "type": "A String", # The type of condition.
                           "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,
@@ -21743,6 +22092,7 @@
                                   # Formulas are supported (and must begin with an `=`).
                             },
                           ],
+                          "type": "A String", # The type of condition.
                         },
                       },
                       "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
@@ -21902,6 +22252,15 @@
                   ],
                 },
               ],
+              "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                  # in start_column.
+                { # Properties about a dimension.
+                  "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                  "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                  "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                      # This field is read-only.
+                },
+              ],
             },
           ],
           "properties": { # Properties of a sheet. # The properties of the sheet.
@@ -22111,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -22135,7 +22494,6 @@
                     #  it will still be hidden.)
                     # BooleanConditions are used by conditional formatting,
                     # data validation, and the criteria in filters.
-                  "type": "A String", # The type of condition.
                   "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,
@@ -22156,6 +22514,7 @@
                           # Formulas are supported (and must begin with an `=`).
                     },
                   ],
+                  "type": "A String", # The type of condition.
                 },
               },
             },
@@ -22418,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.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -22475,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.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -22550,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.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -22628,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.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -22830,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -22841,7 +23200,6 @@
                   # the format will be applied.
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -22862,6 +23220,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
               "format": { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
@@ -22872,7 +23231,7 @@
                 "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                   "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user's locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                       # information about the supported patterns.
                   "type": "A String", # The type of the number format.
                       # When writing, this field must be set.
@@ -22882,8 +23241,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "bottom": 42, # The bottom padding of the cell.
                   "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.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -23154,6 +23513,7 @@
                   "italic": True or False, # True if the text is italicized.
                   "underline": True or False, # True if the text is underlined.
                 },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                 "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                 "borders": { # The borders of the cell. # The borders of the cell.
                   "top": { # A border along a cell. # The top border of the cell.
@@ -23693,7 +24053,26 @@
                     "style": "A String", # The style of the border.
                   },
                 },
-                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  "angle": 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the counterclockwise
+                      # direction, whereas for RTL they are in the clockwise direction
+                  "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
               },
             },
             "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -24147,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -24158,7 +24537,6 @@
                   # the format will be applied.
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -24179,6 +24557,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
               "format": { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
@@ -24189,7 +24568,7 @@
                 "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                   "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user's locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                       # information about the supported patterns.
                   "type": "A String", # The type of the number format.
                       # When writing, this field must be set.
@@ -24199,8 +24578,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "bottom": 42, # The bottom padding of the cell.
                   "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.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -24471,6 +24850,7 @@
                   "italic": True or False, # True if the text is italicized.
                   "underline": True or False, # True if the text is underlined.
                 },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                 "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                 "borders": { # The borders of the cell. # The borders of the cell.
                   "top": { # A border along a cell. # The top border of the cell.
@@ -25010,7 +25390,26 @@
                     "style": "A String", # The style of the border.
                   },
                 },
-                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  "angle": 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the counterclockwise
+                      # direction, whereas for RTL they are in the clockwise direction
+                  "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
               },
             },
             "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -25633,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "name": "A String", # The name of the named range.
           },
@@ -25675,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -25748,10 +26147,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           },
         },
@@ -25789,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -25800,7 +26199,6 @@
                   # the format will be applied.
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -25821,6 +26219,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
               "format": { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
@@ -25831,7 +26230,7 @@
                 "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                   "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user's locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                       # information about the supported patterns.
                   "type": "A String", # The type of the number format.
                       # When writing, this field must be set.
@@ -25841,8 +26240,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "bottom": 42, # The bottom padding of the cell.
                   "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.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -26113,6 +26512,7 @@
                   "italic": True or False, # True if the text is italicized.
                   "underline": True or False, # True if the text is underlined.
                 },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                 "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                 "borders": { # The borders of the cell. # The borders of the cell.
                   "top": { # A border along a cell. # The top border of the cell.
@@ -26652,7 +27052,26 @@
                     "style": "A String", # The style of the border.
                   },
                 },
-                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  "angle": 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the counterclockwise
+                      # direction, whereas for RTL they are in the clockwise direction
+                  "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
               },
             },
             "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -27105,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -28234,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -28258,7 +28677,6 @@
                     #  it will still be hidden.)
                     # BooleanConditions are used by conditional formatting,
                     # data validation, and the criteria in filters.
-                  "type": "A String", # The type of condition.
                   "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,
@@ -28279,6 +28697,7 @@
                           # Formulas are supported (and must begin with an `=`).
                     },
                   ],
+                  "type": "A String", # The type of condition.
                 },
               },
             },
@@ -28333,15 +28752,16 @@
           # Empty ranges are typically not meaningful and are usually rendered in the
           # UI as `#REF!`.
         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
         "sheetId": 42, # The sheet this range is on.
         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
       },
       "name": "A String", # The name of the named range.
     },
   ],
   "properties": { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
+    "title": "A String", # The title of the spreadsheet.
     "locale": "A String", # The locale of the spreadsheet in one of the following formats:
         #
         # * an ISO 639-1 language code such as `en`
@@ -28351,9 +28771,6 @@
         # * a combination of the ISO language code and country code, such as `en_US`
         #
         # Note: when updating this field, not all locales/languages are supported.
-    "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
-        # `America/New_York`. If the time zone isn't recognized, this may
-        # be a custom time zone such as `GMT-07:00`.
     "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
@@ -28362,7 +28779,7 @@
       "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
         "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
             # the user's locale will be used if necessary for the given type.
-            # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+            # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
             # information about the supported patterns.
         "type": "A String", # The type of the number format.
             # When writing, this field must be set.
@@ -28372,8 +28789,8 @@
           # When updating padding, every field must be specified.
         "top": 42, # The top padding of the cell.
         "right": 42, # The right padding of the cell.
-        "bottom": 42, # The bottom padding of the cell.
         "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.
       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -28644,6 +29061,7 @@
         "italic": True or False, # True if the text is italicized.
         "underline": True or False, # True if the text is underlined.
       },
+      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
       "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
       "borders": { # The borders of the cell. # The borders of the cell.
         "top": { # A border along a cell. # The top border of the cell.
@@ -29183,9 +29601,39 @@
           "style": "A String", # The style of the border.
         },
       },
-      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+      "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+        "angle": 42, # The angle between the standard orientation and the desired orientation.
+            # Measured in degrees. Valid values are between -90 and 90. Positive
+            # angles are angled upwards, negative are angled downwards.
+            #
+            # Note: For LTR text direction positive angles are in the counterclockwise
+            # direction, whereas for RTL they are in the clockwise direction
+        "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+            # characters is unchanged.
+            # For example:
+            #
+            #     | V |
+            #     | e |
+            #     | r |
+            #     | t |
+            #     | i |
+            #     | c |
+            #     | a |
+            #     | l |
+      },
     },
-    "title": "A String", # The title of the spreadsheet.
+    "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.
+        # calculation.
+      "convergenceThreshold": 3.14, # When iterative calculation is enabled and successive results differ by
+          # less than this threshold value, the calculation rounds stop.
+      "maxIterations": 42, # When iterative calculation is enabled, the maximum number of calculation
+          # rounds to perform.
+    },
+    "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+        # `America/New_York`. If the time zone isn't recognized, this may
+        # be a custom time zone such as `GMT-07:00`.
   },
   "sheets": [ # The sheets that are part of a spreadsheet.
     { # A sheet in a spreadsheet.
@@ -29223,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           ],
           "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -29234,7 +29682,6 @@
                 # the format will be applied.
                 # BooleanConditions are used by conditional formatting,
                 # data validation, and the criteria in filters.
-              "type": "A String", # The type of condition.
               "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,
@@ -29255,6 +29702,7 @@
                       # Formulas are supported (and must begin with an `=`).
                 },
               ],
+              "type": "A String", # The type of condition.
             },
             "format": { # The format of a cell. # The format to apply.
                 # Conditional formatting can only apply a subset of formatting:
@@ -29265,7 +29713,7 @@
               "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                 "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                     # the user's locale will be used if necessary for the given type.
-                    # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                    # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                     # information about the supported patterns.
                 "type": "A String", # The type of the number format.
                     # When writing, this field must be set.
@@ -29275,8 +29723,8 @@
                   # When updating padding, every field must be specified.
                 "top": 42, # The top padding of the cell.
                 "right": 42, # The right padding of the cell.
-                "bottom": 42, # The bottom padding of the cell.
                 "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.
               "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -29547,6 +29995,7 @@
                 "italic": True or False, # True if the text is italicized.
                 "underline": True or False, # True if the text is underlined.
               },
+              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
               "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
               "borders": { # The borders of the cell. # The borders of the cell.
                 "top": { # A border along a cell. # The top border of the cell.
@@ -30086,7 +30535,26 @@
                   "style": "A String", # The style of the border.
                 },
               },
-              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                "angle": 42, # The angle between the standard orientation and the desired orientation.
+                    # Measured in degrees. Valid values are between -90 and 90. Positive
+                    # angles are angled upwards, negative are angled downwards.
+                    #
+                    # Note: For LTR text direction positive angles are in the counterclockwise
+                    # direction, whereas for RTL they are in the clockwise direction
+                "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                    # characters is unchanged.
+                    # For example:
+                    #
+                    #     | V |
+                    #     | e |
+                    #     | r |
+                    #     | t |
+                    #     | i |
+                    #     | c |
+                    #     | a |
+                    #     | l |
+              },
             },
           },
           "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -30539,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.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
               # by-column basis throughout all the columns in the range. At least one of
@@ -31658,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.
-          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           "sheetId": 42, # The sheet this range is on.
           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
         },
       ],
       "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -31695,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.
-          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           "sheetId": 42, # The sheet this range is on.
           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
         },
         "sortSpecs": [ # The sort order per column. Later specifications are used when values
             # are equal in the earlier specifications.
@@ -31719,7 +32187,6 @@
                 #  it will still be hidden.)
                 # BooleanConditions are used by conditional formatting,
                 # data validation, and the criteria in filters.
-              "type": "A String", # The type of condition.
               "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,
@@ -31740,6 +32207,7 @@
                       # Formulas are supported (and must begin with an `=`).
                 },
               ],
+              "type": "A String", # The type of condition.
             },
           },
         },
@@ -31819,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.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -31876,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.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                   ],
                 },
@@ -31951,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.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -32029,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.
-                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                           "sheetId": 42, # The sheet this range is on.
                           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                         },
                       ],
                     },
@@ -32234,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.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sortSpecs": [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -32258,7 +32726,6 @@
                   #  it will still be hidden.)
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -32279,6 +32746,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
             },
           },
@@ -32318,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           ],
           "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -32391,10 +32859,10 @@
               # Empty ranges are typically not meaningful and are usually rendered in the
               # UI as `#REF!`.
             "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         },
       ],
@@ -32407,7 +32875,6 @@
           # 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.
@@ -32417,16 +32884,8 @@
                   # This field is read-only.
             },
           ],
+          "startRow": 42, # The first row this GridData refers to, zero-based.
           "startColumn": 42, # The first column this GridData refers to, zero-based.
-          "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
-              # in start_column.
-            { # Properties about a dimension.
-              "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-              "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
-              "hiddenByFilter": True or False, # True if this dimension is being filtered.
-                  # This field is read-only.
-            },
-          ],
           "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
@@ -32538,10 +32997,10 @@
                         # Empty ranges are typically not meaningful and are usually rendered in the
                         # UI as `#REF!`.
                       "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                       "sheetId": 42, # The sheet this range is on.
                       "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                     },
                     "values": [ # A list of values to include in the pivot table.
                       { # The definition of how a value in a pivot table should be calculated.
@@ -32553,13 +33012,13 @@
                             # CUSTOM.
                             # If sourceColumnOffset is set, then `CUSTOM`
                             # 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`.
-                        "name": "A String", # A name to use for the value. This is only used if formula was set.
-                            # Otherwise, the column name is used.
                       },
                     ],
                     "criteria": { # An optional mapping of filters per source column offset.
@@ -32698,7 +33157,7 @@
                     "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                       "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user's locale will be used if necessary for the given type.
-                          # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                          # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                           # information about the supported patterns.
                       "type": "A String", # The type of the number format.
                           # When writing, this field must be set.
@@ -32708,8 +33167,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "bottom": 42, # The bottom padding of the cell.
                       "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.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -32980,6 +33439,7 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                     "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                     "borders": { # The borders of the cell. # The borders of the cell.
                       "top": { # A border along a cell. # The top border of the cell.
@@ -33519,7 +33979,26 @@
                         "style": "A String", # The style of the border.
                       },
                     },
-                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                    "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      "angle": 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
+                          #
+                          # Note: For LTR text direction positive angles are in the counterclockwise
+                          # direction, whereas for RTL they are in the clockwise direction
+                      "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
+                          #
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
+                    },
                   },
                   "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
                       #
@@ -33527,7 +34006,7 @@
                     "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                       "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                           # the user's locale will be used if necessary for the given type.
-                          # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                          # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                           # information about the supported patterns.
                       "type": "A String", # The type of the number format.
                           # When writing, this field must be set.
@@ -33537,8 +34016,8 @@
                         # When updating padding, every field must be specified.
                       "top": 42, # The top padding of the cell.
                       "right": 42, # The right padding of the cell.
-                      "bottom": 42, # The bottom padding of the cell.
                       "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.
                     "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -33809,6 +34288,7 @@
                       "italic": True or False, # True if the text is italicized.
                       "underline": True or False, # True if the text is underlined.
                     },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                     "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                     "borders": { # The borders of the cell. # The borders of the cell.
                       "top": { # A border along a cell. # The top border of the cell.
@@ -34348,7 +34828,26 @@
                         "style": "A String", # The style of the border.
                       },
                     },
-                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                    "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                      "angle": 42, # The angle between the standard orientation and the desired orientation.
+                          # Measured in degrees. Valid values are between -90 and 90. Positive
+                          # angles are angled upwards, negative are angled downwards.
+                          #
+                          # Note: For LTR text direction positive angles are in the counterclockwise
+                          # direction, whereas for RTL they are in the clockwise direction
+                      "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                          # characters is unchanged.
+                          # For example:
+                          #
+                          #     | V |
+                          #     | e |
+                          #     | r |
+                          #     | t |
+                          #     | i |
+                          #     | c |
+                          #     | a |
+                          #     | l |
+                    },
                   },
                   "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
                       #
@@ -34360,7 +34859,6 @@
                     "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                         # BooleanConditions are used by conditional formatting,
                         # data validation, and the criteria in filters.
-                      "type": "A String", # The type of condition.
                       "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,
@@ -34381,6 +34879,7 @@
                               # Formulas are supported (and must begin with an `=`).
                         },
                       ],
+                      "type": "A String", # The type of condition.
                     },
                   },
                   "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
@@ -34540,6 +35039,15 @@
               ],
             },
           ],
+          "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+              # in start_column.
+            { # Properties about a dimension.
+              "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+              "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+              "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                  # This field is read-only.
+            },
+          ],
         },
       ],
       "properties": { # Properties of a sheet. # The properties of the sheet.
@@ -34750,15 +35258,16 @@
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           "sheetId": 42, # The sheet this range is on.
           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
         },
         "name": "A String", # The name of the named range.
       },
     ],
     "properties": { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
+      "title": "A String", # The title of the spreadsheet.
       "locale": "A String", # The locale of the spreadsheet in one of the following formats:
           #
           # * an ISO 639-1 language code such as `en`
@@ -34768,9 +35277,6 @@
           # * a combination of the ISO language code and country code, such as `en_US`
           #
           # Note: when updating this field, not all locales/languages are supported.
-      "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
-          # `America/New_York`. If the time zone isn't recognized, this may
-          # be a custom time zone such as `GMT-07:00`.
       "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
@@ -34779,7 +35285,7 @@
         "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
           "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
               # the user's locale will be used if necessary for the given type.
-              # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+              # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
               # information about the supported patterns.
           "type": "A String", # The type of the number format.
               # When writing, this field must be set.
@@ -34789,8 +35295,8 @@
             # When updating padding, every field must be specified.
           "top": 42, # The top padding of the cell.
           "right": 42, # The right padding of the cell.
-          "bottom": 42, # The bottom padding of the cell.
           "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.
         "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -35061,6 +35567,7 @@
           "italic": True or False, # True if the text is italicized.
           "underline": True or False, # True if the text is underlined.
         },
+        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
         "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
         "borders": { # The borders of the cell. # The borders of the cell.
           "top": { # A border along a cell. # The top border of the cell.
@@ -35600,9 +36107,39 @@
             "style": "A String", # The style of the border.
           },
         },
-        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+        "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+          "angle": 42, # The angle between the standard orientation and the desired orientation.
+              # Measured in degrees. Valid values are between -90 and 90. Positive
+              # angles are angled upwards, negative are angled downwards.
+              #
+              # Note: For LTR text direction positive angles are in the counterclockwise
+              # direction, whereas for RTL they are in the clockwise direction
+          "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+              # characters is unchanged.
+              # For example:
+              #
+              #     | V |
+              #     | e |
+              #     | r |
+              #     | t |
+              #     | i |
+              #     | c |
+              #     | a |
+              #     | l |
+        },
       },
-      "title": "A String", # The title of the spreadsheet.
+      "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.
+          # calculation.
+        "convergenceThreshold": 3.14, # When iterative calculation is enabled and successive results differ by
+            # less than this threshold value, the calculation rounds stop.
+        "maxIterations": 42, # When iterative calculation is enabled, the maximum number of calculation
+            # rounds to perform.
+      },
+      "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+          # `America/New_York`. If the time zone isn't recognized, this may
+          # be a custom time zone such as `GMT-07:00`.
     },
     "sheets": [ # The sheets that are part of a spreadsheet.
       { # A sheet in a spreadsheet.
@@ -35640,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -35651,7 +36188,6 @@
                   # the format will be applied.
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -35672,6 +36208,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
               "format": { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
@@ -35682,7 +36219,7 @@
                 "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                   "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user's locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                       # information about the supported patterns.
                   "type": "A String", # The type of the number format.
                       # When writing, this field must be set.
@@ -35692,8 +36229,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "bottom": 42, # The bottom padding of the cell.
                   "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.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -35964,6 +36501,7 @@
                   "italic": True or False, # True if the text is italicized.
                   "underline": True or False, # True if the text is underlined.
                 },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                 "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                 "borders": { # The borders of the cell. # The borders of the cell.
                   "top": { # A border along a cell. # The top border of the cell.
@@ -36503,7 +37041,26 @@
                     "style": "A String", # The style of the border.
                   },
                 },
-                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  "angle": 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the counterclockwise
+                      # direction, whereas for RTL they are in the clockwise direction
+                  "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
               },
             },
             "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -36956,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -38075,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.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         ],
         "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -38112,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.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sortSpecs": [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -38136,7 +38693,6 @@
                   #  it will still be hidden.)
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -38157,6 +38713,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
             },
           },
@@ -38236,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.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -38293,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.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -38368,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.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -38446,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.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -38651,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -38675,7 +39232,6 @@
                     #  it will still be hidden.)
                     # BooleanConditions are used by conditional formatting,
                     # data validation, and the criteria in filters.
-                  "type": "A String", # The type of condition.
                   "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,
@@ -38696,6 +39252,7 @@
                           # Formulas are supported (and must begin with an `=`).
                     },
                   ],
+                  "type": "A String", # The type of condition.
                 },
               },
             },
@@ -38735,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -38808,10 +39365,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           },
         ],
@@ -38824,7 +39381,6 @@
             # 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.
@@ -38834,16 +39390,8 @@
                     # This field is read-only.
               },
             ],
+            "startRow": 42, # The first row this GridData refers to, zero-based.
             "startColumn": 42, # The first column this GridData refers to, zero-based.
-            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
-                # in start_column.
-              { # Properties about a dimension.
-                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
-                "hiddenByFilter": True or False, # True if this dimension is being filtered.
-                    # This field is read-only.
-              },
-            ],
             "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
@@ -38955,10 +39503,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                       "values": [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
@@ -38970,13 +39518,13 @@
                               # CUSTOM.
                               # If sourceColumnOffset is set, then `CUSTOM`
                               # 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`.
-                          "name": "A String", # A name to use for the value. This is only used if formula was set.
-                              # Otherwise, the column name is used.
                         },
                       ],
                       "criteria": { # An optional mapping of filters per source column offset.
@@ -39115,7 +39663,7 @@
                       "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                         "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user's locale will be used if necessary for the given type.
-                            # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                            # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                             # information about the supported patterns.
                         "type": "A String", # The type of the number format.
                             # When writing, this field must be set.
@@ -39125,8 +39673,8 @@
                           # When updating padding, every field must be specified.
                         "top": 42, # The top padding of the cell.
                         "right": 42, # The right padding of the cell.
-                        "bottom": 42, # The bottom padding of the cell.
                         "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.
                       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -39397,6 +39945,7 @@
                         "italic": True or False, # True if the text is italicized.
                         "underline": True or False, # True if the text is underlined.
                       },
+                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                       "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                       "borders": { # The borders of the cell. # The borders of the cell.
                         "top": { # A border along a cell. # The top border of the cell.
@@ -39936,7 +40485,26 @@
                           "style": "A String", # The style of the border.
                         },
                       },
-                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                      "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        "angle": 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
+                            #
+                            # Note: For LTR text direction positive angles are in the counterclockwise
+                            # direction, whereas for RTL they are in the clockwise direction
+                        "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
+                            #
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
+                      },
                     },
                     "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
                         #
@@ -39944,7 +40512,7 @@
                       "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                         "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user's locale will be used if necessary for the given type.
-                            # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                            # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                             # information about the supported patterns.
                         "type": "A String", # The type of the number format.
                             # When writing, this field must be set.
@@ -39954,8 +40522,8 @@
                           # When updating padding, every field must be specified.
                         "top": 42, # The top padding of the cell.
                         "right": 42, # The right padding of the cell.
-                        "bottom": 42, # The bottom padding of the cell.
                         "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.
                       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -40226,6 +40794,7 @@
                         "italic": True or False, # True if the text is italicized.
                         "underline": True or False, # True if the text is underlined.
                       },
+                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                       "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                       "borders": { # The borders of the cell. # The borders of the cell.
                         "top": { # A border along a cell. # The top border of the cell.
@@ -40765,7 +41334,26 @@
                           "style": "A String", # The style of the border.
                         },
                       },
-                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                      "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        "angle": 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
+                            #
+                            # Note: For LTR text direction positive angles are in the counterclockwise
+                            # direction, whereas for RTL they are in the clockwise direction
+                        "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
+                            #
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
+                      },
                     },
                     "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
                         #
@@ -40777,7 +41365,6 @@
                       "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                           # BooleanConditions are used by conditional formatting,
                           # data validation, and the criteria in filters.
-                        "type": "A String", # The type of condition.
                         "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,
@@ -40798,6 +41385,7 @@
                                 # Formulas are supported (and must begin with an `=`).
                           },
                         ],
+                        "type": "A String", # The type of condition.
                       },
                     },
                     "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
@@ -40957,6 +41545,15 @@
                 ],
               },
             ],
+            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                # in start_column.
+              { # Properties about a dimension.
+                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                    # This field is read-only.
+              },
+            ],
           },
         ],
         "properties": { # Properties of a sheet. # The properties of the sheet.
@@ -41197,15 +41794,16 @@
             # Empty ranges are typically not meaningful and are usually rendered in the
             # UI as `#REF!`.
           "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
           "sheetId": 42, # The sheet this range is on.
           "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
         },
         "name": "A String", # The name of the named range.
       },
     ],
     "properties": { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
+      "title": "A String", # The title of the spreadsheet.
       "locale": "A String", # The locale of the spreadsheet in one of the following formats:
           #
           # * an ISO 639-1 language code such as `en`
@@ -41215,9 +41813,6 @@
           # * a combination of the ISO language code and country code, such as `en_US`
           #
           # Note: when updating this field, not all locales/languages are supported.
-      "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
-          # `America/New_York`. If the time zone isn't recognized, this may
-          # be a custom time zone such as `GMT-07:00`.
       "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
@@ -41226,7 +41821,7 @@
         "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
           "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
               # the user's locale will be used if necessary for the given type.
-              # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+              # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
               # information about the supported patterns.
           "type": "A String", # The type of the number format.
               # When writing, this field must be set.
@@ -41236,8 +41831,8 @@
             # When updating padding, every field must be specified.
           "top": 42, # The top padding of the cell.
           "right": 42, # The right padding of the cell.
-          "bottom": 42, # The bottom padding of the cell.
           "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.
         "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -41508,6 +42103,7 @@
           "italic": True or False, # True if the text is italicized.
           "underline": True or False, # True if the text is underlined.
         },
+        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
         "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
         "borders": { # The borders of the cell. # The borders of the cell.
           "top": { # A border along a cell. # The top border of the cell.
@@ -42047,9 +42643,39 @@
             "style": "A String", # The style of the border.
           },
         },
-        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+        "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+          "angle": 42, # The angle between the standard orientation and the desired orientation.
+              # Measured in degrees. Valid values are between -90 and 90. Positive
+              # angles are angled upwards, negative are angled downwards.
+              #
+              # Note: For LTR text direction positive angles are in the counterclockwise
+              # direction, whereas for RTL they are in the clockwise direction
+          "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+              # characters is unchanged.
+              # For example:
+              #
+              #     | V |
+              #     | e |
+              #     | r |
+              #     | t |
+              #     | i |
+              #     | c |
+              #     | a |
+              #     | l |
+        },
       },
-      "title": "A String", # The title of the spreadsheet.
+      "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.
+          # calculation.
+        "convergenceThreshold": 3.14, # When iterative calculation is enabled and successive results differ by
+            # less than this threshold value, the calculation rounds stop.
+        "maxIterations": 42, # When iterative calculation is enabled, the maximum number of calculation
+            # rounds to perform.
+      },
+      "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+          # `America/New_York`. If the time zone isn't recognized, this may
+          # be a custom time zone such as `GMT-07:00`.
     },
     "sheets": [ # The sheets that are part of a spreadsheet.
       { # A sheet in a spreadsheet.
@@ -42087,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
@@ -42098,7 +42724,6 @@
                   # the format will be applied.
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -42119,6 +42744,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
               "format": { # The format of a cell. # The format to apply.
                   # Conditional formatting can only apply a subset of formatting:
@@ -42129,7 +42755,7 @@
                 "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                   "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                       # the user's locale will be used if necessary for the given type.
-                      # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                      # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                       # information about the supported patterns.
                   "type": "A String", # The type of the number format.
                       # When writing, this field must be set.
@@ -42139,8 +42765,8 @@
                     # When updating padding, every field must be specified.
                   "top": 42, # The top padding of the cell.
                   "right": 42, # The right padding of the cell.
-                  "bottom": 42, # The bottom padding of the cell.
                   "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.
                 "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -42411,6 +43037,7 @@
                   "italic": True or False, # True if the text is italicized.
                   "underline": True or False, # True if the text is underlined.
                 },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                 "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                 "borders": { # The borders of the cell. # The borders of the cell.
                   "top": { # A border along a cell. # The top border of the cell.
@@ -42950,7 +43577,26 @@
                     "style": "A String", # The style of the border.
                   },
                 },
-                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                  "angle": 42, # The angle between the standard orientation and the desired orientation.
+                      # Measured in degrees. Valid values are between -90 and 90. Positive
+                      # angles are angled upwards, negative are angled downwards.
+                      #
+                      # Note: For LTR text direction positive angles are in the counterclockwise
+                      # direction, whereas for RTL they are in the clockwise direction
+                  "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                      # characters is unchanged.
+                      # For example:
+                      #
+                      #     | V |
+                      #     | e |
+                      #     | r |
+                      #     | t |
+                      #     | i |
+                      #     | c |
+                      #     | a |
+                      #     | l |
+                },
               },
             },
             "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
@@ -43403,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "columnProperties": { # Properties referring a single dimension (either row or column). If both # Properties for column bands. These properties will be applied on a column-
                 # by-column basis throughout all the columns in the range. At least one of
@@ -44522,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.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
         ],
         "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
@@ -44559,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.
-            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
             "sheetId": 42, # The sheet this range is on.
             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
           },
           "sortSpecs": [ # The sort order per column. Later specifications are used when values
               # are equal in the earlier specifications.
@@ -44583,7 +45229,6 @@
                   #  it will still be hidden.)
                   # BooleanConditions are used by conditional formatting,
                   # data validation, and the criteria in filters.
-                "type": "A String", # The type of condition.
                 "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,
@@ -44604,6 +45249,7 @@
                         # Formulas are supported (and must begin with an `=`).
                   },
                 ],
+                "type": "A String", # The type of condition.
               },
             },
           },
@@ -44683,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.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -44740,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.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                     ],
                   },
@@ -44815,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.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -44893,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.
-                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                             "sheetId": 42, # The sheet this range is on.
                             "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                           },
                         ],
                       },
@@ -45098,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.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
             "sortSpecs": [ # The sort order per column. Later specifications are used when values
                 # are equal in the earlier specifications.
@@ -45122,7 +45768,6 @@
                     #  it will still be hidden.)
                     # BooleanConditions are used by conditional formatting,
                     # data validation, and the criteria in filters.
-                  "type": "A String", # The type of condition.
                   "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,
@@ -45143,6 +45788,7 @@
                           # Formulas are supported (and must begin with an `=`).
                     },
                   ],
+                  "type": "A String", # The type of condition.
                 },
               },
             },
@@ -45182,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.
-                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                 "sheetId": 42, # The sheet this range is on.
                 "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
               },
             ],
             "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
@@ -45255,10 +45901,10 @@
                 # Empty ranges are typically not meaningful and are usually rendered in the
                 # UI as `#REF!`.
               "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
               "sheetId": 42, # The sheet this range is on.
               "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
             },
           },
         ],
@@ -45271,7 +45917,6 @@
             # 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.
@@ -45281,16 +45926,8 @@
                     # This field is read-only.
               },
             ],
+            "startRow": 42, # The first row this GridData refers to, zero-based.
             "startColumn": 42, # The first column this GridData refers to, zero-based.
-            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
-                # in start_column.
-              { # Properties about a dimension.
-                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
-                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
-                "hiddenByFilter": True or False, # True if this dimension is being filtered.
-                    # This field is read-only.
-              },
-            ],
             "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
@@ -45402,10 +46039,10 @@
                           # Empty ranges are typically not meaningful and are usually rendered in the
                           # UI as `#REF!`.
                         "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
-                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
                         "sheetId": 42, # The sheet this range is on.
                         "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
-                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
                       },
                       "values": [ # A list of values to include in the pivot table.
                         { # The definition of how a value in a pivot table should be calculated.
@@ -45417,13 +46054,13 @@
                               # CUSTOM.
                               # If sourceColumnOffset is set, then `CUSTOM`
                               # 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`.
-                          "name": "A String", # A name to use for the value. This is only used if formula was set.
-                              # Otherwise, the column name is used.
                         },
                       ],
                       "criteria": { # An optional mapping of filters per source column offset.
@@ -45562,7 +46199,7 @@
                       "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                         "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user's locale will be used if necessary for the given type.
-                            # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                            # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                             # information about the supported patterns.
                         "type": "A String", # The type of the number format.
                             # When writing, this field must be set.
@@ -45572,8 +46209,8 @@
                           # When updating padding, every field must be specified.
                         "top": 42, # The top padding of the cell.
                         "right": 42, # The right padding of the cell.
-                        "bottom": 42, # The bottom padding of the cell.
                         "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.
                       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -45844,6 +46481,7 @@
                         "italic": True or False, # True if the text is italicized.
                         "underline": True or False, # True if the text is underlined.
                       },
+                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                       "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                       "borders": { # The borders of the cell. # The borders of the cell.
                         "top": { # A border along a cell. # The top border of the cell.
@@ -46383,7 +47021,26 @@
                           "style": "A String", # The style of the border.
                         },
                       },
-                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                      "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        "angle": 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
+                            #
+                            # Note: For LTR text direction positive angles are in the counterclockwise
+                            # direction, whereas for RTL they are in the clockwise direction
+                        "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
+                            #
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
+                      },
                     },
                     "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
                         #
@@ -46391,7 +47048,7 @@
                       "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
                         "pattern": "A String", # Pattern string used for formatting.  If not set, a default pattern based on
                             # the user's locale will be used if necessary for the given type.
-                            # See the [Date and Number Formats guide](/sheets/guides/formats) for more
+                            # See the [Date and Number Formats guide](/sheets/api/guides/formats) for more
                             # information about the supported patterns.
                         "type": "A String", # The type of the number format.
                             # When writing, this field must be set.
@@ -46401,8 +47058,8 @@
                           # When updating padding, every field must be specified.
                         "top": 42, # The top padding of the cell.
                         "right": 42, # The right padding of the cell.
-                        "bottom": 42, # The bottom padding of the cell.
                         "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.
                       "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
@@ -46673,6 +47330,7 @@
                         "italic": True or False, # True if the text is italicized.
                         "underline": True or False, # True if the text is underlined.
                       },
+                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
                       "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
                       "borders": { # The borders of the cell. # The borders of the cell.
                         "top": { # A border along a cell. # The top border of the cell.
@@ -47212,7 +47870,26 @@
                           "style": "A String", # The style of the border.
                         },
                       },
-                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                      "textRotation": { # The rotation applied to text in a cell. # The rotation applied to text in a cell
+                        "angle": 42, # The angle between the standard orientation and the desired orientation.
+                            # Measured in degrees. Valid values are between -90 and 90. Positive
+                            # angles are angled upwards, negative are angled downwards.
+                            #
+                            # Note: For LTR text direction positive angles are in the counterclockwise
+                            # direction, whereas for RTL they are in the clockwise direction
+                        "vertical": True or False, # If true, text reads top to bottom, but the orientation of individual
+                            # characters is unchanged.
+                            # For example:
+                            #
+                            #     | V |
+                            #     | e |
+                            #     | r |
+                            #     | t |
+                            #     | i |
+                            #     | c |
+                            #     | a |
+                            #     | l |
+                      },
                     },
                     "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
                         #
@@ -47224,7 +47901,6 @@
                       "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
                           # BooleanConditions are used by conditional formatting,
                           # data validation, and the criteria in filters.
-                        "type": "A String", # The type of condition.
                         "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,
@@ -47245,6 +47921,7 @@
                                 # Formulas are supported (and must begin with an `=`).
                           },
                         ],
+                        "type": "A String", # The type of condition.
                       },
                     },
                     "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.  Runs are only valid
@@ -47404,6 +48081,15 @@
                 ],
               },
             ],
+            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                # in start_column.
+              { # Properties about a dimension.
+                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                    # This field is read-only.
+              },
+            ],
           },
         ],
         "properties": { # Properties of a sheet. # The properties of the sheet.