All integrations

Gigasheet

DATA · DATA & ANALYTICS

Sheets, rows, filters, and enrichments in the library they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

gigasheet_delete_ai_by_handle_logsWRITE

Delete Sheet Assistant history -- Delete the sheet assistant messages via DELETE /ai/{handle}/logs

api
gigasheet_delete_connectors_reset_by_type_by_connectorname_by_connectionidWRITE

Reset a connector. -- Removes any scheduled runs for the given connector and resets the connector state. via DELETE /connectors/reset/{type}/{connectorName}/{connectionId}

api
gigasheet_delete_connectors_sources_by_connectornameWRITE

Delete a source. -- Deletes a source of the given source type for user. via DELETE /connectors/sources/{connectorName}

api
gigasheet_delete_dataset_by_handle_columns_by_column_currencyWRITE

Unset currency for a column -- Unsets the currency for the specified column. via DELETE /dataset/{handle}/columns/{column}/currency

api
gigasheet_delete_dataset_by_handle_delete_rowsWRITE

Delete rows -- 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. via DELETE /dataset/{handle}/delete-rows

api
gigasheet_delete_dataset_by_handle_delete_rows_matching_filterWRITE

Delete rows matching a filter -- Deletes rows in a file that match the selected filter. via DELETE /dataset/{handle}/delete-rows-matching-filter

api
gigasheet_delete_dataset_by_handle_delete_rows_not_matching_filterWRITE

Delete rows not matching a filter -- Deletes rows in a file that do not match the selected filter. via DELETE /dataset/{handle}/delete-rows-not-matching-filter

api
gigasheet_delete_dataset_by_handle_views_by_viewWRITE

Delete view -- Deletes the specified view. via DELETE /dataset/{handle}/views/{view}

api
gigasheet_delete_datasets_by_handle_deduplicate_rowsWRITE

Delete duplicated rows -- Deletes the duplicated rows based on the given columns and sort model via DELETE /datasets/{handle}/deduplicate-rows

api
gigasheet_delete_delete_by_handleWRITE

Delete sheet -- Deletes the given sheet or empty folder. If recursive, deletes folder and all children. via DELETE /delete/{handle}

api
gigasheet_delete_files_by_handle_columns_by_columnWRITE

Delete column -- Deletes a column from the sheet. via DELETE /files/{handle}/columns/{column}

api
gigasheet_delete_filter_templates_by_filter_handleWRITE

Delete saved filter via DELETE /filter-templates/{filter-handle}

api
gigasheet_delete_user_account_by_deletion_tokenWRITE

Delete account. -- 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. via DELETE /user/account/{deletion-token}

api
gigasheet_delete_user_api_token_allWRITE

Revoke API keys -- 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. via DELETE /user/api-token/all

api
gigasheet_get_ai_by_handle_logsREAD

Sheet Assistant History -- Get history of recent messages with the sheet assistant via GET /ai/{handle}/logs

api
gigasheet_get_billing_plansREAD

List available Gigasheet plans. via GET /billing/plans

api
gigasheet_get_client_state_by_handle_current_versionREAD

Get current sheet state version -- Returns information about the current version of the sheet state. via GET /client-state/{handle}/current-version

api
gigasheet_get_connectors_connection_by_connectionidREAD

Get connection. -- Returns connection details for a given connection ID. via GET /connectors/connection/{connectionId}

api
gigasheet_get_connectors_connection_params_by_connectornameREAD

Get parameters for connection. -- For a given source type, get the relevant parameters that need to be supplied by the user. via GET /connectors/connection/params/{connectorName}

api
gigasheet_get_connectors_connectionsREAD

Retrieve connection infos. -- Retrieves connections information relevant to the user. via GET /connectors/connections

api
gigasheet_get_connectors_export_params_by_connectornameREAD

Get parameters for export. -- For a given export destination, get the relevant parameters that need to be supplied by the user. via GET /connectors/export/params/{connectorName}

api
gigasheet_get_connectors_sourcesREAD

Get connected data source information. -- Retrieves information about connected data sources for the user. via GET /connectors/sources

api
gigasheet_get_connectors_sources_by_connectorname_statusREAD

Get source status. -- Get source status for a given source type for the user. via GET /connectors/sources/{connectorName}/status

api
gigasheet_get_connectors_sources_params_by_connectornameREAD

