Google Sheets Spreadsheets API

Operations on spreadsheet resources

Operations 4

POST /spreadsheets Google Sheets Create a Spreadsheet #
GET /spreadsheets/{spreadsheetId} Google Sheets Get a Spreadsheet #
POST /spreadsheets/{spreadsheetId}:batchUpdate Google Sheets Batch Update a Spreadsheet #
POST /spreadsheets/{spreadsheetId}:getByDataFilter Google Sheets Get a Spreadsheet by Data Filter #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-sheets-spreadsheets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-sheets-spreadsheets-api-openapi.yml Raw ↑
openapi: 3.2.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:
    Color:
      type: object
      description: Represents a color in the RGBA color space. Values are in the range [0, 1].
      properties:
        red:
          type: number
          description: The amount of red in the color as a value in the range [0, 1].
          example: 42.5
        green:
          type: number
          description: The amount of green in the color as a value in the range [0, 1].
          example: 42.5
        blue:
          type: number
          description: The amount of blue in the color as a value in the range [0, 1].
          example: 42.5
        alpha:
          type: number
          description: The fraction of this color that should be applied to the pixel. A value of 1.0 corresponds to a solid color.
          example: 42.5
    FilterCriteria:
      type: object
      description: Criteria for showing/hiding rows in a filter or filter view.
      properties:
        hiddenValues:
          type: array
          description: Values that should be hidden.
          items:
            type: string
          example: []
        condition:
          $ref: '#/components/schemas/BooleanCondition'
        visibleBackgroundColor:
          $ref: '#/components/schemas/Color'
        visibleBackgroundColorStyle:
          $ref: '#/components/schemas/ColorStyle'
        visibleForegroundColor:
          $ref: '#/components/schemas/Color'
        visibleForegroundColorStyle:
          $ref: '#/components/schemas/ColorStyle'
    ErrorValue:
      type: object
      description: An error in a cell.
      properties:
        type:
          type: string
          description: The type of error.
          enum:
          - ERROR_TYPE_UNSPECIFIED
          - ERROR
          - NULL_VALUE
          - DIVIDE_BY_ZERO
          - VALUE
          - REF
          - NAME
          - NUM
          - N_A
          - LOADING
          example: ERROR_TYPE_UNSPECIFIED
        message:
          type: string
          description: A message with more information about the error.
          example: example_value
    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: []
    Link:
      type: object
      description: An external or local reference.
      properties:
        uri:
          type: string
          description: The link identifier.
          example: example_value
    TextRotation:
      type: object
      description: The rotation applied to text in a cell.
      properties:
        angle:
          type: integer
          description: The angle between the standard orientation and the desired orientation. Measured in degrees. Valid values are between -90 and 90.
          example: 10
        vertical:
          type: boolean
          description: If true, text reads top to bottom, but the orientation of individual characters is unchanged.
          example: true
    TextFormatRun:
      type: object
      description: A run of a text format.
      properties:
        startIndex:
          type: integer
          description: The character index where this run starts (zero-based).
          example: 10
        format:
          $ref: '#/components/schemas/TextFormat'
    BigQueryDataSourceSpec:
      type: object
      description: The specification of a BigQuery data source that is connected to a sheet.
      properties:
        projectId:
          type: string
          description: The ID of a BigQuery enabled Google Cloud project with a billing account attached.
          example: '500123'
        querySpec:
          type: object
          description: A BigQueryQuerySpec.
          properties:
            rawQuery:
              type: string
              description: The raw query string.
          example: example_value
        tableSpec:
          type: object
          description: A BigQueryTableSpec.
          properties:
            tableProjectId:
              type: string
              description: The ID of a BigQuery project the table belongs to.
            tableId:
              type: string
              description: The BigQuery table id.
            datasetId:
              type: string
              description: The BigQuery dataset id.
          example: example_value
    Borders:
      type: object
      description: The borders of the cell.
      properties:
        top:
          $ref: '#/components/schemas/Border'
        bottom:
          $ref: '#/components/schemas/Border'
        left:
          $ref: '#/components/schemas/Border'
        right:
          $ref: '#/components/schemas/Border'
    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'
    Dimension:
      type: string
      description: Indicates which dimension an operation should apply to.
      enum:
      - DIMENSION_UNSPECIFIED
      - ROWS
      - COLUMNS
    DataSourceRefreshSchedule:
      type: object
      description: Schedule for refreshing a data source.
      properties:
        enabled:
          type: boolean
          description: True if the refresh schedule is enabled.
          example: true
        refreshScope:
          type: string
          description: The scope of the refresh.
          enum:
          - DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED
          - ALL_DATA_SOURCES
          example: DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED
        nextRun:
          type: object
          description: Output only. The time interval of the next run.
          properties:
            startTime:
              type: string
              format: date-time
            endTime:
              type: string
              format: date-time
          example: example_value
        dailySchedule:
          type: object
          description: Daily refresh schedule.
          properties:
            startTime:
              type: object
              description: The start time of a time interval.
              properties:
                hours:
                  type: integer
                minutes:
                  type: integer
                seconds:
                  type: integer
                nanos:
                  type: integer
          example: example_value
        weeklySchedule:
          type: object
          description: Weekly refresh schedule.
          properties:
            startTime:
              type: object
              properties:
                hours:
                  type: integer
                minutes:
                  type: integer
                seconds:
                  type: integer
                nanos:
                  type: integer
            daysOfWeek:
              type: array
              items:
                type: string
                enum:
                - DAY_OF_WEEK_UNSPECIFIED
                - MONDAY
                - TUESDAY
                - WEDNESDAY
                - THURSDAY
                - FRIDAY
                - SATURDAY
                - SUNDAY
          example: example_value
        monthlySchedule:
          type: object
          description: Monthly refresh schedule.
          properties:
            startTime:
              type: object
              properties:
                hours:
                  type: integer
                minutes:
                  type: integer
                seconds:
                  type: integer
                nanos:
                  type: integer
            daysOfMonth:
              type: array
              items:
                type: integer
          example: example_value
    PivotTable:
      type: object
      description: A pivot table.
      properties:
        source:
          $ref: '#/components/schemas/GridRange'
        rows:
          type: array
          description: Each row grouping in the pivot table.
          items:
            $ref: '#/components/schemas/PivotGroup'
          example: []
        columns:
          type: array
          description: Each column grouping in the pivot table.
          items:
            $ref: '#/components/schemas/PivotGroup'
          example: []
        values:
          type: array
          description: A list of values to include in the pivot table.
          items:
            $ref: '#/components/schemas/PivotValue'
          example: []
        criteria:
          type: object
          description: An optional mapping of filters per source column offset.
          additionalProperties:
            $ref: '#/components/schemas/PivotFilterCriteria'
          example: example_value
        filterSpecs:
          type: array
          description: The filters applied to the source columns before aggregating data.
          items:
            $ref: '#/components/schemas/PivotFilterSpec'
          example: []
        valueLayout:
          type: string
          description: Whether values should be listed horizontally or vertically.
          enum:
          - HORIZONTAL
          - VERTICAL
          example: HORIZONTAL
        dataExecutionStatus:
          $ref: '#/components/schemas/DataExecutionStatus'
        dataSourceId:
          type: string
          description: The ID of the data source the pivot table is reading data from.
          example: '500123'
    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'
    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
    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'
    SortSpec:
      type: object
      description: A sort order associated with a specific column or row.
      properties:
        dimensionIndex:
          type: integer
          description: The dimension the sort should be applied to.
          example: 10
        sortOrder:
          type: string
          description: The order data should be sorted.
          enum:
          - SORT_ORDER_UNSPECIFIED
          - ASCENDING
          - DESCENDING
          example: SORT_ORDER_UNSPECIFIED
        foregroundColor:
          $ref: '#/components/schemas/Color'
        foregroundColorStyle:
          $ref: '#/components/schemas/ColorStyle'
        backgroundColor:
          $ref: '#/components/schemas/Color'
        backgroundColorStyle:
          $ref: '#/components/schemas/ColorStyle'
        dataSourceColumnReference:
          $ref: '#/components/schemas/DataSourceColumnReference'
    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'
    Padding:
      type: object
      description: The amount of padding around the cell, in pixels.
      properties:
        top:
          type: integer
          description: The top padding of the cell.
          example: 10
        right:
          type: integer
          description: The right padding of the cell.
          example: 10
        bottom:
          type: integer
          description: The bottom padding of the cell.
          example: 10
        left:
          type: integer
          description: The left padding of the cell.
          example: 10
    SpreadsheetProperties:
      type: object
      description: Properties of a spreadsheet.
      properties:
        title:
          type: string
          description: The title of the spreadsheet.
          example: Example Title
        locale:
          type: string
          description: 'The locale of the spreadsheet in one of the following formats: an ISO 639-1 language code, an ISO 639-2 language code, or a combination of the ISO language code and country code (e.g. en, eng, en_US).'
          example: example_value
        autoRecalc:
          type: string
          description: The amount of time to wait before volatile functions are recalculated.
          enum:
          - O

# --- 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