# gigasheet Documentation > Data & Analytics APIs for Gigasheet Append .md to any documentation page URL to get its markdown version. ## API Reference - [Getting Started](https://gigasheet.readme.io/reference/getting-started.md): See Authentication page for how to create a key, then try it here! - [Authentication](https://gigasheet.readme.io/reference/authentication.md): This page describes how to set up a Gigasheet API key. - [End to End Example](https://gigasheet.readme.io/reference/end-to-end-example.md): Walkthrough of an end to end example using API calls - [Helpful Examples](https://gigasheet.readme.io/reference/helpful-examples.md) - [Filter Model Detail Guide](https://gigasheet.readme.io/reference/filters.md): Details of how to specify filters in your API calls - [Model Context Protocol](https://gigasheet.readme.io/reference/mcp-best-practices.md): Setup and best practices for Gigasheet's MCP server - [Billing and Costs](https://gigasheet.readme.io/reference/billing-and-costs.md) - [Sheet Assistant](https://gigasheet.readme.io/reference/post_ai-handle-chat.md): AI analysis assistant, only available for sheets where you have write permissions - [Formula Builder](https://gigasheet.readme.io/reference/post_ai-handle-formulate.md): AI formula builder, available for sheets where you have read permissions - [Sheet Assistant History](https://gigasheet.readme.io/reference/get_ai-handle-logs.md): Get history of recent messages with the sheet assistant - [Delete Sheet Assistant history](https://gigasheet.readme.io/reference/delete_ai-handle-logs.md): Delete the sheet assistant messages - [Model Context Protocol endpoint](https://gigasheet.readme.io/reference/post_mcp.md): Implements the Model Context Protocol (MCP) over HTTP, allowing an LLM to query Sheet Assistant as an MCP Tool. To use, send stdin from the LLM as the body of a POST to this endpoint, and send the response back over stdout Example body: {"method":"tools/list","params":{"protocolVersion":"2024-11-05","capabilities":{}},"jsonrpc":"2.0","id":0}. - [List available Gigasheet plans.](https://gigasheet.readme.io/reference/get_billing-plans.md) - [Change column data type](https://gigasheet.readme.io/reference/post_cast-column-handle-column.md): This endpoint returns a Json response acknowledging if the request to change data type was successful. - [Changes a string's case based on payload](https://gigasheet.readme.io/reference/post_change-case-handle-col.md): This endpoint changes the case of a column to Uppercase, Lowercase, Capitalized, or Proper - [Clean company names.](https://gigasheet.readme.io/reference/post_clean-company-name-handle-col.md): Clean company names by stripping suffixes. Currently, this works on English-alphabet versions of names. - [Combine columns](https://gigasheet.readme.io/reference/post_combine-columns-handle.md): This endpoint returns a Json response acknowledging if the request to combine columns was successful. - [Create a connection.](https://gigasheet.readme.io/reference/post_connectors-connection-create.md): Creates a connection and returns the connection id and headers (fields) associated with the connection. - [Get parameters for connection.](https://gigasheet.readme.io/reference/get_connectors-connection-params-connectorname.md): For a given source type, get the relevant parameters that need to be supplied by the user. - [Get the relevant parameters to start an import.](https://gigasheet.readme.io/reference/post_connectors-connection-params-connectorname.md): For a given source type, get the relevant parameters that need to be supplied by the user. - [Get connection.](https://gigasheet.readme.io/reference/get_connectors-connection-connectionid.md): Returns connection details for a given connection ID. - [Get headers.](https://gigasheet.readme.io/reference/post_connectors-connection-connectionid-headers.md): Returns headers for a given stream and connection ID. - [Retrieve connection infos.](https://gigasheet.readme.io/reference/get_connectors-connections.md): Retrieves connections information relevant to the user. - [Run/schedule a connection.](https://gigasheet.readme.io/reference/post_connectors-create.md): Creates (if needed) and runs a connection with the given configuration. If a schedule is passed, the connector will be run on that schedule. (If there was an existing schedule, it will be overwritten.) - [Get parameters for export.](https://gigasheet.readme.io/reference/get_connectors-export-params-connectorname.md): For a given export destination, get the relevant parameters that need to be supplied by the user. - [Get parameters for export given parameters provided by user.](https://gigasheet.readme.io/reference/post_connectors-export-params-connectorname.md): For a given source type, get the relevant parameters that need to be supplied by the user. - [Pause a connector.](https://gigasheet.readme.io/reference/patch_connectors-pause-connectionid.md): Pauses any scheduled runs for the given connector. - [Reset a connector.](https://gigasheet.readme.io/reference/delete_connectors-reset-type-connectorname-connectionid.md): Removes any scheduled runs for the given connector and resets the connector state. - [Get connected data source information.](https://gigasheet.readme.io/reference/get_connectors-sources.md): Retrieves information about connected data sources for the user. - [Create a source.](https://gigasheet.readme.io/reference/post_connectors-sources-create.md): Creates a source of the given source type for user. - [Get parameters for source.](https://gigasheet.readme.io/reference/get_connectors-sources-params-connectorname.md): For a given source type, get the relevant parameters that need to be supplied by the user. - [Get parameters for source.](https://gigasheet.readme.io/reference/post_connectors-sources-params-connectorname.md): For a given source type, get the relevant parameters that need to be supplied by the user. - [Delete a source.](https://gigasheet.readme.io/reference/delete_connectors-sources-connectorname.md): Deletes a source of the given source type for user. - [Check if source is available.](https://gigasheet.readme.io/reference/post_connectors-sources-connectorname-check.md): Checks if a source of the given source type for user is available. Updates corresponding connections statuses. - [Get source status.](https://gigasheet.readme.io/reference/get_connectors-sources-connectorname-status.md): Get source status for a given source type for the user. - [Unpause a connector.](https://gigasheet.readme.io/reference/patch_connectors-unpause-connectionid.md): Unpauses any scheduled runs for the given connector. - [Initiate export of a dataset to the given connector.](https://gigasheet.readme.io/reference/post_connectors-handle-export.md): Initiates an export of the dataset to the given connector. - [Describe dataset](https://gigasheet.readme.io/reference/get_dataset-handle.md): This endpoint returns metadata about a dataset. It includes things like file name, column names and types, and modification timestamp. - [Append to a sheet](https://gigasheet.readme.io/reference/post_dataset-handle-append.md): Append rows to an existing sheet. - [Append to a sheet](https://gigasheet.readme.io/reference/post_dataset-handle-append-by-name.md): Append rows to an existing sheet. Uses column names rather than ids. - [Append to a sheet data from another sheet](https://gigasheet.readme.io/reference/post_dataset-handle-append-from-sheet-from-handle-by-name.md): Append data from a source sheet to the target sheet. Uses column names rather than ids. Matches columns from the source sheet to the target sheet based on column names. - [Generate tips](https://gigasheet.readme.io/reference/post_dataset-handle-assistant-tips.md): Generate tips for analyses. - [Get Columns](https://gigasheet.readme.io/reference/get_dataset-handle-columns.md): Get column details for a sheet, including column IDs - [Set currency for a column](https://gigasheet.readme.io/reference/put_dataset-handle-columns-column-currency.md): Sets the currency for the specified column. - [Unset currency for a column](https://gigasheet.readme.io/reference/delete_dataset-handle-columns-column-currency.md): Unsets the currency for the specified column. - [Add conditional labels to rows](https://gigasheet.readme.io/reference/post_dataset-handle-conditional-label-column.md): Add a label column to the dataset with values based on specified conditions - [Delete multiple columns in a sheet by name](https://gigasheet.readme.io/reference/post_dataset-handle-delete-columns-by-name.md): This endpoint will delete multiple columns in a sheet by their names - [Delete rows](https://gigasheet.readme.io/reference/delete_dataset-handle-delete-rows.md): Deletes selected rows in a file. The payload integer should be the row id (iterator #) of the row(s) to be deleted. The row id is subject to change and so best practice is to source it immediately before a delete. - [Delete rows matching a filter](https://gigasheet.readme.io/reference/delete_dataset-handle-delete-rows-matching-filter.md): Deletes rows in a file that match the selected filter. - [Delete rows not matching a filter](https://gigasheet.readme.io/reference/delete_dataset-handle-delete-rows-not-matching-filter.md): Deletes rows in a file that do not match the selected filter. - [Generate description](https://gigasheet.readme.io/reference/post_dataset-handle-description.md): Generate description of the sheet. - [Find and replace values in a sheet](https://gigasheet.readme.io/reference/post_dataset-handle-find-and-replace.md): This endpoint will return a new column with original column's name and updated 'found' values while updating original column's name to ‘Original Values - [column name] - [Run a given formula.](https://gigasheet.readme.io/reference/post_dataset-handle-formula.md): Create a new column based on the given formula input. A blank column can be generated with the formula "" . - [Edit a formula](https://gigasheet.readme.io/reference/post_dataset-handle-formula-edit-column.md): Replace a column created using a formula with a new formula. - [Formula sample result.](https://gigasheet.readme.io/reference/post_dataset-handle-formula-preview.md): Calculates a formula sample result and returns it back along with involved column values. - [Validate a given formula.](https://gigasheet.readme.io/reference/post_dataset-handle-formula-validate.md): Validate a given formula. - [Add iterator column](https://gigasheet.readme.io/reference/post_dataset-handle-iterator-column.md): Add an iterator column to the dataset based on current filters and order of the data. - [Get operation status](https://gigasheet.readme.io/reference/get_dataset-handle-operation-status.md): Get information about the last operation. - [Ensure column names are unique](https://gigasheet.readme.io/reference/post_dataset-handle-rename-columns-to-unique.md): Renames the columns in the sheet if needed, ensuring that all columns end up with unique names. Preserves original names of columns when possible if they are already unique. - [Query a sheet with GigaScript](https://gigasheet.readme.io/reference/post_dataset-handle-query.md): Runs a GigaScript program against a sheet and returns the matching rows as JSON, along with a link that opens the sheet showing the same results. GigaScript is a small query language; its syntax and behaviour are documented below. Errors are returned verbatim from the interpreter so that they can be acted on directly. # GigaScript reference GigaScript is a small query language for Gigasheet sheets. A program is a list of statements separated by `;`, ending in `DISPLAY`: ``` FILTER Billing Code = 99214; SORT Negotiated Rate DESC; LIMIT 25; DISPLAY ``` Run it with `POST /dataset/{handle}/query`, sending `{"query": ""}`. The language is deliberately forgiving of the ways a language model tends to write queries, and its error messages are written to be read and acted on. When a program is rejected, the response body carries the interpreter's message unchanged — it will usually tell you exactly what to write instead. ## A worked example ```bash curl -X POST "https://api.gigasheet.com/dataset/$HANDLE/query?count=true" \ -H "X-GIGASHEET-TOKEN: $TOKEN" \ -H 'Content-Type: application/json' \ -d '{"query": "FILTER Billing Code = 99214; SORT Negotiated Rate DESC; LIMIT 3; DISPLAY"}' ``` ```json { "headers": ["#", "NPI", "Billing Code", "Negotiated Rate"], "types": ["UInt64", "String", "String", "Float64"], "rows": [ [1, "1234123456", "99214", 340.60], [2, "1298765432", "99214", 121.05], [3, "1555512345", "99214", 34.60] ], "counts": {"sheet_rows": 2343434, "matching_rows": 1039, "matching_groups": 0}, "permalink": "https://app.gigasheet.com/spreadsheet/rates.csv//" } ``` `headers`, `types` and every entry in `rows` are the same length and in the same order, so `rows[n][i]` is always the value of `headers[i]`. ## Statements | Statement | Purpose | |---|---| | `DISPLAY` | Produce the result. Exactly one, and it must be last. | | `COLUMN ` | Show this column. Repeat to select several; omit to show all. | | `FILTER ` | Keep matching rows. Repeat to require all of them. | | `SORT ASC\|DESC` | Order the result. | | `ROWGROUPBY ` | Group rows by a column. | | `AGGREGATE ()` | Summarise a column within each group. | | `LIMIT ` | Return at most `n` rows, 1 to 10000. Defaults to 10. | | `HELP` | Return a one-paragraph summary of the language. | `DISPLAY` on its own returns the first rows of every column, which is the quickest way to learn a sheet you have not seen before. Column names are matched **exactly, including case**, and may contain spaces — `FILTER Linkedin Company Industry contains health` is a single column named `Linkedin Company Industry`. Sheets with two columns of the same name are rejected; call `POST /dataset/{handle}/rename-columns-to-unique` first. ## Filtering Supported operators: `=`, `==`, `!=`, `>`, `>=`, `<`, `<=`, `contains`, `not contains`, `starts with`, `ends with`, `like`, `in`, `not in`, `is null`, `is not null`, `is empty`, `is not empty`. **Case sensitivity depends on the operator.** `=` and `in` match case exactly, on the assumption that you know the value you are looking for. `contains`, `not contains` and `like` ignore case, on the assumption that you are searching. So `FILTER Region = west` will not match `West`, but `FILTER Region contains west` will. **Repeating `FILTER` means AND.** There is no `AND` keyword — writing one is an error that tells you to split the clause: ``` FILTER Status = Open; FILTER Revenue > 100000; DISPLAY ``` **For OR, use one `FILTER` and join with `OR`:** ``` FILTER Region = West OR Region = East; DISPLAY ``` Two separate `FILTER`s on the same column with `=` are rejected rather than silently returning nothing, since AND-ing them can never match. `like` treats `%` as a wildcard and matches as a regular expression. ## Grouping and aggregation Grouping returns one row per distinct value, and always includes a `groupCount` column: ``` ROWGROUPBY Region; DISPLAY ``` → `headers: ["Region", "groupCount"]`, ordered by count, descending. That default ordering is why **`ROWGROUPBY` without an `AGGREGATE` rejects any `SORT`** — the order is already decided. Either drop the `SORT`, or give it something else to sort by: ``` ROWGROUPBY Region; AGGREGATE sum(Revenue); SORT Revenue DESC; DISPLAY ``` → `headers: ["Region", "groupCount", "sum(Revenue)"]` Rules worth knowing: - `AGGREGATE` requires `ROWGROUPBY`. - Any `AGGREGATE` other than the default `count()` **requires** a `SORT`. - The function call must be written `func(col)` or `func()` — `AGGREGATE sum Revenue` is an error. - Available functions: `sum`, `count`, `min`, `max`, `unique`, `avg`, `first`, `median`, `mode`. - `sum`, `avg` and `median` require a numeric column, and are rejected on text columns. - Only one `ROWGROUPBY` is supported. To look inside a group, `FILTER` on its value instead. - **A column mentioned only in `SORT` gets aggregated too**, with `sum` if it is numeric and `mode` otherwise, and appears in the results. `ROWGROUPBY Region; SORT Revenue DESC; DISPLAY` therefore returns `["Region", "groupCount", "sum(Revenue)"]`. Sorting by the group count is the default, so `SORT count() DESC` is accepted and ignored. `SORT count() ASC` is an error — to sort ascending by a count, aggregate a different column with `count(col)` and sort on that. ## Results - Ungrouped results always begin with the row number column, named `#`, of type `UInt64`. - Grouped results are the group column, then `groupCount`, then one column per aggregation. - `types` are storage types with the nullability wrapper removed. **Any value may be `null`** regardless of its type. - Integers too large for JSON to represent exactly (beyond 2^53) are returned as **strings**, to avoid silently losing precision. A `UInt64` column can therefore contain string values. ## Parameters | Parameter | Default | Effect | |---|---|---| | `count` | `false` | Add `counts` with `sheet_rows`, `matching_rows` and `matching_groups`. `matching_groups` is `0` when the query does not group. | | `show_state` | `false` | Add `client_state`, the compiled query. Useful when a program runs but does not do what you meant. | | `omit_rows` | `false` | Return only `headers`, `types` and `permalink`, running no query. Cheap way to inspect a sheet's schema. Cannot be combined with `count`. | ## Errors A problem with your program is a `400` whose `Message` is the interpreter's own text. A `502` means the query could not be compiled at all and is not something your program can fix. ## Limitations - Grouped queries return a `permalink`, but opening it does not currently restore the grouping (GIGA-7647). The rows and counts in the response are correct either way. - A statement beginning with `#` is treated as a comment and skipped. Because `#` is also the name of the row number column, a filter on it must not be the first thing in a statement. - `;` separates statements and so cannot appear inside a filter value. - Pivots are not supported. - [Rename columns by name](https://gigasheet.readme.io/reference/post_dataset-handle-rename-columns-by-name.md): Renames the columns in the sheet using column names. - [Select columns by name](https://gigasheet.readme.io/reference/post_dataset-handle-select-columns-by-name.md): Makes the file have only the provided columns, in the specified order. Deletes all other columns. Always keeps the row number column. - [Updates a single cell](https://gigasheet.readme.io/reference/put_dataset-handle-col-row.md): This endpoint returns a Json response acknowledging if the request to update a cell was successful. - [Update a single cell using column name and row number.](https://gigasheet.readme.io/reference/put_dataset-handle-col-row-by-name.md): Updates the specified cell based on given column name and row number. Errors if column name not in sheet or multiple columns have the requested name. - [Upsert rows in a sheet](https://gigasheet.readme.io/reference/put_dataset-handle-col-row-upsert-rows.md): Upsert rows in an existing sheet. Column id and row number is used to specify start position. Note that overlapping cells will be overwritten. - [Describe dataset version](https://gigasheet.readme.io/reference/get_dataset-handle-version.md): This endpoint returns metadata about a dataset in a specific version. It includes things like file name, column names and types, and modification timestamp. - [Insert a new row with empty/null values](https://gigasheet.readme.io/reference/post_datasets-handle-insert-blank-row.md): This endpoint will return a new row with initalized null value at the index provided - [Delete sheet](https://gigasheet.readme.io/reference/delete_delete-handle.md): Deletes the given sheet or empty folder. If recursive, deletes folder and all children. - [Get all supported formulas functions.](https://gigasheet.readme.io/reference/get_docs-formulas-functions.md): Returns the JSON that contains all supported functions with documentation. - [Explode the column with JSON](https://gigasheet.readme.io/reference/post_explode-json-handle-column.md): This endpoint extracts all keys in the request from JSON in the given column and adds a new column for each. If there was no key provided it will proceed with the most common keys up to 2000. - [Extract domain from URL column.](https://gigasheet.readme.io/reference/post_extract-domain-handle-col.md): Extracts the domain from a URL. - [Get Aggregations](https://gigasheet.readme.io/reference/post_file-handle-aggregation.md): Returns ungrouped aggregated values as specified in the grid payload - [Delete column](https://gigasheet.readme.io/reference/delete_files-handle-columns-column.md): Deletes a column from the sheet. - [Delete multiple columns in a sheet](https://gigasheet.readme.io/reference/post_files-handle-delete-multiple-columns.md): This endpoint will delete multiple columns in a sheet - [Cross file lookup](https://gigasheet.readme.io/reference/post_lookup-handle-col.md): This endpoint returns a Json response acknowledging if the lookup was successful. - [Split column](https://gigasheet.readme.io/reference/post_split-column-handle.md): Splits the values of a column into two or more columns based on a specified separator. - [Trims a column's whitespace](https://gigasheet.readme.io/reference/post_trim-whitespace-handle-col.md): This endpoint returns a Json response acknowledging if the whitespace trim was successful - [Explode the column with an array into multiple rows](https://gigasheet.readme.io/reference/post_unroll-delimited-column-handle-column.md): Explodes the arrays in a column into multiple rows. Each element of the array creates a new record. All other fields are kept. - [Set aggregate filter model](https://gigasheet.readme.io/reference/put_client-state-handle-aggregate-filter-model.md): Set aggregate filter model in the client state of a sheet. - [Set aggregations](https://gigasheet.readme.io/reference/put_client-state-handle-aggregations.md): Set aggregations in the client state of a sheet. - [Set column state](https://gigasheet.readme.io/reference/put_client-state-handle-column-state.md): Set column state in the client state of a sheet. - [Get current sheet state version](https://gigasheet.readme.io/reference/get_client-state-handle-current-version.md): Returns information about the current version of the sheet state. - [Set filter model](https://gigasheet.readme.io/reference/put_client-state-handle-filter-model.md): Set filter model in the client state of a sheet. - [Set group columns](https://gigasheet.readme.io/reference/put_client-state-handle-group-columns.md): Set group columns in the client state of a sheet. - [Reset client state](https://gigasheet.readme.io/reference/put_client-state-handle-reset.md): Reset the client state of a sheet to the default state. - [Set sort model](https://gigasheet.readme.io/reference/put_client-state-handle-sort-model.md): Set sort model in the client state of a sheet. - [Set visible columns](https://gigasheet.readme.io/reference/put_client-state-handle-visible-columns.md): Set visible columns in the client state of a sheet. - [Set client state](https://gigasheet.readme.io/reference/put_dataset-handle-clientstate.md): Sets the client state of a sheet given the client state string. - [Set client state by version id](https://gigasheet.readme.io/reference/put_dataset-handle-clientstate-version.md): Sets the client state of a sheet to the specified version. - [Returns a file's note](https://gigasheet.readme.io/reference/get_dataset-handle-note.md): This endpoint returns a Json response acknowledging if the request to get a file's note. was successful as well as the file note itself as a string - [Sets a file's note with a max length of 20K characters](https://gigasheet.readme.io/reference/put_dataset-handle-note.md): This endpoint returns a Json response acknowledging if the request to set a file's note was successful. - [Save current view](https://gigasheet.readme.io/reference/post_dataset-handle-save-current-view.md): This endpoint returns a Json response acknowledging if the request to save the file was successful. - [List views](https://gigasheet.readme.io/reference/get_dataset-handle-views.md): Returns the list of views on the sheet data. - [Create view](https://gigasheet.readme.io/reference/post_dataset-handle-views.md): Creates a view with the provided name, and based on the specified client state version. - [Get view](https://gigasheet.readme.io/reference/get_dataset-handle-views-view.md): Returns the view metadata. - [Refresh linked sheets](https://gigasheet.readme.io/reference/post_dataset-handle-views-refresh-linked-sheets.md): Recomputes the row count and column metadata of every linked sheet created from this sheet's views. - [Delete view](https://gigasheet.readme.io/reference/delete_dataset-handle-views-view.md): Deletes the specified view. - [Update view](https://gigasheet.readme.io/reference/patch_dataset-handle-views-view.md): Updates the client state of the specified view. - [Create linked sheet](https://gigasheet.readme.io/reference/post_dataset-handle-views-view-as-linked-sheet.md): Creates a linked sheet with the provided name, and based on the specified view. - [List files at the root directory.](https://gigasheet.readme.io/reference/get_datasets-1.md): Returns all datasets owned by the user at any folder depth. Since this may be a large amount of data may trim certain fields to keep response size manageable. - [List files in the given location.](https://gigasheet.readme.io/reference/get_datasets-handle.md) - [Copy file](https://gigasheet.readme.io/reference/post_file-handle-copy.md): This endpoint returns a Json response acknowledging if the request to copy a file was successful. - [Move file or folder](https://gigasheet.readme.io/reference/put_file-handle-directory.md): Move a file or folder into a folder or to the root of your Library. Folder must already exist and it is forbidden to create a directory loop. - [Create federated table](https://gigasheet.readme.io/reference/post_federated.md): Creates a federated table that queries all rows across the given member sheets without copying them. Members must share the same columns with compatible types and live on the same node. - [Create an empty file](https://gigasheet.readme.io/reference/post_files-blank.md): Create an empty file in your Library. - [Check federated table compatibility](https://gigasheet.readme.io/reference/post_federated-check.md): Checks whether the given member sheets can form a federated table and returns the proposed schema. Creates nothing. - [Combine files](https://gigasheet.readme.io/reference/post_files-combine.md): Combine files together into a new file. Column names and types must match. - [Combine files by name](https://gigasheet.readme.io/reference/post_files-combine-by-name.md): Combine files together into a new file using column header names. - [Validate combine by name request](https://gigasheet.readme.io/reference/post_files-combine-by-name-validate.md): Validates the combine by name request and returns all errors that might appear. - [Validate combine request](https://gigasheet.readme.io/reference/post_files-combine-validate.md): Validates the combine files request and returns all errors that might appear. - [Create folder](https://gigasheet.readme.io/reference/post_files-create.md): Create a new folder in your Library. - [Create folder](https://gigasheet.readme.io/reference/post_files-directory.md): Create a new folder in your Library. - [Get a new handle](https://gigasheet.readme.io/reference/get_generatehandle.md): Creates a new handle (also known as a FileUuid) and returns it. Note that this does not put anything into the database, it is not a sheet or anything, it's just a string that is a well-formed handle. - [Datasets at root](https://gigasheet.readme.io/reference/get_library.md): Returns all datasets owned by the user at any folder depth, all files that has directly been shared with the user (http request sender) including any nested files where shared file is a folder and ids of files that has been shared by the user. Since this may be a large amount of data may trim certain fields to keep response size manageable. This API endpoint is similar to the datasets endpoint, but this endpoint is optimized to return the exact data that the Gigasheet client application expects. - [List exports](https://gigasheet.readme.io/reference/get_library-exports.md): Lists exports owned by the current user, regardless of location. - [Get home page datasets](https://gigasheet.readme.io/reference/get_library-home.md): Returns a list of suggested recent files for the home page. - [Get path](https://gigasheet.readme.io/reference/get_library-path-handle.md): Get chain of parent directories including subject file/folder itself sorted by folder level - [Search Library](https://gigasheet.readme.io/reference/post_library-search.md): Returns a list of matching records by searching through file metadata. By default, if no specific fields are specified, it searches across "owner", "file_name", "headers", and "note". You can specify which fields to search through by including them in the request. This search does not examine file content. - [Shared files at root](https://gigasheet.readme.io/reference/get_library-shared-with-me.md) - [Shared files in dir](https://gigasheet.readme.io/reference/get_library-shared-with-me-handle.md): Returns all files with permissions shared with user in the given location. The files returned are limited to the requested directory and will not return nested files at any deeper directory level. - [Shared with my team files at root](https://gigasheet.readme.io/reference/get_library-shared-with-my-team.md): Returns all files shared with user's team at root level. - [Shared with my team files in dir](https://gigasheet.readme.io/reference/get_library-shared-with-my-team-handle.md): Returns all files shared with user's team in the given location. - [Datasets in dir](https://gigasheet.readme.io/reference/get_library-handle.md): Returns all library files with file permissions in the given location owned by the user making the request. The library files returned are limited to the requested directory and will not return nested files at any deeper directory level. - [Rename file](https://gigasheet.readme.io/reference/post_rename-handle.md) - [Get enrichment credits](https://gigasheet.readme.io/reference/get_user-enrichment-credits.md): Get current user's enrichment credit information. - [Get space used](https://gigasheet.readme.io/reference/get_user-space-used.md): Get the amount of space used by the current user - [Get filtered group count](https://gigasheet.readme.io/reference/post_dataset-handle-count-groups.md): Returns the number of groups matching certain criteria. - [Get filtered data row count](https://gigasheet.readme.io/reference/post_dataset-handle-count-rows.md): Returns the number of rows matching certain criteria. The request object has many fields controlling which rows are returned. For basic filtering the only one that needs to be specified is the filterModel field. For more on constructing filters, see the Filter Model Detail Guide. - [Filter data](https://gigasheet.readme.io/reference/post_file-handle-filter.md): Returns rows matching certain criteria. The request object has many fields controlling which rows are returned. For basic filtering the only one that needs to be specified is the filterModel field. For more on constructing filters, see the Filter Model Detail Guide. - [Filter data](https://gigasheet.readme.io/reference/post_file-handle-filter-by-name.md): Returns rows matching certain criteria. Uses column names rather than ids and has restrictions on filters. See the Filter Model Detail Guide. Warning! This endpoint supports a subset of /filter. - [Row number in filter result](https://gigasheet.readme.io/reference/post_file-handle-filter-sheet-row-nr.md): Get the row number in the filtered result set for the given unfiltered row number - [Filter data with streaming progress](https://gigasheet.readme.io/reference/post_file-handle-filter-stream-progress.md): Returns a server‐sent events (SSE) stream. Emits “progress” events with the number of rows and bytes processed, and finally a “data” event containing the filtered result, or an “error” event if something goes wrong. - [List saved filters](https://gigasheet.readme.io/reference/get_filter-templates.md) - [Describe saved filter](https://gigasheet.readme.io/reference/get_filter-templates-filter-handle.md) - [Create or update saved filter](https://gigasheet.readme.io/reference/put_filter-templates-filter-handle.md): This requires a Filter Model, which is described in more detail in the Filter Model Detail Guide. - [Delete saved filter](https://gigasheet.readme.io/reference/delete_filter-templates-filter-handle.md) - [Get filter model for saved filter](https://gigasheet.readme.io/reference/get_filter-templates-filter-handle-on-sheet-handle.md): For the given saved filter, get an actual filter model as applied to the given sheet. That filter model can then be used to get filtered data. For more in filters, see the Filter Model Detail Guide. - [Download export](https://gigasheet.readme.io/reference/get_dataset-handle-download-export.md): After calling "Create export", take the handle it returns and wait for the job to finish, indicated by the state "processed". Then call this endpoint to get a presigned S3 URL. Download that URL to obtain the export file itself, which is a zip containing a csv file of your exported data. - [Create export](https://gigasheet.readme.io/reference/post_dataset-handle-export.md): This will queue an export for the given sheet and return immediately with the handle for the export. The handle can be used with the "Download export" endpoint. - [Creates and saves a file state so as to also contain any applied filters and grouping](https://gigasheet.readme.io/reference/post_file-handle-save-exported.md): This endpoint returns a Json response acknowledging if the request to save the exported file was successful. - [Get organization permissions for file](https://gigasheet.readme.io/reference/get_dataset-handle-organization-permissions.md): Returns organization file permissions for a file. Will only return permissions for the same organization that the requester is a member of - [Set organization permissions on file](https://gigasheet.readme.io/reference/put_dataset-handle-organization-permissions.md): Permissions set on a file will apply to all members of the organization that the requesting user is a member of - [Share a file with others](https://gigasheet.readme.io/reference/put_file-handle-share-file.md): This endpoint will share access to a file with other users - [Opt out of file that has been shared with you](https://gigasheet.readme.io/reference/put_file-handle-share-opt-out.md): This endpoint will remove user files access on a shared file - [Request access to a file](https://gigasheet.readme.io/reference/post_request-access-handle.md): This endpoint returns a JSON response acknowledging if the request to send requesting access email to the owner was successful. - [Get action history](https://gigasheet.readme.io/reference/get_datasets-handle-activity.md): Get the list of write actions on the given sheet. - [Total activity count](https://gigasheet.readme.io/reference/post_datasets-handle-activity-count.md): Get total activity count on the given sheet. - [Search action history](https://gigasheet.readme.io/reference/post_datasets-handle-activity-search.md): Search the list of write actions on the given sheet. - [Delete duplicated rows](https://gigasheet.readme.io/reference/delete_datasets-handle-deduplicate-rows.md): Deletes the duplicated rows based on the given columns and sort model - [Count duplicated rows](https://gigasheet.readme.io/reference/post_datasets-handle-deduplicate-rows-count.md): Counts how many duplicates will be removed and how many rows remain when deduplicating - [Enrich data](https://gigasheet.readme.io/reference/post_enrich-email-abstract-api-handle-col.md): We offer multiple enrichment services, including built in enrichments for email validation, IP geolocation. We also support a number of enrichment providers where you supply your own API key for their service. Running an enrichment adds columns to your data. - [Enrich data](https://gigasheet.readme.io/reference/post_enrich-email-format-check-handle-col.md): We offer multiple enrichment services, including built in enrichments for email validation, IP geolocation. We also support a number of enrichment providers where you supply your own API key for their service. Running an enrichment adds columns to your data. - [Enrich data](https://gigasheet.readme.io/reference/post_enrich-geo-handle-col.md): We offer multiple enrichment services, including built in enrichments for email validation, IP geolocation. We also support a number of enrichment providers where you supply your own API key for their service. Running an enrichment adds columns to your data. - [Enrich data on demand](https://gigasheet.readme.io/reference/post_enrich-on-demand-enrichment-handle-col.md): Enrich a column using an enrichment that runs right away, not batched. Available enrichments are: revenuebase-linkedin, revenuebase-email - [Lists active enrichment tasks.](https://gigasheet.readme.io/reference/get_enrich-user-defined-http-tasks.md): Lists active enrichment tasks by user (default) or by sheet id. - [Apply generic HTTP enrichment](https://gigasheet.readme.io/reference/post_enrich-user-defined-http-handle-apply.md): Applies a generic HTTP enrichment based on provided request parameters. - [Calculate expected credits used by the enrichment](https://gigasheet.readme.io/reference/post_enrich-user-defined-http-handle-expected-credits-used.md): Returns the expected credits used by the generic HTTP enrichment based on provided request parameters. - [Preview of a generic HTTP enrichment](https://gigasheet.readme.io/reference/post_enrich-user-defined-http-handle-preview.md): Returns a preview of the generic HTTP enrichment based on provided request parameters. - [Get status for the given generic enrichment task.](https://gigasheet.readme.io/reference/get_enrich-user-defined-http-task-handle.md) - [Cancels the given enrichment task.](https://gigasheet.readme.io/reference/post_enrich-user-defined-http-task-handle-cancel.md): Cancels the given task. No partial results will be added to the source table. - [Request access to Gigasheet API](https://gigasheet.readme.io/reference/post_request-api-access.md): This endpoint sends an email to sales@gigasheet.com with subject “Request API key” saying “User X clicked button to request API key at time Y” where X is the logged-in user and Y is the the current time. - [Sends an email invitation to the list of email addresses to join the Gigasheet](https://gigasheet.readme.io/reference/post_send-invite.md): This endpoint returns a JSON response acknowledging if the request to send an invitation email to the list of email addresses was successful. - [Request account deletion.](https://gigasheet.readme.io/reference/post_user-account-deletion-request.md): Requests account deletion for the requesting user. Unlike other API endpoints, this endpoint cannot be authenticated using an API token, it must be authenticated using the interactive login flow. - [Delete account.](https://gigasheet.readme.io/reference/delete_user-account-deletion-token.md): Deletes account for the requesting user. Unlike other API endpoints, this endpoint cannot be authenticated using an API token, it must be authenticated using the interactive login flow. - [Revoke API keys](https://gigasheet.readme.io/reference/delete_user-api-token-all.md): This endpoint revokes all Gigasheet API keys of the user signing this request. Use this to clean up keys you no longer need before issuing a new key. - [Issue API key](https://gigasheet.readme.io/reference/post_user-api-token-create.md): This endpoint creates a Gigasheet API token from an Auth0 consent code. Unlike other API endpoints, this endpoint cannot itself be authenticated using an API token, it must be authenticated using the interactive login flow. To create an API token, follow the Getting Started documentation. - [Detailed user info](https://gigasheet.readme.io/reference/get_user-details.md): This endpoint returns the logged in user details. - [User metadata](https://gigasheet.readme.io/reference/get_user-metadata.md): Returns user metadata. - [Updates user metadata](https://gigasheet.readme.io/reference/patch_user-metadata.md): Updates user metadata with given settings. Only fields that are set will be updated. - [Remove user from the team](https://gigasheet.readme.io/reference/post_user-remove-from-team.md): Remove the logged in used from the team. - [Trigger password reset for requestor.](https://gigasheet.readme.io/reference/post_user-reset-password.md): Sends a password reset email to the requesting user. - [User info](https://gigasheet.readme.io/reference/get_user-whoami.md): This endpoint returns the username of the authorization on the request and a boolean value for whether the request is authenticated. The username will be empty string if the request is anonymous, meaning it had no API key header. An invalid API key will produce a 401 error. - [Get users autofill info](https://gigasheet.readme.io/reference/get_users-autofill.md): Get user autofill info for other users that you are connected with. Use query parameters to specify which users to include. - [Get public NPI profile](https://gigasheet.readme.io/reference/get_ticintel-npi-npi-public.md): Returns public profile information for the given NPI, excluding detailed contracted rates. - [Raw data direct upload](https://gigasheet.readme.io/reference/post_upload-direct.md) - [Upload from URL](https://gigasheet.readme.io/reference/post_upload-url.md): Upload to Gigasheet from the given url, optionally specifying file name and parent directory. Gigasheet will run the normal parsing flow and create multiple entries if appropriate.