SheetRocks API (1.0.0)

Download OpenAPI specification:Download

Manipulate your spreadsheet from a RESTful API.

Workbook Management

Returns list of workbooks owned by the authenticated user.

Returns list of workbooks owned by the authenticated user.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "MyWorkbooks": [
    ],
  • "SharedWorkbooks": [
    ],
  • "AccessRules": [
    ]
}

Creates a new workbook.

Creates a new workbook.

Authorizations:
BearerAuth
Request Body schema: application/json
optional
Timezone
string

An IANA timezone string. If not provided or invalid, workbook is created in UTC.

Responses

Request samples

Content type
application/json
{
  • "Timezone": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "workbookId": "string",
  • "firstSheetId": "string"
}

Creates a new workbook, initialized with a pre-defined template.

Creates a new workbook, initialized with a pre-defined template.

Authorizations:
BearerAuth
Request Body schema: application/json
optional
Timezone
string

An IANA timezone string. If not provided or invalid, workbook is created in UTC.

Template
string

Responses

Request samples

Content type
application/json
{
  • "Timezone": "string",
  • "Template": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "workbookId": "string",
  • "firstSheetId": "string"
}

Returns metadata about the workbook.

Returns metadata about the workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "ID": "string",
  • "Name": "string",
  • "CreatedOn": "string",
  • "Sheets": [
    ],
  • "Location": "string",
  • "Theme": "string"
}

Activates a workbook.

Activates a workbook. Only active workbooks can be opened.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Deactivates a workbook.

Deactivates a workbook. Only active workbooks can be opened.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Trashes a workbook. Workbooks are permanently deleted after 30 days in the trash.

Trashes a workbook. Workbooks are permanently deleted after 30 days in the trash.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Undoes the trash operation for the workbook.

Undoes the trash operation for the workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Duplicates the workbook, returning the ID of the new workbook.

Duplicates the workbook, returning the ID of the new workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "workbookId": "string"
}

Sets settings for the workbook.

Sets settings for the workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "theme": "string",
  • "timezone": "string"
}

Renames the workbook.

Renames the workbook.

Authorizations:
BearerAuth
query Parameters
newName
string

The new name of the workbook

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Exports current workbook to an .xlsx file.

Exports current workbook to an .xlsx file.

Authorizations:
BearerAuth

Responses

Imports an .xlsx file into the current workbook.

Imports an .xlsx file into the current workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Imports an CSV file into the current workbook.

Imports an CSV file into the current workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "sheetId": "string"
}

Adds a new folder at the root of the workbook.

Adds a new folder at the root of the workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "folderCreated": "string"
}

Moves the file or folder at src to the folder at dest.

Moves the file or folder at src to the folder at dest.

Authorizations:
BearerAuth
query Parameters
src
string

The ID of the sheet or folder to move.

dest
string

The ID of the folder or workbook to move the src to.

offset
number

The index of the file location relative to its parent folder (optional).

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Deletes an empty folder with the specified ID.

Deletes an empty folder with the specified ID.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Renames the folder with the specified ID.

Renames the folder with the specified ID.

Authorizations:
BearerAuth
query Parameters
newName
string

The new name of the folder.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Deletes an empty folder with the specified ID.

Deletes an empty folder with the specified ID.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Creates a new automation for the specified workbook.

Creates a new automation for the specified workbook.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
Request Body schema: application/json
required
Name
string

The name of the automation.

Runtime
string

The runtime environment of the automation.

AutomationText
string

The code to be executed by the automation.

RunOnSchedule
boolean

Whether the automation runs on a schedule.

object
RunOnChange
boolean

Whether the automation runs on cell value changes.

ChangeRange
string

The range of cells that trigger the automation when changed.

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Runtime": "string",
  • "AutomationText": "string",
  • "RunOnSchedule": true,
  • "Schedule": {
    },
  • "RunOnChange": true,
  • "ChangeRange": "string"
}

Response samples

Content type
application/json
{
  • "automationCreated": "string"
}

Retrieves all automations for the specified workbook.

Retrieves all automations for the specified workbook.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Manually runs the specified automation.