Get parameters for source. -- For a given source type, get the relevant parameters that need to be supplied by the user. via GET /connectors/sources/params/{connectorName}

api
gigasheet_get_dataset_by_handleREAD

Describe dataset -- This endpoint returns metadata about a dataset. It includes things like file name, column names and types, and modification timestamp. via GET /dataset/{handle}

api
gigasheet_get_dataset_by_handle_by_versionREAD

Describe dataset version -- This endpoint returns metadata about a dataset in a specific version. It includes things like file name, column names and types, and modification timestamp. via GET /dataset/{handle}/{version}

api
gigasheet_get_dataset_by_handle_columnsREAD

Get Columns -- Get column details for a sheet, including column IDs via GET /dataset/{handle}/columns

api
gigasheet_get_dataset_by_handle_download_exportREAD

Download export -- 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. via GET /dataset/{handle}/download-export

api
gigasheet_get_dataset_by_handle_noteREAD

Returns a file's note -- 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 via GET /dataset/{handle}/note

api
gigasheet_get_dataset_by_handle_operation_statusREAD

Get operation status -- Get information about the last operation. via GET /dataset/{handle}/operation-status

api
gigasheet_get_dataset_by_handle_organization_permissionsREAD

Get organization permissions for file -- Returns organization file permissions for a file. Will only return permissions for the same organization that the requester is a member of via GET /dataset/{handle}/organization-permissions

api
gigasheet_get_dataset_by_handle_viewsREAD

List views -- Returns the list of views on the sheet data. via GET /dataset/{handle}/views

api
gigasheet_get_dataset_by_handle_views_by_viewREAD

Get view -- Returns the view metadata. via GET /dataset/{handle}/views/{view}

api
gigasheet_get_datasetsREAD

Get all datasets. -- 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. via GET /datasets

api
gigasheet_get_datasets_by_handleREAD

List files in the given location. via GET /datasets/{handle}

api
gigasheet_get_datasets_by_handle_activityREAD

Get action history -- Get the list of write actions on the given sheet. via GET /datasets/{handle}/activity

api
gigasheet_get_docs_formulas_functionsREAD

Get all supported formulas functions. -- Returns the JSON that contains all supported functions with documentation. via GET /docs/formulas/functions

api
gigasheet_get_enrich_user_defined_http_by_task_handleREAD

Get status for the given generic enrichment task. via GET /enrich/user-defined-http/{task-handle}

api
gigasheet_get_enrich_user_defined_http_tasksREAD

Lists active enrichment tasks. -- Lists active enrichment tasks by user (default) or by sheet id. via GET /enrich/user-defined-http/tasks

api
gigasheet_get_filter_templatesREAD

List saved filters via GET /filter-templates

api
gigasheet_get_filter_templates_by_filter_handleREAD

Describe saved filter via GET /filter-templates/{filter-handle}

api
gigasheet_get_filter_templates_by_filter_handle_on_sheet_by_handleREAD

Get filter model for saved filter -- 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. via GET /filter-templates/{filter-handle}/on-sheet/{handle}

api
gigasheet_get_generatehandleREAD

Get a new handle -- 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. via GET /generateHandle

api
gigasheet_get_libraryREAD

Datasets at root via GET /library/

api
gigasheet_get_library_by_handleREAD

Datasets in dir -- 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. via GET /library/{handle}

api
gigasheet_get_library_exportsREAD

List exports -- Lists exports owned by the current user, regardless of location. via GET /library/exports

api
gigasheet_get_library_homeREAD

Get home page datasets -- Returns a list of suggested recent files for the home page. via GET /library/home

api
gigasheet_get_library_path_by_handleREAD

Get path -- Get chain of parent directories including subject file/folder itself sorted by folder level via GET /library/path/{handle}

api
gigasheet_get_library_shared_with_meREAD

Shared files at root via GET /library/shared-with-me/

api
gigasheet_get_library_shared_with_me_by_handleREAD

Shared files in dir -- 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. via GET /library/shared-with-me/{handle}

api
gigasheet_get_library_shared_with_my_teamREAD

Shared with my team files at root -- Returns all files shared with user's team at root level. via GET /library/shared-with-my-team/

api
gigasheet_get_library_shared_with_my_team_by_handleREAD

