Corsair
PluginsGoogle Sheets

Google Sheets API Endpoints

Complete reference for all Google Sheets API endpoints

The Google Sheets plugin provides full access to Google Sheets API through a typed interface. All endpoints are organized by resource type and automatically handle authentication, rate limiting, and error handling.

New to Corsair? Learn about core concepts like API access, authentication, and error handling before diving into specific endpoints.

Full Implementation: For the complete, up-to-date list of all endpoints and their implementations, see the Google Sheets plugin source code on GitHub.

Spreadsheets

Manage spreadsheet documents.

create

spreadsheets.create

Create a new spreadsheet.

const spreadsheet = await corsair.googlesheets.api.spreadsheets.create({
    properties: {
        title: "My Spreadsheet",
    },
});

Parameters:

NameTypeRequiredDescription
properties.titlestringNoSpreadsheet title
properties.localestringNoSpreadsheet locale
properties.timeZonestringNoSpreadsheet time zone

delete

spreadsheets.delete

Delete a spreadsheet.

await corsair.googlesheets.api.spreadsheets.delete({
    spreadsheetId: "spreadsheet-id",
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID to delete

Sheets

Manage individual sheets within a spreadsheet.

appendRow

sheets.appendRow

Append a row to a sheet.

await corsair.googlesheets.api.sheets.appendRow({
    spreadsheetId: "spreadsheet-id",
    sheetName: "Sheet1",
    values: ["Name", "Email", "Age"],
    valueInputOption: "USER_ENTERED",
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID
sheetNamestringNoSheet name
rangestringNoRange to append to
valuesArray<string | number | boolean | null>NoRow values
valueInputOption'RAW' | 'USER_ENTERED'NoHow to interpret values
insertDataOption'OVERWRITE' | 'INSERT_ROWS'NoHow to insert data

appendOrUpdateRow

sheets.appendOrUpdateRow

Append a row or update if a matching key exists.

await corsair.googlesheets.api.sheets.appendOrUpdateRow({
    spreadsheetId: "spreadsheet-id",
    sheetName: "Sheet1",
    keyColumn: "Email",
    keyValue: "user@example.com",
    values: ["John Doe", "user@example.com", 30],
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID
sheetNamestringNoSheet name
keyColumnstringNoColumn to match for updates
keyValuestring | numberNoValue to match
valuesArray<string | number | boolean | null>NoRow values
valueInputOption'RAW' | 'USER_ENTERED'NoHow to interpret values
insertDataOption'OVERWRITE' | 'INSERT_ROWS'NoHow to insert data

getRows

sheets.getRows

Get rows from a sheet.

const rows = await corsair.googlesheets.api.sheets.getRows({
    spreadsheetId: "spreadsheet-id",
    sheetName: "Sheet1",
    range: "A1:C10",
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID
sheetNamestringNoSheet name
rangestringNoRange to get (e.g., "A1:C10")
valueRenderOption'FORMATTED_VALUE' | 'UNFORMATTED_VALUE' | 'FORMULA'NoHow to render values
dateTimeRenderOption'SERIAL_NUMBER' | 'FORMATTED_STRING'NoHow to render dates

updateRow

sheets.updateRow

Update a specific row.

await corsair.googlesheets.api.sheets.updateRow({
    spreadsheetId: "spreadsheet-id",
    sheetName: "Sheet1",
    range: "A2:C2",
    rowIndex: 2,
    values: ["Updated Name", "updated@example.com", 31],
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID
sheetNamestringNoSheet name
rangestringNoRange to update
rowIndexnumberNoRow index (1-based)
valuesArray<string | number | boolean | null>NoRow values
valueInputOption'RAW' | 'USER_ENTERED'NoHow to interpret values

clearSheet

sheets.clearSheet

Clear all data from a sheet or range.

await corsair.googlesheets.api.sheets.clearSheet({
    spreadsheetId: "spreadsheet-id",
    sheetName: "Sheet1",
    range: "A1:Z1000",
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID
sheetNamestringNoSheet name
rangestringNoRange to clear

createSheet

sheets.createSheet

Create a new sheet in a spreadsheet.

await corsair.googlesheets.api.sheets.createSheet({
    spreadsheetId: "spreadsheet-id",
    title: "New Sheet",
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID
titlestringNoSheet title

deleteSheet

sheets.deleteSheet

Delete a sheet from a spreadsheet.

await corsair.googlesheets.api.sheets.deleteSheet({
    spreadsheetId: "spreadsheet-id",
    sheetId: 0,
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID
sheetIdnumberYesSheet ID to delete

deleteRowsOrColumns

sheets.deleteRowsOrColumns

Delete rows or columns from a sheet.

await corsair.googlesheets.api.sheets.deleteRowsOrColumns({
    spreadsheetId: "spreadsheet-id",
    sheetId: 0,
    dimension: "ROWS",
    startIndex: 1,
    endIndex: 5,
});

Parameters:

NameTypeRequiredDescription
spreadsheetIdstringYesSpreadsheet ID
sheetIdnumberYesSheet ID
dimension'ROWS' | 'COLUMNS'YesDimension to delete
startIndexnumberYesStart index (0-based)
endIndexnumberYesEnd index (exclusive)