Manually runs the specified automation.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
automationId
required
string
Request Body schema: application/json
optional
SheetId
string

Optional sheet ID for dynamic automation.

Responses

Request samples

Content type
application/json
{
  • "SheetId": "string"
}

Deletes the specified automation.

Deletes the specified automation.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
automationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Updates the specified automation.

Updates the specified automation.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
automationId
required
string
Request Body schema: application/json
required
Name
string

The name of the automation.

Runtime
string

The runtime environment of the automation.

AutomationText
string

The code to be executed by the automation.

RunOnSchedule
boolean

Whether the automation runs on a schedule.

object
RunOnChange
boolean

Whether the automation runs on cell value changes.

ChangeRange
string

The range of cells that trigger the automation when changed.

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Runtime": "string",
  • "AutomationText": "string",
  • "RunOnSchedule": true,
  • "Schedule": {
    },
  • "RunOnChange": true,
  • "ChangeRange": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Retrieves all named ranges for the specified workbook.

Retrieves all named ranges for the specified workbook.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a new named range for the specified workbook.

Creates a new named range for the specified workbook.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
Request Body schema: application/json
required
Name
string

The name of the named range.

Description
string

The description of the named range.

Range
string

The range of the named range.

Type
string

The io type of the named range. Can be either "input", "output", or ""none".

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Description": "string",
  • "Range": "string",
  • "Type": "string"
}

Response samples

Content type
application/json
{
  • "namedRangeCreated": "string"
}

Updates the specified named range.

Updates the specified named range.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
namedRangeId
required
string
Request Body schema: application/json
required
Name
string

The name of the named range. This can be used as a variable in formulas.

Range
string

The range which the named range references.

Description
string

The description of the named range. Use this to describe the purpose of the named range.

Type
string

The io type of the named range. This can be "input", "output", or "none".

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Range": "string",
  • "Description": "string",
  • "Type": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Deletes the specified named range.

Deletes the specified named range.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
namedRangeId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Automatically creates a set of named ranges based on a range (table). The location of the labels in the range is used to determine the named range names, and the remainder of each column or row is used to determine the range of the named range.

Automatically creates a set of named ranges based on a range (table). The location of the labels in the range is used to determine the named range names, and the remainder of each column or row is used to determine the range of the named range.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "AutoNameRange": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "numNamedRangesCreated": 0
}

Exports the sheet as a CSV attachment.

Exports the sheet as a CSV attachment.

Authorizations:
BearerAuth

Responses

Lists all available formulas.

Lists all available formulas.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[ ]

Sheet Operations

Gets cells from the worksheet.

Gets cells from the worksheet.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

Trashes the sheet and removes it from the workbook.

Trashes the sheet and removes it from the workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Sets the value of given cells. Will trigger recalculation.

Sets the value of given cells. Will trigger recalculation.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The cell to set.

Array of objects

Responses

Request samples

Content type
application/json
{
  • "Cells": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Sets the value of given cells. The cells must within a named range of type "input".

Sets the value of given cells. The cells must within a named range of type "input".

Authorizations:
BearerAuth
Request Body schema: application/json
required

The cell to set.

Array of objects

Responses

Request samples

Content type
application/json
{
  • "Cells": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Creates a new sheet as part of the workbook.

Creates a new sheet as part of the workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "sheetId": "string"
}

Gets page number for given row. This is a utility function that's used by the UI.

Gets page number for given row. This is a utility function that's used by the UI.

Authorizations:
BearerAuth
query Parameters
rowStart
number

The row to find the page it falls into.

Responses

Response samples

Content type
application/json
{
  • "Page": 0
}

Appends cell array to end of sheet.

Appends cell array to end of sheet.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The cell data to append to the end of the sheet. Data is sent as strings and will be automatically parsed and typed server side.

Cells
Array of strings[ items ]

Responses

Request samples

Content type
application/json
{
  • "Cells": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "firstAppendedRowIndex": 0,
  • "numberOfRowsAppended": 0
}

Exports the sheet as a CSV attachment.

Exports the sheet as a CSV attachment.

Authorizations:
BearerAuth

Responses

Gets a variety of values required for initial render of a sheet.

Gets a variety of values required for initial render of a sheet.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "Cells": [
    ],
  • "Settings": {
    },
  • "Filters": [
    ],
  • "Dropdowns": [
    ]
}