Shared with my team files in dir -- Returns all files shared with user's team in the given location. via GET /library/shared-with-my-team/{handle}

api
gigasheet_get_ticintel_npi_by_npi_publicREAD

Get public NPI profile -- Returns public profile information for the given NPI, excluding detailed contracted rates. via GET /ticintel/npi/{npi}/public

api
gigasheet_get_user_detailsREAD

Detailed user info -- This endpoint returns the logged in user details. via GET /user/details

api
gigasheet_get_user_enrichment_creditsREAD

Get enrichment credits -- Get current user's enrichment credit information. via GET /user/enrichment-credits

api
gigasheet_get_user_metadataREAD

User metadata -- Returns user metadata. via GET /user/metadata

api
gigasheet_get_user_space_usedREAD

Get space used -- Get the amount of space used by the current user via GET /user/space-used

api
gigasheet_get_user_whoamiREAD

User info -- 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. via GET /user/whoami

api
gigasheet_get_users_autofillREAD

Get users autofill info -- Get user autofill info for other users that you are connected with. Use query parameters to specify which users to include. via GET /users/autofill

api
gigasheet_patch_connectors_pause_by_connectionidWRITE

Pause a connector. -- Pauses any scheduled runs for the given connector. via PATCH /connectors/pause/{connectionId}

api
gigasheet_patch_connectors_unpause_by_connectionidWRITE

Unpause a connector. -- Unpauses any scheduled runs for the given connector. via PATCH /connectors/unpause/{connectionId}

api
gigasheet_patch_dataset_by_handle_views_by_viewWRITE

Update view -- Updates the client state of the specified view. via PATCH /dataset/{handle}/views/{view}

api
gigasheet_patch_user_metadataWRITE

Updates user metadata -- Updates user metadata with given settings. Only fields that are set will be updated. via PATCH /user/metadata

api
gigasheet_post_ai_by_handle_chatWRITE

Sheet Assistant -- AI analysis assistant, only available for sheets where you have write permissions via POST /ai/{handle}/chat

api
gigasheet_post_ai_by_handle_formulateWRITE

Formula Builder -- AI formula builder, available for sheets where you have read permissions via POST /ai/{handle}/formulate

api
gigasheet_post_cast_column_by_handle_by_columnWRITE

Change column data type -- This endpoint returns a Json response acknowledging if the request to change data type was successful. via POST /cast-column/{handle}/{column}

api
gigasheet_post_change_case_by_handle_by_colWRITE

Changes a string's case based on payload -- This endpoint changes the case of a column to Uppercase, Lowercase, Capitalized, or Proper via POST /change-case/{handle}/{col}

api
gigasheet_post_clean_company_name_by_handle_by_colWRITE

Clean company names. -- Clean company names by stripping suffixes. Currently, this works on English-alphabet versions of names. via POST /clean-company-name/{handle}/{col}

api
gigasheet_post_combine_columns_by_handleWRITE

Combine columns -- This endpoint returns a Json response acknowledging if the request to combine columns was successful. via POST /combine-columns/{handle}

api
gigasheet_post_connectors_by_handle_exportWRITE

Initiate export of a dataset to the given connector. -- Initiates an export of the dataset to the given connector. via POST /connectors/{handle}/export

api
gigasheet_post_connectors_connection_by_connectionid_headersWRITE

Get headers. -- Returns headers for a given stream and connection ID. via POST /connectors/connection/{connectionId}/headers

api
gigasheet_post_connectors_connection_createWRITE

Create a connection. -- Creates a connection and returns the connection id and headers (fields) associated with the connection. via POST /connectors/connection/create

api
gigasheet_post_connectors_connection_params_by_connectornameWRITE

Get the relevant parameters to start an import. -- For a given source type, get the relevant parameters that need to be supplied by the user. via POST /connectors/connection/params/{connectorName}

api
gigasheet_post_connectors_createWRITE

Run/schedule a connection. -- 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.) via POST /connectors/create

api
gigasheet_post_connectors_export_params_by_connectornameWRITE

Get parameters for export given parameters provided by user. -- For a given source type, get the relevant parameters that need to be supplied by the user. via POST /connectors/export/params/{connectorName}

api
gigasheet_post_connectors_sources_by_connectorname_checkWRITE

