Google Sheets Spreadsheets API

Operations on spreadsheet resources

OpenAPI Specification

google-sheets-spreadsheets-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Sheets developerMetadata Spreadsheets API
  description: The Google Sheets API lets you read, write, and format data in Google Sheets. It supports creating spreadsheets, reading and writing cell values, updating formatting, managing sheets within a spreadsheet, and working with developer metadata.
  version: v4
  termsOfService: https://developers.google.com/terms
  contact:
    name: Google Workspace Developer Support
    url: https://developers.google.com/sheets/api/support
  license:
    name: Creative Commons Attribution 4.0
    url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://sheets.googleapis.com/v4
  description: Google Sheets API v4 production server
security:
- oauth2: []
- apiKey: []
tags:
- name: Spreadsheets
  description: Operations on spreadsheet resources
paths:
  /spreadsheets:
    post:
      operationId: createSpreadsheet
      summary: Google Sheets Create a Spreadsheet
      description: Creates a new spreadsheet, optionally with initial properties, sheets, and data.
      tags:
      - Spreadsheets
      requestBody:
        description: The spreadsheet to create.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Spreadsheet'
            examples:
              CreatespreadsheetRequestExample:
                summary: Default createSpreadsheet request
                x-microcks-default: true
                value:
                  spreadsheetId: '500123'
                  properties:
                    title: Example Title
                    locale: example_value
                    autoRecalc: ON_CHANGE
                    timeZone: example_value
                    importFunctionsExternalUrlAccessAllowed: https://www.example.com
                  sheets:
                  - data: {}
                    merges: {}
                    conditionalFormats: {}
                    filterViews: {}
                    protectedRanges: {}
                    charts: {}
                    bandedRanges: {}
                    slicers: {}
                  namedRanges:
                  - namedRangeId: '500123'
                    name: Example Title
                  spreadsheetUrl: https://www.example.com
                  developerMetadata:
                  - metadataId: '500123'
                    metadataKey: example_value
                    metadataValue: example_value
                    visibility: DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED
                  dataSources:
                  - dataSourceId: '500123'
                    calculatedColumns: {}
                    sheetId: '500123'
                  dataSourceSchedules:
                  - enabled: true
                    refreshScope: DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED
                    nextRun: {}
                    dailySchedule: {}
                    weeklySchedule: {}
                    monthlySchedule: {}
      responses:
        '200':
          description: Successful response containing the newly created spreadsheet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Spreadsheet'
              examples:
                Createspreadsheet200Example:
                  summary: Default createSpreadsheet 200 response
                  x-microcks-default: true
                  value:
                    spreadsheetId: '500123'
                    properties:
                      title: Example Title
                      locale: example_value
                      autoRecalc: ON_CHANGE
                      timeZone: example_value
                      importFunctionsExternalUrlAccessAllowed: https://www.example.com
                    sheets:
                    - data: {}
                      merges: {}
                      conditionalFormats: {}
                      filterViews: {}
                      protectedRanges: {}
                      charts: {}
                      bandedRanges: {}
                      slicers: {}
                    namedRanges:
                    - namedRangeId: '500123'
                      name: Example Title
                    spreadsheetUrl: https://www.example.com
                    developerMetadata:
                    - metadataId: '500123'
                      metadataKey: example_value
                      metadataValue: example_value
                      visibility: DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED
                    dataSources:
                    - dataSourceId: '500123'
                      calculatedColumns: {}
                      sheetId: '500123'
                    dataSourceSchedules:
                    - enabled: true
                      refreshScope: DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED
                      nextRun: {}
                      dailySchedule: {}
                      weeklySchedule: {}
                      monthlySchedule: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /spreadsheets/{spreadsheetId}:
    get:
      operationId: getSpreadsheet
      summary: Google Sheets Get a Spreadsheet
      description: Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of two ways using the fields URL parameter or the includeGridData query parameter.
      tags:
      - Spreadsheets
      parameters:
      - $ref: '#/components/parameters/spreadsheetId'
      - name: ranges
        in: query
        description: The ranges to retrieve from the spreadsheet.
        schema:
          type: array
          items:
            type: string
        example: []
      - name: includeGridData
        in: query
        description: True if grid data should be returned. This parameter is ignored if a field mask was set in the request.
        schema:
          type: boolean
          default: false
        example: true
      responses:
        '200':
          description: Successful response containing the spreadsheet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Spreadsheet'
              examples:
                Getspreadsheet200Example:
                  summary: Default getSpreadsheet 200 response
                  x-microcks-default: true
                  value:
                    spreadsheetId: '500123'
                    properties:
                      title: Example Title
                      locale: example_value
                      autoRecalc: ON_CHANGE
                      timeZone: example_value
                      importFunctionsExternalUrlAccessAllowed: https://www.example.com
                    sheets:
                    - data: {}
                      merges: {}
                      conditionalFormats: {}
                      filterViews: {}
                      protectedRanges: {}
                      charts: {}
                      bandedRanges: {}
                      slicers: {}
                    namedRanges:
                    - namedRangeId: '500123'
                      name: Example Title
                    spreadsheetUrl: https://www.example.com
                    developerMetadata:
                    - metadataId: '500123'
                      metadataKey: example_value
                      metadataValue: example_value
                      visibility: DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED
                    dataSources:
                    - dataSourceId: '500123'
                      calculatedColumns: {}
                      sheetId: '500123'
                    dataSourceSchedules:
                    - enabled: true
                      refreshScope: DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED
                      nextRun: {}
                      dailySchedule: {}
                      weeklySchedule: {}
                      monthlySchedule: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /spreadsheets/{spreadsheetId}:batchUpdate:
    post:
      operationId: batchUpdateSpreadsheet
      summary: Google Sheets Batch Update a Spreadsheet
      description: Applies one or more updates to the spreadsheet. Each request is validated before being applied. If any request is not valid, the entire request will fail and nothing will be applied.
      tags:
      - Spreadsheets
      parameters:
      - $ref: '#/components/parameters/spreadsheetId'
      requestBody:
        description: The batch update request.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchUpdateSpreadsheetRequest'
            examples:
              BatchupdatespreadsheetRequestExample:
                summary: Default batchUpdateSpreadsheet request
                x-microcks-default: true
                value:
                  requests:
                  - {}
                  includeSpreadsheetInResponse: true
                  responseRanges:
                  - example_value
                  responseIncludeGridData: true
      responses:
        '200':
          description: Successful response containing the batch update results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchUpdateSpreadsheetResponse'
              examples:
                Batchupdatespreadsheet200Example:
                  summary: Default batchUpdateSpreadsheet 200 response
                  x-microcks-default: true
                  value:
                    spreadsheetId: '500123'
                    replies:
                    - {}
                    updatedSpreadsheet:
                      spreadsheetId: '500123'
                      sheets:
                      - {}
                      namedRanges:
                      - {}
                      spreadsheetUrl: https://www.example.com
                      developerMetadata:
                      - {}
                      dataSources:
                      - {}
                      dataSourceSchedules:
                      - {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /spreadsheets/{spreadsheetId}:getByDataFilter:
    post:
      operationId: getSpreadsheetByDataFilter
      summary: Google Sheets Get a Spreadsheet by Data Filter
      description: Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. This method differs from getSpreadsheet in that it allows selecting which subsets of spreadsheet data to return by specifying a dataFilters parameter.
      tags:
      - Spreadsheets
      parameters:
      - $ref: '#/components/parameters/spreadsheetId'
      requestBody:
        description: The data filter request.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                dataFilters:
                  type: array
                  description: The DataFilters used to select which ranges to retrieve from the spreadsheet.
                  items:
                    $ref: '#/components/schemas/DataFilter'
                includeGridData:
                  type: boolean
                  description: True if grid data should be returned.
                  default: false
            examples:
              GetspreadsheetbydatafilterRequestExample:
                summary: Default getSpreadsheetByDataFilter request
                x-microcks-default: true
                value:
                  dataFilters:
                  - a1Range: example_value
                  includeGridData: true
      responses:
        '200':
          description: Successful response containing the spreadsheet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Spreadsheet'
              examples:
                Getspreadsheetbydatafilter200Example:
                  summary: Default getSpreadsheetByDataFilter 200 response
                  x-microcks-default: true
                  value:
                    spreadsheetId: '500123'
                    properties:
                      title: Example Title
                      locale: example_value
                      autoRecalc: ON_CHANGE
                      timeZone: example_value
                      importFunctionsExternalUrlAccessAllowed: https://www.example.com
                    sheets:
                    - data: {}
                      merges: {}
                      conditionalFormats: {}
                      filterViews: {}
                      protectedRanges: {}
                      charts: {}
                      bandedRanges: {}
                      slicers: {}
                    namedRanges:
                    - namedRangeId: '500123'
                      name: Example Title
                    spreadsheetUrl: https://www.example.com
                    developerMetadata:
                    - metadataId: '500123'
                      metadataKey: example_value
                      metadataValue: example_value
                      visibility: DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED
                    dataSources:
                    - dataSourceId: '500123'
                      calculatedColumns: {}
                      sheetId: '500123'
                    dataSourceSchedules:
                    - enabled: true
                      refreshScope: DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED
                      nextRun: {}
                      dailySchedule: {}
                      weeklySchedule: {}
                      monthlySchedule: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    PivotValue:
      type: object
      description: The definition of how a value in a pivot table should be calculated.
      properties:
        summarizeFunction:
          type: string
          description: A function to summarize the value.
          enum:
          - PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED
          - SUM
          - COUNTA
          - COUNT
          - COUNTUNIQUE
          - AVERAGE
          - MAX
          - MIN
          - MEDIAN
          - PRODUCT
          - STDEV
          - STDEVP
          - VAR
          - VARP
          - CUSTOM
          example: PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED
        name:
          type: string
          description: A name to use for the value.
          example: Example Title
        calculatedDisplayType:
          type: string
          description: If specified, indicates that pivot values should be displayed as the result of a calculation with another pivot value.
          enum:
          - PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED
          - PERCENT_OF_ROW_TOTAL
          - PERCENT_OF_COLUMN_TOTAL
          - PERCENT_OF_GRAND_TOTAL
          example: PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED
        sourceColumnOffset:
          type: integer
          description: The column offset of the source range that this value reads from.
          example: 10
        formula:
          type: string
          description: A custom formula to calculate the value.
          example: example_value
        dataSourceColumnReference:
          $ref: '#/components/schemas/DataSourceColumnReference'
    BasicFilter:
      type: object
      description: The default filter associated with a sheet.
      properties:
        range:
          $ref: '#/components/schemas/GridRange'
        sortSpecs:
          type: array
          description: The sort order per column.
          items:
            $ref: '#/components/schemas/SortSpec'
          example: []
        criteria:
          type: object
          description: The criteria for showing/hiding values per column.
          additionalProperties:
            $ref: '#/components/schemas/FilterCriteria'
          example: example_value
        filterSpecs:
          type: array
          description: The filter criteria per column.
          items:
            $ref: '#/components/schemas/FilterSpec'
          example: []
    GridRange:
      type: object
      description: A range on a sheet. All indexes are zero-based.
      properties:
        sheetId:
          type: integer
          description: The sheet this range is on.
          example: '500123'
        startRowIndex:
          type: integer
          description: The start row (inclusive) of the range, or not set if unbounded.
          example: 10
        endRowIndex:
          type: integer
          description: The end row (exclusive) of the range, or not set if unbounded.
          example: 10
        startColumnIndex:
          type: integer
          description: The start column (inclusive) of the range, or not set if unbounded.
          example: 10
        endColumnIndex:
          type: integer
          description: The end column (exclusive) of the range, or not set if unbounded.
          example: 10
    FilterSpec:
      type: object
      description: The filter criteria associated with a specific column.
      properties:
        filterCriteria:
          $ref: '#/components/schemas/FilterCriteria'
        columnIndex:
          type: integer
          description: The zero-based column index.
          example: 10
        dataSourceColumnReference:
          $ref: '#/components/schemas/DataSourceColumnReference'
    ProtectedRange:
      type: object
      description: A protected range.
      properties:
        protectedRangeId:
          type: integer
          description: The ID of the protected range.
          example: '500123'
        range:
          $ref: '#/components/schemas/GridRange'
        namedRangeId:
          type: string
          description: The named range this protected range is backed by, if any.
          example: '500123'
        description:
          type: string
          description: The description of this protected range.
          example: A sample description.
        warningOnly:
          type: boolean
          description: True if this protected range will show a warning when editing.
          example: true
        requestingUserCanEdit:
          type: boolean
          description: True if the user who requested this protected range can edit the protected area.
          example: true
        unprotectedRanges:
          type: array
          description: The list of unprotected ranges within a protected sheet.
          items:
            $ref: '#/components/schemas/GridRange'
          example: []
        editors:
          type: object
          description: The users and groups with edit access to the protected range.
          properties:
            users:
              type: array
              items:
                type: string
            groups:
              type: array
              items:
                type: string
            domainUsersCanEdit:
              type: boolean
          example: example_value
    ColorStyle:
      type: object
      description: A color value.
      properties:
        rgbColor:
          $ref: '#/components/schemas/Color'
        themeColor:
          type: string
          description: Theme color type.
          enum:
          - THEME_COLOR_TYPE_UNSPECIFIED
          - TEXT
          - BACKGROUND
          - ACCENT1
          - ACCENT2
          - ACCENT3
          - ACCENT4
          - ACCENT5
          - ACCENT6
          - LINK
          example: THEME_COLOR_TYPE_UNSPECIFIED
    InterpolationPoint:
      type: object
      description: A single interpolation point on a gradient conditional format.
      properties:
        color:
          $ref: '#/components/schemas/Color'
        colorStyle:
          $ref: '#/components/schemas/ColorStyle'
        type:
          type: string
          description: How the value should be interpreted.
          enum:
          - INTERPOLATION_POINT_TYPE_UNSPECIFIED
          - MIN
          - MAX
          - NUMBER
          - PERCENT
          - PERCENTILE
          example: INTERPOLATION_POINT_TYPE_UNSPECIFIED
        value:
          type: string
          description: The value this interpolation point uses.
          example: example_value
    EmbeddedChart:
      type: object
      description: A chart embedded in a sheet.
      properties:
        chartId:
          type: integer
          description: The ID of the chart.
          example: '500123'
        position:
          $ref: '#/components/schemas/EmbeddedObjectPosition'
        spec:
          type: object
          description: The specification of the chart.
          example: example_value
    TextFormat:
      type: object
      description: The format of a run of text in a cell.
      properties:
        foregroundColor:
          $ref: '#/components/schemas/Color'
        foregroundColorStyle:
          $ref: '#/components/schemas/ColorStyle'
        fontFamily:
          type: string
          description: The font family.
          example: example_value
        fontSize:
          type: integer
          description: The size of the font.
          example: 10
        bold:
          type: boolean
          description: True if the text is bold.
          example: true
        italic:
          type: boolean
          description: True if the text is italicized.
          example: true
        strikethrough:
          type: boolean
          description: True if the text has a strikethrough.
          example: true
        underline:
          type: boolean
          description: True if the text is underlined.
          example: true
        link:
          $ref: '#/components/schemas/Link'
    DeveloperMetadataLookup:
      type: object
      description: Selects DeveloperMetadata that matches all of the specified fields.
      properties:
        locationType:
          type: string
          description: Limits the selected developer metadata to that which has a matching location type.
          enum:
          - DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED
          - ROW
          - COLUMN
          - SHEET
          - SPREADSHEET
          example: DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED
        metadataLocation:
          $ref: '#/components/schemas/DeveloperMetadataLocation'
        locationMatchingStrategy:
          type: string
          description: Determines how this lookup matches the location.
          enum:
          - DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED
          - EXACT_LOCATION
          - INTERSECTING_LOCATION
          example: DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED
        metadataId:
          type: integer
          description: Limits the selected developer metadata to that which has a matching metadata ID.
          example: '500123'
        metadataKey:
          type: string
          description: Limits the selected developer metadata to that which has a matching metadata key.
          example: example_value
        metadataValue:
          type: string
          description: Limits the selected developer metadata to that which has a matching metadata value.
          example: example_value
        visibility:
          type: string
          description: Limits the selected developer metadata to that which has a matching visibility.
          enum:
          - DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED
          - DOCUMENT
          - PROJECT
          example: DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED
    PivotGroupSortValueBucket:
      type: object
      description: Information about which values in a pivot group should be used for sorting.
      properties:
        valuesIndex:
          type: integer
          description: The offset in the PivotTable.values list which the values in this grouping should be sorted by.
          example: 10
        buckets:
          type: array
          description: Determines the bucket from which values are chosen to sort.
          items:
            $ref: '#/components/schemas/ExtendedValue'
          example: []
    FilterView:
      type: object
      description: A filter view.
      properties:
        filterViewId:
          type: integer
          description: The ID of the filter view.
          example: '500123'
        title:
          type: string
          description: The name of the filter view.
          example: Example Title
        range:
          $ref: '#/components/schemas/GridRange'
        namedRangeId:
          type: string
          description: The named range this filter view is backed by, if any.
          example: '500123'
        sortSpecs:
          type: array
          description: The sort order per column.
          items:
            $ref: '#/components/schemas/SortSpec'
          example: []
        criteria:
          type: object
          description: The criteria for showing/hiding values per column.
          additionalProperties:
            $ref: '#/components/schemas/FilterCriteria'
          example: example_value
        filterSpecs:
          type: array
          description: The filter criteria for showing/hiding values per column.
          items:
            $ref: '#/components/schemas/FilterSpec'
          example: []
    DeveloperMetadataLocation:
      type: object
      description: A location where metadata may be associated in a spreadsheet.
      properties:
        locationType:
          type: string
          description: The type of location this object represents.
          enum:
          - DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED
          - ROW
          - COLUMN
          - SHEET
          - SPREADSHEET
          example: DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED
        spreadsheet:
          type: boolean
          description: True when metadata is associated with an entire spreadsheet.
          example: true
        sheetId:
          type: integer
          description: The ID of the sheet when metadata is associated with an entire sheet.
          example: '500123'
        dimensionRange:
          $ref: '#/components/schemas/DimensionRange'
    DataSource:
      type: object
      description: Information about an external data source in the spreadsheet.
      properties:
        dataSourceId:
          type: string
          description: The spreadsheet-scoped unique ID that identifies the data source.
          example: '500123'
        spec:
          $ref: '#/components/schemas/DataSourceSpec'
        calculatedColumns:
          type: array
          description: All calculated columns in the data source.
          items:
            $ref: '#/components/schemas/DataSourceColumn'
          example: []
        sheetId:
          type: integer
          description: The ID of the Sheet connected with the data source.
          example: '500123'
    Border:
      type: object
      description: A border along a cell.
      properties:
        style:
          type: string
          description: The style of the border.
          enum:
          - STYLE_UNSPECIFIED
          - DOTTED
          - DASHED
          - SOLID
          - SOLID_MEDIUM
          - SOLID_THICK
          - NONE
          - DOUBLE
          example: STYLE_UNSPECIFIED
        width:
          type: integer
          description: The width of the border, in pixels. Deprecated; the width is determined by the style.
          deprecated: true
          example: 10
        color:
          $ref: '#/components/schemas/Color'
        colorStyle:
          $ref: '#/components/schemas/ColorStyle'
    DataSourceFormula:
      type: object
      description: A data source formula.
      properties:
        dataSourceId:
          type: string
          description: The ID of the data source the formula is associated with.
          example: '500123'
        dataExecutionStatus:
          $ref: '#/components/schemas/DataExecutionStatus'
    NamedRange:
      type: object
      description: A named range.
      properties:
        namedRangeId:
          type: string
          description: The ID of the named range.
          example: '500123'
        name:
          type: string
          description: The name of the named range.
          example: Example Title
        range:
          $ref: '#/components/schemas/GridRange'
    ErrorResponse:
      type: object
      description: An error response from the API.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: The HTTP status code.
            message:
              type: string
              description: A human-readable error message.
            status:
              type: string
              description: The status of the error.
            details:
              type: array
              description: Additional error details.
              items:
                type: object
          example: example_value
    DataValidationRule:
      type: object
      description: A data validation rule.
      properties:
        condition:
          $ref: '#/components/schemas/BooleanCondition'
        inputMessage:
          type: string
          description: A message to show the user when adding data to the cell.
          example: example_value
        strict:
          type: boolean
          description: True if invalid data should be rejected.
          example: true
        showCustomUi:
          type: boolean
          description: True if the UI should be customized based on the kind of condition.
          example: true
    CellData:
      type: object
      description: Data about a specific cell.
      properties:
        userEnteredValue:
          $ref: '#/components/schemas/ExtendedValue'
        effectiveValue:
          $ref: '#/components/schemas/ExtendedValue'
        formattedValue:
          type: string
          description: The formatted value of the cell. This is the value as it is shown to the user.
          example: example_value
        userEnteredFormat:
          $ref: '#/components/schemas/CellFormat'
        effectiveFormat:
          $ref: '#/components/schemas/CellFormat'
        hyperlink:
          type: string
          description: A hyperlink this cell points to, if any.
          example: example_value
        note:
          type: string
          description: Any note on the cell.
          example: example_value
        textFormatRuns:
          type: array
          description: Runs of rich text applied to subsections of the cell.
          items:
            $ref: '#/components/schemas/TextFormatRun'
          example: []
        dataValidation:
          $ref: '#/components/schemas/DataValidationRule'
        pivotTable:
          $ref: '#/components/schemas/PivotTable'
        dataSourceTable:
          $ref: '#/components/schemas/DataSourceTable'
        dataSourceFormula:
          $ref: '#/components/schemas/DataSourceFormula'
    ConditionalFormatRule:
      type: object
      description: A rule describing a conditional format.
      properties:
        ranges:
          type: array
          description: The ranges that are formatted if the condition is true.
          items:
            $ref: '#/components/schemas/GridRange'
          example: []
        booleanRule:
          type: object
          description: The formatting is either on or off according to the rule.
          properties:
            condition:
              $ref: '#/components/schemas/BooleanCondition'
            fo

# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-sheets/refs/heads/main/openapi/google-sheets-spreadsheets-api-openapi.yml