Replaces settings with new settings.

Replaces settings with new settings.

Authorizations:
BearerAuth
Request Body schema: application/json
required

Sheet level settings to use.

ColWidths
required
object

Map of columns with non-default column widths. Keys are column indexes, values are column width in pixels.

RowHeights
required
Array of arrays

Map of rows with non-default row widths. Keys are row indexes, values are height in pixels.

LastFrozenRow
number

Freeze all rows up to and including given row index.

LastFrozenCol
number

Freeze all columns up to and including given column index.

HideGridlines
boolean

If true cell grid lines will be hidden in sheet.

Responses

Request samples

Content type
application/json
{
  • "ColWidths": { },
  • "RowHeights": [ ],
  • "LastFrozenRow": 0,
  • "LastFrozenCol": 0,
  • "HideGridlines": true
}

Response samples

Content type
application/json
{
  • "success": true
}

Gets settings for the sheet.

Gets settings for the sheet.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "Settings": {
    },
  • "Config": {
    }
}

Deletes the contents of the cells in the specified range.

Deletes the contents of the cells in the specified range.

Authorizations:
BearerAuth
query Parameters
type
string

Type of operation. If 'values' or not given, will delete values only. If 'formatting' will delete formatting.

range
string

The range of selected cells in A1 notation form.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Gets the values of cells in the specified range.

Gets the values of cells in the specified range.

Authorizations:
BearerAuth
query Parameters
type
string

Type of operation. If 'values' or not given, will delete values only. If 'formatting' will delete formatting.

range
string

The range of selected cells in A1 notation form.

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

Deletes the contents of the cells in the specified range. The range must be within a named range of type "input".

Deletes the contents of the cells in the specified range. The range must be within a named range of type "input".

Authorizations:
BearerAuth
query Parameters
type
string

Type of operation. If 'values' or not given, will delete values only. If 'formatting' will delete formatting.

range
string

The range of selected cells in A1 notation form.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Adds rows to the spreadsheet.

Adds rows to the spreadsheet.

Authorizations:
BearerAuth
query Parameters
insertAfter
integer

The index of the row to insert additional rows after.

insertRows
integer

The number of rows to add.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Clears and removes the specified rows.

Clears and removes the specified rows.

Authorizations:
BearerAuth
query Parameters
deleteRowStart
integer

The index of the first row to delete.

deleteRowEnd
integer

The index of the last row to delete.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Adds columns to the spreadsheet.

Adds columns to the spreadsheet.

Authorizations:
BearerAuth
query Parameters
insertAfter
integer

The index of the column to insert additional rows after.

insertColumns
integer

The number of columns to add.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Clears and removes the specified columns.

Clears and removes the specified columns.

Authorizations:
BearerAuth
query Parameters
deleteColStart
integer

The index of the first row to delete.

deleteColEnd
integer

The index of the last row to delete.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Moves a range of columns to a new location in the sheet.

Moves a range of columns to a new location in the sheet.

Authorizations:
BearerAuth
query Parameters
insertBefore
required
integer

The index of the destination column. The range will be inserted before this column.

range
string

The range of columns to move. The range should be in columns-only A1 notation (e.g. "A:C").

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Updates the name of the sheet

Updates the name of the sheet

Authorizations:
BearerAuth
query Parameters
newName
string

The new name of the sheet.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Searches the sheet for the provided string

Searches the sheet for the provided string. Executes a case-insensitive search with a maximum of 100 results.

Authorizations:
BearerAuth
query Parameters
searchString
string

The string to search the sheet for.

Responses

Response samples

Content type
application/json
{
  • "PageList": [
    ],
  • "LastPage": 0,
  • "LastPageIndex": 0,
  • "Total": 0,
  • "Data": { }
}

Navigates through the sheet according to certain rules (control + arrow key functionality).