Check if source is available. -- Checks if a source of the given source type for user is available. Updates corresponding connections statuses. via POST /connectors/sources/{connectorName}/check

api
gigasheet_post_connectors_sources_createWRITE

Create a source. -- Creates a source of the given source type for user. via POST /connectors/sources/create

api
gigasheet_post_connectors_sources_params_by_connectornameWRITE

Get parameters for source. -- For a given source type, get the relevant parameters that need to be supplied by the user. via POST /connectors/sources/params/{connectorName}

api
gigasheet_post_dataset_by_handle_appendWRITE

Append to a sheet -- Append rows to an existing sheet. via POST /dataset/{handle}/append

api
gigasheet_post_dataset_by_handle_append_by_nameWRITE

Append to a sheet -- Append rows to an existing sheet. Uses column names rather than ids. via POST /dataset/{handle}/append/by-name

api
gigasheet_post_dataset_by_handle_append_from_sheet_by_from_handle_by_nameWRITE

Append to a sheet data from another sheet -- 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. via POST /dataset/{handle}/append/from-sheet/{from-handle}/by-name

api
gigasheet_post_dataset_by_handle_assistant_tipsWRITE

Generate tips -- Generate tips for analyses. via POST /dataset/{handle}/assistant-tips

api
gigasheet_post_dataset_by_handle_conditional_label_columnWRITE

Add conditional labels to rows -- Add a label column to the dataset with values based on specified conditions via POST /dataset/{handle}/conditional-label-column

api
gigasheet_post_dataset_by_handle_count_groupsWRITE

Get filtered group count -- Returns the number of groups matching certain criteria. via POST /dataset/{handle}/count/groups

api
gigasheet_post_dataset_by_handle_count_rowsWRITE

Get filtered data row count -- 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. via POST /dataset/{handle}/count/rows

api
gigasheet_post_dataset_by_handle_delete_columns_by_nameWRITE

Delete multiple columns in a sheet by name -- This endpoint will delete multiple columns in a sheet by their names via POST /dataset/{handle}/delete-columns/by-name

api
gigasheet_post_dataset_by_handle_descriptionWRITE

Generate description -- Generate description of the sheet. via POST /dataset/{handle}/description

api
gigasheet_post_dataset_by_handle_exportWRITE

Create export -- 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. via POST /dataset/{handle}/export

api
gigasheet_post_dataset_by_handle_find_and_replaceWRITE

Find and replace values in a sheet -- 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] via POST /dataset/{handle}/find-and-replace

api
gigasheet_post_dataset_by_handle_formulaWRITE

Run a given formula. -- Create a new column based on the given formula input. A blank column can be generated with the formula "" . via POST /dataset/{handle}/formula

api
gigasheet_post_dataset_by_handle_formula_edit_by_columnWRITE

Edit a formula -- Replace a column created using a formula with a new formula. via POST /dataset/{handle}/formula/edit/{column}

api
gigasheet_post_dataset_by_handle_formula_previewWRITE

Formula sample result. -- Calculates a formula sample result and returns it back along with involved column values. via POST /dataset/{handle}/formula/preview

api
gigasheet_post_dataset_by_handle_formula_validateWRITE

Validate a given formula. via POST /dataset/{handle}/formula/validate

api
gigasheet_post_dataset_by_handle_iterator_columnWRITE

Add iterator column -- Add an iterator column to the dataset based on current filters and order of the data. via POST /dataset/{handle}/iterator-column

api
gigasheet_post_dataset_by_handle_queryWRITE

