Download OpenAPI specification:Download
Manipulate your spreadsheet from a RESTful API.
Returns list of workbooks owned by the authenticated user.
{- "MyWorkbooks": [
- {
- "ID": "string",
- "UserId": "string",
- "UserName": "string",
- "UserEmail": "string",
- "Name": "string",
- "CreatedOn": "string",
- "IsTrashed": true,
- "Sheets": [
- "string"
], - "Location": "string"
}
], - "SharedWorkbooks": [
- {
- "ID": "string",
- "UserId": "string",
- "UserName": "string",
- "UserEmail": "string",
- "Name": "string",
- "CreatedOn": "string",
- "IsTrashed": true,
- "Sheets": [
- "string"
], - "Location": "string"
}
], - "AccessRules": [
- {
- "ID": "string",
- "AccessID": "string",
- "WorkbookID": "string",
- "AccessLevel": 0
}
]
}
Creates a new workbook.
Timezone | string An IANA timezone string. If not provided or invalid, workbook is created in UTC. |
{- "Timezone": "string"
}
{- "success": true,
- "workbookId": "string",
- "firstSheetId": "string"
}
Creates a new workbook, initialized with a pre-defined template.
Timezone | string An IANA timezone string. If not provided or invalid, workbook is created in UTC. |
Template | string |
{- "Timezone": "string",
- "Template": "string"
}
{- "success": true,
- "workbookId": "string",
- "firstSheetId": "string"
}
Returns metadata about the workbook.
{- "ID": "string",
- "Name": "string",
- "CreatedOn": "string",
- "Sheets": [
- {
- "ID": "string",
- "Name": "string",
- "CreatedOn": "string"
}
], - "Location": "string",
- "Theme": "string"
}
Moves the file or folder at src to the folder at dest.
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). |
{- "success": true
}
Creates a new automation for the specified workbook.
workbookId required | string |
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. |
{- "Name": "string",
- "Runtime": "string",
- "AutomationText": "string",
- "RunOnSchedule": true,
- "Schedule": {
- "ScheduleType": "HOUR",
- "Hour": 0,
- "Minute": 0,
- "Date": 0,
- "DayOfWeek": 0
}, - "RunOnChange": true,
- "ChangeRange": "string"
}
{- "automationCreated": "string"
}
Retrieves all automations for the specified workbook.
workbookId required | string |
[- {
- "ID": "string",
- "Name": "string",
- "Runtime": "string",
- "AutomationText": "string",
- "RunOnSchedule": true,
- "Schedule": {
- "ScheduleType": "HOUR",
- "Hour": 0,
- "Minute": 0,
- "Date": 0,
- "DayOfWeek": 0
}, - "RunOnChange": true,
- "ChangeRange": "string",
- "Logs": [
- {
- "message": "string",
- "timestamp": "string"
}
], - "SheetId": "string"
}
]
Manually runs the specified automation.
workbookId required | string |
automationId required | string |
SheetId | string Optional sheet ID for dynamic automation. |
{- "SheetId": "string"
}
Updates the specified automation.
workbookId required | string |
automationId required | string |
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. |
{- "Name": "string",
- "Runtime": "string",
- "AutomationText": "string",
- "RunOnSchedule": true,
- "Schedule": {
- "ScheduleType": "HOUR",
- "Hour": 0,
- "Minute": 0,
- "Date": 0,
- "DayOfWeek": 0
}, - "RunOnChange": true,
- "ChangeRange": "string"
}
{- "success": true
}
Retrieves all named ranges for the specified workbook.
workbookId required | string |
[- {
- "ID": "string",
- "Name": "string",
- "Description": "string",
- "Range": "string"
}
]
Creates a new named range for the specified workbook.
workbookId required | string |
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". |
{- "Name": "string",
- "Description": "string",
- "Range": "string",
- "Type": "string"
}
{- "namedRangeCreated": "string"
}
Updates the specified named range.
workbookId required | string |
namedRangeId required | string |
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". |
{- "Name": "string",
- "Range": "string",
- "Description": "string",
- "Type": "string"
}
{- "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.
workbookId required | string |
object |
{- "AutoNameRange": {
- "Range": "string",
- "LabelLocation": "topRow",
- "AssignInputsAndOutputs": true
}
}
{- "success": true,
- "numNamedRangesCreated": 0
}
Sets the value of given cells. Will trigger recalculation.
The cell to set.
Array of objects |
{- "Cells": [
- {
- "Row": 0,
- "Col": 0,
- "CellValue": "string"
}
]
}
{- "success": true
}
Sets the value of given cells. The cells must within a named range of type "input".
The cell to set.
Array of objects |
{- "Cells": [
- {
- "Row": 0,
- "Col": 0,
- "CellValue": "string"
}
]
}
{- "success": true
}
Gets page number for given row. This is a utility function that's used by the UI.
rowStart | number The row to find the page it falls into. |
{- "Page": 0
}
Appends cell array to end of sheet.
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 ] |
{- "Cells": [
- [
- "string"
]
]
}
{- "success": true,
- "firstAppendedRowIndex": 0,
- "numberOfRowsAppended": 0
}
Gets a variety of values required for initial render of a sheet.
{- "Cells": [
- [
- {
- "Value": "string",
- "Formula": "string"
}
]
], - "Settings": {
- "Settings": {
- "ColWidths": { },
- "RowHeights": { }
}, - "Config": {
- "NRows": 0
}
}, - "Filters": [
- {
- "FilterType": "string",
- "Include": "string"
}
], - "Dropdowns": [
- { }
]
}
Replaces settings with new settings.
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. |
{- "ColWidths": { },
- "RowHeights": [ ],
- "LastFrozenRow": 0,
- "LastFrozenCol": 0,
- "HideGridlines": true
}
{- "success": true
}
Deletes the contents of the cells in the specified range.
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. |
{- "success": true
}
Gets the values of cells in the specified range.
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. |
[- [
- "string"
]
]
Deletes the contents of the cells in the specified range. The range must be within a named range of type "input".
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. |
{- "success": true
}
Clears and removes the specified rows.
deleteRowStart | integer The index of the first row to delete. |
deleteRowEnd | integer The index of the last row to delete. |
{- "success": true
}
Adds columns to the spreadsheet.
insertAfter | integer The index of the column to insert additional rows after. |
insertColumns | integer The number of columns to add. |
{- "success": true
}
Clears and removes the specified columns.
deleteColStart | integer The index of the first row to delete. |
deleteColEnd | integer The index of the last row to delete. |
{- "success": true
}
Moves a range of columns to a new location in the sheet.
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"). |
{- "success": true
}
Searches the sheet for the provided string. Executes a case-insensitive search with a maximum of 100 results.
searchString | string The string to search the sheet for. |
{- "PageList": [
- { }
], - "LastPage": 0,
- "LastPageIndex": 0,
- "Total": 0,
- "Data": { }
}
Returns currently copied content as a 2D array of strings
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 |
{- "StartRow": 0,
- "StartCol": 0,
- "EndRow": true,
- "EndCol": true
}
[- [
- "string"
]
]
Pastes from clipboard
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. |
{- "DestRow": 0,
- "DestCol": 0,
- "IsCut": true,
- "ValuesOnly": true,
- "CutFromSheetId": "string",
- "CutRowStart": 0,
- "CutRowEnd": 0,
- "CutColStart": 0,
- "CutColEnd": 0,
- "CutColsOnly": true,
- "CutRowsOnly": true
}
{- "success": true,
- "OffsetRow": 0,
- "OffSetCol": 0
}
Autofills selection
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'. |
{- "RowStart": 0,
- "RowEnd": 0,
- "ColStart": 0,
- "ColEnd": 0,
- "DestRow": 0,
- "DestCol": 0,
- "FillThroughRow": 0,
- "FillThroughCol": 0,
- "AutoFillDirection": "string"
}
{- "success": true
}
Sort a range according to the specified column.
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. |
{- "RowStart": 0,
- "RowEnd": 0,
- "ColStart": 0,
- "ColEnd": 0,
- "IsColsOnly": true,
- "IsRowsOnly": true,
- "SortByCols": [
- {
- "Column": 0,
- "Descending": true
}
], - "ContainsHeader": true
}
{- "success": true
}
Remove duplicates from the provided range.
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. |
{- "Range": "string",
- "HasHeader": true,
- "Keys": [
- 0
]
}
{- "success": true,
- "unique": 0,
- "removed": 0
}
Appends a format to a given sheet.
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. |
{- "Type": "string",
- "Ranges": [
- "string"
], - "Formula": "string",
- "Styles": [
- { }
]
}
{- "success": true
}
Replaces the specified format in the sheet.
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. |
{- "Type": "string",
- "Ranges": [
- "string"
], - "Formula": "string",
- "Styles": [
- { }
]
}
{- "success": true
}
Reorder formats. Formats are applied in order. This is most helpful for conditional formatting.
from | integer The index of the source format. |
to | integer The destination index. |
{- "success": true
}
The dropdown to add or edit.
Values | Array of strings |
Ranges | Array of strings |
Index | number |
[- {
- "Values": [
- "string"
], - "Ranges": [
- "string"
], - "Index": 0
}
]
{- "success": true
}
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. |
{- "Name": "string",
- "FilterType": "string",
- "Range": "string",
- "HasHeader": true,
- "Include": [
- "string"
]
}
{- "success": true
}
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. |
{- "Name": "string",
- "FilterType": "string",
- "Range": "string",
- "HasHeader": true,
- "Include": [
- "string"
]
}
{- "success": true
}
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. |
[- "string"
]
workbookId required | string |
sheetId required | string |
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. |
{- "Range": "string",
- "Formula": "string",
- "FalseMode": "noWrite"
}
{- "success": true,
- "dataConstraintCreated": "string"
}
Updates the specified data constraint.
workbookId required | string |
sheetId required | string |
dataConstraintId required | string |
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. |
{- "Range": "string",
- "Formula": "string",
- "FalseMode": "noWrite"
}
{- "success": true
}
Appends cell array to end of sheet.
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 ] |
{- "Cells": [
- [
- "string"
]
]
}
{- "success": true,
- "firstAppendedRowIndex": 0,
- "numberOfRowsAppended": 0
}
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 |
{- "matchFormula": "string",
- "includeRowNumbers": false
}
[- [
- "string"
]
]
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 |
{- "matchFormula": "string",
- "includeRowNumbers": false
}
[- [
- "string"
]
]
Request body containing the filter formula with COL syntax
matchFormula required | string |
{- "matchFormula": "string"
}
{- "rowsDeleted": 0
}
Request body containing the filter formula with COL syntax
matchFormula required | string |
{- "matchFormula": "string"
}
{- "rowsDeleted": 0
}
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. |
{- "matchFormula": "string",
- "replaceWith": [
- "string"
]
}
{- "rowsReplaced": 0
}
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. |
{- "matchFormula": "string",
- "replaceWith": [
- "string"
]
}
{- "rowsReplaced": 0
}
Creates or updates a new chart type with parameters.
The chart to create.
Title required | string |
Help required | string |
required | Array of objects |
required | Array of objects |
Target required | string |
Language required | string |
{- "Title": "string",
- "Help": "string",
- "Parameters": [
- {
- "Category": "string",
- "InputList": [
- {
- "Label": "string",
- "Type": "string",
- "Options": [
- "string"
]
}
]
}
], - "Assets": [
- {
- "Filename": "string",
- "MimeType": "string",
- "Content": "string"
}
], - "Target": "string",
- "Language": "string"
}
{- "success": true,
- "chartTypeId": "string"
}
Lists available chart types for the authenticated user.
[- {
- "ID": "string",
- "Title": "string",
- "Parameters": [
- {
- "Type": 0,
- "Title": "string"
}
], - "Assets": [
- {
- "Filename": "string",
- "MimeType": "string",
- "Content": "string"
}
], - "Help": "string",
- "UserId": "string",
- "CreatedOn": "string"
}
]
Updates the specified chart type.
The chart type to create.
Title required | string |
Help required | string |
required | Array of objects |
required | Array of objects |
{- "Title": "string",
- "Help": "string",
- "Parameters": [
- {
- "Title": "string",
- "Type": 0
}
], - "Assets": [
- {
- "Filename": "string",
- "MimeType": "string",
- "Content": "string"
}
]
}
{- "success": true
}
Creates a new instance of a chart of type chartId.
The chart instance to create.
ChartTypeID required | string |
required | object |
{- "ChartTypeID": "string",
- "Parameters": { }
}
{- "success": true,
- "chartId": "string"
}
Updates the specified chart instance.
The chart to update.
ChartTypeID required | string |
Parameters required | Array of strings |
{- "ChartTypeID": "string",
- "Parameters": [
- "string"
]
}
{- "success": true
}
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. |
{- "Name": "string",
- "Content": "string",
- "IsPublic": true
}
{- "success": true,
- "fileCreated": "string"
}
The file to be replaced
Content | string The new contents of the file, as a base64 encoded string. |
{- "Content": "string"
}
{- "success": true
}
Sets the next version to a previous version (e.g., and "undo" operation).
Data about the cells to paste.
SetHeadToVersion | integer The version to revert to. This will become a new version. |
{- "SetHeadToVersion": 0
}
{- "success": true
}
Creates a new checkpoint for the workbook. Only the most recent 5 checkpoints will be stored.
Data about the checkpoint to create.
Note | string A note to associate with the checkpoint. |
{- "Note": "string"
}
{- "success": true,
- "checkpointCreated": "string"
}
Creates a new access rule for the workbook.
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. |
{- "AccessID": "string",
- "AccessLevel": 0,
- "Notify": true,
- "FileID": "string"
}
{- "success": true,
- "accessRuleId": "string"
}
A long polling endpoint that responds the the view state of other clients in the sheet.
{- "ClientID": "string",
- "Email": "string",
- "ActiveRow": "string",
- "ActiveCol": "string"
}
Send view state data to the server for updating the collaboration view.
Array of objects |
{- "events": [
- {
- "ClientID": "string",
- "ActiveRow": "string",
- "ActiveCol": "string"
}
]
}
{- "success": true
}
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. |
{- "Email": "string",
- "Subject": "string",
- "Message": "string",
- "Link": "string",
- "LinkText": "string",
- "Farewell": "string",
- "Signature": "string"
}
{- "success": true
}
string <email> | |
Subject | string |
Preheader | string |
object | |
Farewell | string |
Signature | string |
{- "Email": "user@example.com",
- "Subject": "string",
- "Preheader": "string",
- "Report": {
- "IntroParagraph": "string",
- "Tables": [
- {
- "Title": "string",
- "Description": "string",
- "Data": [
- [
- {
- "Content": "string",
- "IsBold": true,
- "Size": "regular"
}
]
]
}
]
}, - "Farewell": "string",
- "Signature": "string"
}
Sets the custom domain for the workbook. Applies to apps, not the sheet.rocks backend.
newDomain | string The new custom domain for the workbook. |
{- "success": true
}
Creates or replaces a new formula. Keyed according to the Name() of the formula.
The script to create or replace.
ScriptText required | string |
{- "ScriptText": "string"
}
{- "success": true
}