Navigates through the sheet according to certain rules (control + arrow key functionality).

Authorizations:
BearerAuth
query Parameters
row
number

The row index of the sheet where you are navigating from.

col
number

The column index of the sheet where you are navigating from.

direction
string

The direction you are navigating (one of "up", "down", "left", or "right")

Responses

Response samples

Content type
application/json
{
  • "Row": 0,
  • "Col": 0
}

Clears the copied state for the requesting user.

Clears the copied state for the requesting user.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Copies to clipboard

Copies to clipboard

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Returns currently copied content as a 2D array of strings

Returns currently copied content as a 2D array of strings

Authorizations:
BearerAuth
Request Body schema: application/json
required

Data about what cells to copy

StartRow
required
integer

Row of starting location

StartCol
required
integer

Column of starting location

EndRow
required
boolean

Row of end location

EndCol
required
boolean

Column of end location

Responses

Request samples

Content type
application/json
{
  • "StartRow": 0,
  • "StartCol": 0,
  • "EndRow": true,
  • "EndCol": true
}

Response samples

Content type
application/json
[
  • [
    ]
]

Pastes from clipboard

Pastes from clipboard

Authorizations:
BearerAuth
Request Body schema: application/json
required

Data about where to paste the clipboard and where user cut from.

DestRow
required
integer

Row of pasting location

DestCol
required
integer

Column of pasting location

IsCut
required
boolean

Specifies if original selection will be deleted

ValuesOnly
required
boolean

If true only values will be pasted.

CutFromSheetId
string

Sheet ID that clipboard was copied from.

CutRowStart
integer

Start row of cut selection.

CutRowEnd
integer

End row of cut selection.

CutColStart
integer

Start column of cut selection.

CutColEnd
integer

End column of cut selection.

CutColsOnly
boolean

If true the cut selection is columns only.

CutRowsOnly
boolean

If true the cut selection is rows only.

Responses

Request samples

Content type
application/json
{
  • "DestRow": 0,
  • "DestCol": 0,
  • "IsCut": true,
  • "ValuesOnly": true,
  • "CutFromSheetId": "string",
  • "CutRowStart": 0,
  • "CutRowEnd": 0,
  • "CutColStart": 0,
  • "CutColEnd": 0,
  • "CutColsOnly": true,
  • "CutRowsOnly": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "OffsetRow": 0,
  • "OffSetCol": 0
}

Autofills selection

Autofills selection

Authorizations:
BearerAuth
Request Body schema: application/json
required

Data about the cells to autofill.

RowStart
required
integer

Starting row of the copied cells.

RowEnd
required
integer

Ending row of the copied cells (inclusive).

ColStart
required
integer

Starting column of the copied cells.

ColEnd
required
integer

Ending column of the copied cells.

DestRow
required
integer

The row in which to start the fill.

DestCol
required
integer

The column in which to start the fill.

FillThroughRow
integer

If supplied, will continue copying through this row index.

FillThroughCol
integer

If supplied, will continue copying through this column index.

AutoFillDirection
string

Direction of the autofill operation. Acceptable values 'right' or 'left'.

Responses

Request samples