Query a sheet with GigaScript -- 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": "<program>"}`. 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/<handle>/<view>" } ``` `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 <col>` | Show this column. Repeat to select several; omit to show all. | | `FILTER <clause>` | Keep matching rows. Repeat to require all of them. | | `SORT <col> ASC\|DESC` | Order the result. | | `ROWGROUPBY <col>` | Group rows by a column. | | `AGGREGATE <func>(<col>)` | Summarise a column within each group. | | `LIMIT <n>` | 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. via POST /dataset/{handle}/query

api
gigasheet_post_dataset_by_handle_rename_columns_by_nameWRITE

Rename columns by name -- Renames the columns in the sheet using column names. via POST /dataset/{handle}/rename-columns/by-name

api
gigasheet_post_dataset_by_handle_rename_columns_to_uniqueWRITE

Ensure column names are unique -- 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. via POST /dataset/{handle}/rename-columns-to-unique

api
gigasheet_post_dataset_by_handle_save_current_viewWRITE

Save current view -- This endpoint returns a Json response acknowledging if the request to save the file was successful. via POST /dataset/{handle}/save-current-view

api
gigasheet_post_dataset_by_handle_select_columns_by_nameWRITE

Select columns by name -- Makes the file have only the provided columns, in the specified order. Deletes all other columns. Always keeps the row number column. via POST /dataset/{handle}/select-columns/by-name

api
gigasheet_post_dataset_by_handle_viewsWRITE

Create view -- Creates a view with the provided name, and based on the specified client state version. via POST /dataset/{handle}/views

api
gigasheet_post_dataset_by_handle_views_by_view_as_linked_sheetWRITE

Create linked sheet -- Creates a linked sheet with the provided name, and based on the specified view. via POST /dataset/{handle}/views/{view}/as-linked-sheet

api
gigasheet_post_datasets_by_handle_activity_countWRITE

Total activity count -- Get total activity count on the given sheet. via POST /datasets/{handle}/activity/count

api
gigasheet_post_datasets_by_handle_activity_searchWRITE

Search action history -- Search the list of write actions on the given sheet. via POST /datasets/{handle}/activity/search

api
gigasheet_post_datasets_by_handle_deduplicate_rows_countWRITE

Count duplicated rows -- Counts how many duplicates will be removed and how many rows remain when deduplicating via POST /datasets/{handle}/deduplicate-rows-count

api
gigasheet_post_datasets_by_handle_insert_blank_rowWRITE

Insert a new row with empty/null values -- This endpoint will return a new row with initalized null value at the index provided via POST /datasets/{handle}/insert-blank-row

api
gigasheet_post_enrich_email_abstract_api_by_handle_by_colWRITE

Enrich data -- 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. via POST /enrich/email-abstract-api/{handle}/{col}

api
gigasheet_post_enrich_email_format_check_by_handle_by_colWRITE

Enrich data -- 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. via POST /enrich/email-format-check/{handle}/{col}

api
gigasheet_post_enrich_geo_by_handle_by_colWRITE

Enrich data -- 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. via POST /enrich/geo/{handle}/{col}

api
gigasheet_post_enrich_on_demand_by_enrichment_by_handle_by_colWRITE

Enrich data on demand -- Enrich a column using an enrichment that runs right away, not batched. Available enrichments are: revenuebase-linkedin, revenuebase-email via POST /enrich/on-demand/{enrichment}/{handle}/{col}

api
gigasheet_post_enrich_user_defined_http_by_handle_applyWRITE

Apply generic HTTP enrichment -- Applies a generic HTTP enrichment based on provided request parameters. via POST /enrich/user-defined-http/{handle}/apply

api
gigasheet_post_enrich_user_defined_http_by_handle_expected_credits_usedWRITE

Calculate expected credits used by the enrichment -- Returns the expected credits used by the generic HTTP enrichment based on provided request parameters. via POST /enrich/user-defined-http/{handle}/expected-credits-used

api
gigasheet_post_enrich_user_defined_http_by_handle_previewWRITE

Preview of a generic HTTP enrichment -- Returns a preview of the generic HTTP enrichment based on provided request parameters. via POST /enrich/user-defined-http/{handle}/preview

api
gigasheet_post_enrich_user_defined_http_by_task_handle_cancelWRITE

Cancels the given enrichment task. -- Cancels the given task. No partial results will be added to the source table. via POST /enrich/user-defined-http/{task-handle}/cancel

api
gigasheet_post_explode_json_by_handle_by_columnWRITE

Explode the column with JSON -- 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. via POST /explode-json/{handle}/{column}

api
gigasheet_post_extract_domain_by_handle_by_colWRITE

Extract domain from URL column. -- Extracts the domain from a URL. via POST /extract-domain/{handle}/{col}

api
gigasheet_post_federatedWRITE

Create federated table -- 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. via POST /federated

api
gigasheet_post_federated_checkWRITE

Check federated table compatibility -- Checks whether the given member sheets can form a federated table and returns the proposed schema. Creates nothing. via POST /federated/check

api
gigasheet_post_file_by_handle_aggregationWRITE

Get Aggregations -- Returns ungrouped aggregated values as specified in the grid payload via POST /file/{handle}/aggregation

api
gigasheet_post_file_by_handle_copyWRITE

Copy file -- This endpoint returns a Json response acknowledging if the request to copy a file was successful. via POST /file/{handle}/copy

api
gigasheet_post_file_by_handle_filterWRITE

Filter data -- 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. via POST /file/{handle}/filter

api
gigasheet_post_file_by_handle_filter_by_nameWRITE

Filter data -- 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. via POST /file/{handle}/filter/by-name

api
gigasheet_post_file_by_handle_filter_by_sheet_row_nrWRITE

Row number in filter result -- Get the row number in the filtered result set for the given unfiltered row number via POST /file/{handle}/filter/{sheet-row-nr}

api
gigasheet_post_file_by_handle_save_exportedWRITE

Creates and saves a file state so as to also contain any applied filters and grouping -- This endpoint returns a Json response acknowledging if the request to save the exported file was successful. via POST /file/{handle}/save-exported

api
gigasheet_post_files_blankWRITE

Create an empty file -- Create an empty file in your Library. via POST /files/blank

api
gigasheet_post_files_by_handle_delete_multiple_columnsWRITE

Delete multiple columns in a sheet -- This endpoint will delete multiple columns in a sheet via POST /files/{handle}/delete-multiple-columns

api
gigasheet_post_files_combineWRITE

Combine files -- Combine files together into a new file. Column names and types must match. via POST /files/combine

api
gigasheet_post_files_combine_by_nameWRITE

Combine files by name -- Combine files together into a new file using column header names. via POST /files/combine/by-name

api
gigasheet_post_files_combine_by_name_validateWRITE

Validate combine by name request -- Validates the combine by name request and returns all errors that might appear. via POST /files/combine/by-name/validate

api
gigasheet_post_files_combine_validateWRITE

Validate combine request -- Validates the combine files request and returns all errors that might appear. via POST /files/combine/validate

api
gigasheet_post_files_createWRITE

Create folder -- Create a new folder in your Library. via POST /files/create

api
gigasheet_post_files_directoryWRITE

Create folder -- Create a new folder in your Library. via POST /files/directory

api
gigasheet_post_library_searchWRITE

Search Library -- 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. via POST /library/search

api
gigasheet_post_lookup_by_handle_by_colWRITE

Cross file lookup -- This endpoint returns a Json response acknowledging if the lookup was successful. via POST /lookup/{handle}/{col}

api
gigasheet_post_mcpWRITE

Model Context Protocol endpoint -- 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}. via POST /mcp

api
gigasheet_post_rename_by_handleWRITE

Rename file via POST /rename/{handle}

api
gigasheet_post_request_access_by_handleWRITE

Request access to a file -- This endpoint returns a JSON response acknowledging if the request to send requesting access email to the owner was successful. via POST /request-access/{handle}

api
gigasheet_post_request_api_accessWRITE

Request access to Gigasheet API -- 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. via POST /request-api-access

api
gigasheet_post_send_inviteWRITE

Sends an email invitation to the list of email addresses to join the Gigasheet -- This endpoint returns a JSON response acknowledging if the request to send an invitation email to the list of email addresses was successful. via POST /send-invite

api
gigasheet_post_split_column_by_handleWRITE

Split column -- Splits the values of a column into two or more columns based on a specified separator. via POST /split-column/{handle}

api
gigasheet_post_trim_whitespace_by_handle_by_colWRITE

Trims a column's whitespace -- This endpoint returns a Json response acknowledging if the whitespace trim was successful via POST /trim-whitespace/{handle}/{col}

api
gigasheet_post_unroll_delimited_column_by_handle_by_columnWRITE

Explode the column with an array into multiple rows -- Explodes the arrays in a column into multiple rows. Each element of the array creates a new record. All other fields are kept. via POST /unroll-delimited-column/{handle}/{column}

api
gigasheet_post_upload_directWRITE

Raw data direct upload via POST /upload/direct

api
gigasheet_post_upload_urlWRITE

Upload from URL -- 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. via POST /upload/url

api
gigasheet_post_user_account_deletion_requestWRITE

Request account deletion. -- 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. via POST /user/account/deletion-request

api
gigasheet_post_user_api_token_createWRITE

Issue API key -- 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. via POST /user/api-token/create

api
gigasheet_post_user_remove_from_teamWRITE

Remove user from the team -- Remove the logged in used from the team. via POST /user/remove-from-team

api
gigasheet_post_user_reset_passwordWRITE

Trigger password reset for requestor. -- Sends a password reset email to the requesting user. via POST /user/reset-password

api
gigasheet_put_client_state_by_handle_aggregate_filter_modelWRITE

Set aggregate filter model -- Set aggregate filter model in the client state of a sheet. via PUT /client-state/{handle}/aggregate-filter-model

api
gigasheet_put_client_state_by_handle_aggregationsWRITE

Set aggregations -- Set aggregations in the client state of a sheet. via PUT /client-state/{handle}/aggregations

api
gigasheet_put_client_state_by_handle_column_stateWRITE

Set column state -- Set column state in the client state of a sheet. via PUT /client-state/{handle}/column-state

api
gigasheet_put_client_state_by_handle_filter_modelWRITE

Set filter model -- Set filter model in the client state of a sheet. via PUT /client-state/{handle}/filter-model

api
gigasheet_put_client_state_by_handle_group_columnsWRITE

Set group columns -- Set group columns in the client state of a sheet. via PUT /client-state/{handle}/group-columns

api
gigasheet_put_client_state_by_handle_resetWRITE

Reset client state -- Reset the client state of a sheet to the default state. via PUT /client-state/{handle}/reset

api
gigasheet_put_client_state_by_handle_sort_modelWRITE

Set sort model -- Set sort model in the client state of a sheet. via PUT /client-state/{handle}/sort-model

api
gigasheet_put_client_state_by_handle_visible_columnsWRITE

Set visible columns -- Set visible columns in the client state of a sheet. via PUT /client-state/{handle}/visible-columns

api
gigasheet_put_dataset_by_handle_by_col_by_rowWRITE

Updates a single cell -- This endpoint returns a Json response acknowledging if the request to update a cell was successful. via PUT /dataset/{handle}/{col}/{row}

api
gigasheet_put_dataset_by_handle_by_col_by_row_by_nameWRITE

Update a single cell using column name and row number. -- 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. via PUT /dataset/{handle}/{col}/{row}/by-name

api
gigasheet_put_dataset_by_handle_by_col_by_row_upsert_rowsWRITE

Upsert rows in a sheet -- Upsert rows in an existing sheet. Column id and row number is used to specify start position. Note that overlapping cells will be overwritten. via PUT /dataset/{handle}/{col}/{row}/upsert-rows

api
gigasheet_put_dataset_by_handle_clientstateWRITE

Set client state -- Sets the client state of a sheet given the client state string. via PUT /dataset/{handle}/clientstate

api
gigasheet_put_dataset_by_handle_clientstate_by_versionWRITE

Set client state by version id -- Sets the client state of a sheet to the specified version. via PUT /dataset/{handle}/clientstate/{version}

api
gigasheet_put_dataset_by_handle_columns_by_column_currencyWRITE

Set currency for a column -- Sets the currency for the specified column. via PUT /dataset/{handle}/columns/{column}/currency

api
gigasheet_put_dataset_by_handle_noteWRITE

Sets a file's note with a max length of 20K characters -- This endpoint returns a Json response acknowledging if the request to set a file's note was successful. via PUT /dataset/{handle}/note

api
gigasheet_put_dataset_by_handle_organization_permissionsWRITE

Set organization permissions on file -- Permissions set on a file will apply to all members of the organization that the requesting user is a member of via PUT /dataset/{handle}/organization-permissions

api
gigasheet_put_file_by_handle_directoryWRITE

Move file or folder -- 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. via PUT /file/{handle}/directory

api
gigasheet_put_file_by_handle_share_fileWRITE

Share a file with others -- This endpoint will share access to a file with other users via PUT /file/{handle}/share/file

api
gigasheet_put_file_by_handle_share_opt_outWRITE

Opt out of file that has been shared with you -- This endpoint will remove user files access on a shared file via PUT /file/{handle}/share/opt-out

api
gigasheet_put_filter_templates_by_filter_handleWRITE

Create or update saved filter -- This requires a Filter Model, which is described in more detail in the Filter Model Detail Guide. via PUT /filter-templates/{filter-handle}

api

Put Gigasheet behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.