Content type
application/json
{
  • "RowStart": 0,
  • "RowEnd": 0,
  • "ColStart": 0,
  • "ColEnd": 0,
  • "DestRow": 0,
  • "DestCol": 0,
  • "FillThroughRow": 0,
  • "FillThroughCol": 0,
  • "AutoFillDirection": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Sort a range according to the specified column.

Sort a range according to the specified column.

Authorizations:
BearerAuth
Request Body schema: application/json
required

Data about the range to sort.

RowStart
required
integer

Starting row of the sorted range.

RowEnd
required
integer

Ending row of the sorted range (inclusive).

ColStart
required
integer

Starting column of the sorted range.

ColEnd
required
integer

Ending column of the sorted range.

IsColsOnly
required
boolean

True if entire columns are to be sorted.

IsRowsOnly
required
boolean

True if entire rows are to be sorted.

required
Array of objects
ContainsHeader
required
boolean

If true, leaves the first row in the range in place and sorts remaining rows.

Responses

Request samples

Content type
application/json
{
  • "RowStart": 0,
  • "RowEnd": 0,
  • "ColStart": 0,
  • "ColEnd": 0,
  • "IsColsOnly": true,
  • "IsRowsOnly": true,
  • "SortByCols": [
    ],
  • "ContainsHeader": true
}

Response samples

Content type
application/json
{
  • "success": true
}

Remove duplicates from the provided range.

Remove duplicates from the provided range.

Authorizations:
BearerAuth
Request Body schema: application/json
required

Data about the range to remove duplicates from.

Range
required
string

The range to remove duplicates from, in A1 notation.

HasHeader
required
boolean

Indicates whether or not the range includes a header row.

Keys
required
Array of numbers

A list of column indexes which form a composite key used for removing duplicates.

Responses

Request samples

Content type
application/json
{
  • "Range": "string",
  • "HasHeader": true,
  • "Keys": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "unique": 0,
  • "removed": 0
}

Appends a format to a given sheet.

Appends a format to a given sheet.

Authorizations:
BearerAuth
Request Body schema: application/json
required

Information about the formatting to add.

Type
required
string

Type of format, "basic" or "conditional".

Ranges
required
Array of strings

List of ranges to apply the formatting to.

Formula
string

A formula. Should output a boolean.

Styles
required
Array of objects

A list of formatting classes to apply if formula returns TRUE.

Responses

Request samples

Content type
application/json
{
  • "Type": "string",
  • "Ranges": [
    ],
  • "Formula": "string",
  • "Styles": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Lists all formats for the current sheet.

Returns a list of all formats (conditional and basic) in the sheet.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Replaces the specified format in the sheet.

Replaces the specified format in the sheet.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The formatting object to replace the format with.

Type
required
string

Type of format, "basic" or "conditional".

Ranges
required
Array of strings

List of ranges to apply the formatting to.

Formula
string

A formula. Should output a boolean.

Styles
required
Array of objects

A list of formatting classes to apply if formula returns TRUE.

Responses

Request samples

Content type
application/json
{
  • "Type": "string",
  • "Ranges": [
    ],
  • "Formula": "string",
  • "Styles": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Deletes the format at the specified index.

Deletes the format at the specified index.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Reorder formats.

Reorder formats. Formats are applied in order. This is most helpful for conditional formatting.

Authorizations:
BearerAuth
query Parameters
from
integer

The index of the source format.

to
integer

The destination index.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Returns the list of dropdowns for a sheet.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • { }
]

Adds or edits a dropdown.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The dropdown to add or edit.

Array
Values
Array of strings
Ranges
Array of strings
Index
number

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": true
}

Deletes a dropdown.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The dropdown index to delete.

Index
number

Responses

Request samples

Content type
application/json
{
  • "Index": 0
}

Response samples

Content type
application/json
{
  • "success": true
}

Deletes the filter at the specified index.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Updates the specified filter.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The filter to replace to the sheet.

Name
string

Filter name. If empty string, will display as default text.

FilterType
string

Should be set to "basic"

Range
string

The range that is being used to set filter. For example A:A or B:B. Must be one column.

HasHeader
boolean

If set to true, ignores the first row in the sheet

Include
Array of strings

List of values to filter by. Only rows which match one of the values will be included.

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "FilterType": "string",
  • "Range": "string",
  • "HasHeader": true,
  • "Include": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Lists filters for the sheet.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Adds a new filter with the specified parameters.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The filter to add to the sheet.

Name
string

Filter name. If empty string, will display as default text.

FilterType
string

Should be set to "basic"

Range
string

The range that is being used to set filter. For example A:A or B:B. Must be one column.

HasHeader
boolean

If set to true, ignores the first row in the sheet

Include
Array of strings

List of values to filter by. Only rows which match one of the values will be included.

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "FilterType": "string",
  • "Range": "string",
  • "HasHeader": true,
  • "Include": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Returns a list of the available options for a basic filter.

Authorizations:
BearerAuth
query Parameters
columnRange
string

The column range to get options for. For example, A:A, AB:AB.

hasHeader
boolean

If true, does not consider the first row as part of the filter operation.

Responses

Response samples

Content type
application/json
[
  • "string"
]

Lists data constraints for the sheet.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
sheetId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Adds a new data constraint with the specified parameters.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
sheetId
required
string
Request Body schema: application/json
required

The data constraint to add to the sheet.

Range
string

The range that is being used to set data constraint. For example A:A or B:B. Must be one column.

Formula
string

The formula used for validation

FalseMode
string
Enum: "noWrite" "noReadOrWrite"

The enforced behavior if the constraint formula returns false.

Responses

Request samples

Content type
application/json
{
  • "Range": "string",
  • "Formula": "string",
  • "FalseMode": "noWrite"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "dataConstraintCreated": "string"
}

Updates the specified data constraint.

Updates the specified data constraint.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
sheetId
required
string
dataConstraintId
required
string
Request Body schema: application/json
required
Range
string

The range that is being used to set data constraint. For example A:A or B:B. Must be one column.

Formula
string

The formula used for validation

FalseMode
string
Enum: "noWrite" "noReadOrWrite"

The enforced behavior if the constraint formula returns false.

Responses

Request samples

Content type
application/json
{
  • "Range": "string",
  • "Formula": "string",
  • "FalseMode": "noWrite"
}

Response samples

Content type
application/json
{
  • "success": true
}

Deletes the specified data constraint.

Deletes the specified data constraint.

Authorizations:
BearerAuth
path Parameters
workbookId
required
string
sheetId
required
string
dataConstraintId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Database Operations

Appends cell array to end of sheet.

Appends cell array to end of sheet.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The cell data to append to the end of the sheet. Data is sent as strings and will be automatically parsed and typed server side.

Cells
Array of strings[ items ]

Responses

Request samples

Content type
application/json
{
  • "Cells": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "firstAppendedRowIndex": 0,
  • "numberOfRowsAppended": 0
}

Find a single row in the sheet

Authorizations:
BearerAuth
Request Body schema: application/json
required

Request body containing the filter formula with COL

matchFormula
required
string

The formula to match rows against.

includeRowNumbers
boolean
Default: false

Whether to include 1-indexed row numbers in the response

Responses

Request samples

Content type
application/json
{
  • "matchFormula": "string",
  • "includeRowNumbers": false
}

Response samples

Content type
application/json
[
  • [
    ]
]

Find a multiple rows in the sheet

Authorizations:
BearerAuth
Request Body schema: application/json
required

Request body containing the filter formula with COL syntax

matchFormula
required
string

The formula to match rows against.

includeRowNumbers
boolean
Default: false

Whether to include 1-indexed row numbers in the response

Responses

Request samples

Content type
application/json
{
  • "matchFormula": "string",
  • "includeRowNumbers": false
}

Response samples

Content type
application/json
[
  • [
    ]
]

Delete a single row in the sheet

Authorizations:
BearerAuth
Request Body schema: application/json
required

Request body containing the filter formula with COL syntax

matchFormula
required
string

Responses

Request samples

Content type
application/json
{
  • "matchFormula": "string"
}

Response samples

Content type
application/json
{
  • "rowsDeleted": 0
}

Delete multiple rows in the sheet

Authorizations:
BearerAuth
Request Body schema: application/json
required

Request body containing the filter formula with COL syntax

matchFormula
required
string

Responses

Request samples

Content type
application/json
{
  • "matchFormula": "string"
}

Response samples

Content type
application/json
{
  • "rowsDeleted": 0
}

Replace a single row in the sheet

Authorizations:
BearerAuth
Request Body schema: application/json
required

Request body containing the filter formula and values to replace with

matchFormula
required
string

The formula to match rows against.

replaceWith
required
Array of strings

An array of values to replace the matching row with.

Responses

Request samples

Content type
application/json
{
  • "matchFormula": "string",
  • "replaceWith": [
    ]
}

Response samples

Content type
application/json
{
  • "rowsReplaced": 0
}

Replace multiple rows in the sheet

Authorizations:
BearerAuth
Request Body schema: application/json
required

Request body containing the filter formula and values to replace with

matchFormula
required
string

The formula to match rows against.

replaceWith
required
Array of strings

An array of values to replace the matching rows with.

Responses

Request samples

Content type
application/json
{
  • "matchFormula": "string",
  • "replaceWith": [
    ]
}

Response samples

Content type
application/json
{
  • "rowsReplaced": 0
}

Charts

Creates or updates a new chart type with parameters.

Creates or updates a new chart type with parameters.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The chart to create.

Title
required
string
Help
required
string
required
Array of objects
required
Array of objects
Target
required
string
Language
required
string

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Help": "string",
  • "Parameters": [
    ],
  • "Assets": [
    ],
  • "Target": "string",
  • "Language": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "chartTypeId": "string"
}

Lists available chart types for the authenticated user.

Lists available chart types for the authenticated user.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Updates the specified chart type.

Updates the specified chart type.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The chart type to create.

Title
required
string
Help
required
string
required
Array of objects
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "Title": "string",
  • "Help": "string",
  • "Parameters": [
    ],
  • "Assets": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Creates a new instance of a chart of type chartId.

Creates a new instance of a chart of type chartId.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The chart instance to create.

ChartTypeID
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "ChartTypeID": "string",
  • "Parameters": { }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "chartId": "string"
}

Updates the specified chart instance.

Updates the specified chart instance.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The chart to update.

ChartTypeID
required
string
Parameters
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "ChartTypeID": "string",
  • "Parameters": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Deletes a specified chart instance.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Returns assets named {filename}. For example, index.html or main.css.

Authorizations:
BearerAuth

Responses

Returns the data associated with the chart. It's returned as an json array, which each element of the array corresponding to a processed input value.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "Data": [ ],
  • "Status": { },
  • "SheetID": "string"
}

File Handling

Lists all files in the workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Adds a new file.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The file to be added to the sheet.

Name
string

File name, including extension.

Content
string

The contents of the file, as a base64 encoded string.

IsPublic
boolean

Sets whether or not the file is publicly accessible.

Responses

Request samples

Content type
application/json
{
  • "Name": "string",
  • "Content": "string",
  • "IsPublic": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "fileCreated": "string"
}

Serves the content of the file with the correct mime-type headers. Must have view access to the workbook to retrieve the file.

Authorizations:
BearerAuth

Responses

Serves the content of the file with the correct mime-type headers. Serves asset to anyone (fully public).

Authorizations:
BearerAuth

Responses

Deletes the specified file

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Updates the privacy settings of the file.

Authorizations:
BearerAuth
query Parameters
isPublic
boolean

Sets the privacy setting of the file. Must be either 'true' or 'false'.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Replaces the contents of the file.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The file to be replaced

Content
string

The new contents of the file, as a base64 encoded string.

Responses

Request samples

Content type
application/json
{
  • "Content": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Version Control and Checkpoints

Get list of available versions.

Get list of available versions.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

Sets the next version to a previous version (e.g., an "undo" operation).

Sets the next version to a previous version (e.g., and "undo" operation).

Authorizations:
BearerAuth
Request Body schema: application/json
required

Data about the cells to paste.

SetHeadToVersion
integer

The version to revert to. This will become a new version.

Responses

Request samples

Content type
application/json
{
  • "SetHeadToVersion": 0
}

Response samples

Content type
application/json
{
  • "success": true
}

Returns a list of checkpoints for the workbook.

Returns a list of checkpoints for the workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a new checkpoint for the workbook. Only the most recent 5 checkpoints will be stored.

Creates a new checkpoint for the workbook. Only the most recent 5 checkpoints will be stored.

Authorizations:
BearerAuth
Request Body schema: application/json
required

Data about the checkpoint to create.

Note
string

A note to associate with the checkpoint.

Responses

Request samples

Content type
application/json
{
  • "Note": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "checkpointCreated": "string"
}

Restores the workbook to the state of the specified checkpoint.

Restores the workbook to the state of the specified checkpoint.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Creates a duplicate workbook from the checkpoint.

Creates a duplicate workbook from the checkpoint.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "workbookId": "string"
}

Collaboration and Sharing

Creates a new access rule for the workbook.

Creates a new access rule for the workbook.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The access rule to create.

AccessID
string

The access ID. Use email address for individuals or *@domain.com for domains.

AccessLevel
number

The access level to grant.

Notify
boolean

Notify the recipients if possible.

FileID
string

The File ID of what is being shared. If workbook, use workbook ID. If sheet, use sheet ID.

Responses

Request samples

Content type
application/json
{
  • "AccessID": "string",
  • "AccessLevel": 0,
  • "Notify": true,
  • "FileID": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "accessRuleId": "string"
}

Gets the list of access rules for this workbook.

Gets the list of access rules for this workbook.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Permanently deletes the specified access rule.

Permanently deletes the specified access rule.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Updates the access level for the specified access rule.

Updates the access level for the specified access rule.

Authorizations:
BearerAuth
query Parameters
accessLevel
required
number

The new access level of the rule.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

A long polling endpoint that responds the the view state of other clients in the sheet.

A long polling endpoint that responds the the view state of other clients in the sheet.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "ClientID": "string",
  • "Email": "string",
  • "ActiveRow": "string",
  • "ActiveCol": "string"
}

Send view state data to the server for updating the collaboration view.

Send view state data to the server for updating the collaboration view.

Authorizations:
BearerAuth
Request Body schema: application/json
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "events": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Sends an email notification to another SheetRocks user.

Authorizations:
BearerAuth
Request Body schema: application/json
required

Details about the notification. The notification will always be sent from no-reply@sheet.rocks

Email
required
string

The email address of the recipient. Must be a valid SheetRocks user.

Subject
required
string

The subject of the email

Message
required
string

This message will appear above the call to action in the notification.

Link
required
string

The link to the sheet that the user should be taken to when they click the call to action button. Must start with https://sheet.rocks

LinkText
required
string

The text that will appear on the call to action button.

Farewell
required
string

This message will appear below the call to action in the notification.

Signature
required
string

This message will appear below the farewell in the notification.

Responses

Request samples

Content type
application/json
{
  • "Email": "string",
  • "Subject": "string",
  • "Message": "string",
  • "Link": "string",
  • "LinkText": "string",
  • "Farewell": "string",
  • "Signature": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Send an email report

Authorizations:
BearerAuth
Request Body schema: application/json
required
Email
string <email>
Subject
string
Preheader
string
object
Farewell
string
Signature
string

Responses

Request samples

Content type
application/json
{
  • "Email": "user@example.com",
  • "Subject": "string",
  • "Preheader": "string",
  • "Report": {
    },
  • "Farewell": "string",
  • "Signature": "string"
}

Custom Applications

If the file is receipt in PDF, JPG, or PNG, extracts expense data from the file.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "total": "string",
  • "success": true
}

Sets the custom domain for the workbook.

Sets the custom domain for the workbook. Applies to apps, not the sheet.rocks backend.

Authorizations:
BearerAuth
query Parameters
newDomain
string

The new custom domain for the workbook.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Returns a list of the webhooks.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new webhook to workbook.

Authorizations:
BearerAuth
query Parameters
name
any

Name of webhook.

route
any

URL of webhook.

runtime
any

Runtime of webhook.

Responses

Response samples

Content type
application/json
{
  • "webhookCreated": "string",
  • "success": true
}

Deletes a webhook.

Authorizations:
BearerAuth
query Parameters
webhookId
any

ID of webhook to delete.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Edits a webhook.

Authorizations:
BearerAuth
query Parameters
name
any

New name of webhook.

route
any

New route of webhook.

filesChanged.
any

If false, only name and route will be updated.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Creates or replaces a formula.

Creates or replaces a new formula. Keyed according to the Name() of the formula.

Authorizations:
BearerAuth
Request Body schema: application/json
required

The script to create or replace.

ScriptText
required
string

Responses

Request samples

Content type
application/json
{
  • "ScriptText": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}