DATA · DATA & ANALYTICS
Sheets, rows, filters, and enrichments in the library they connected.
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.
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.
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.
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_logsWRITEDelete Sheet Assistant history -- Delete the sheet assistant messages via DELETE /ai/{handle}/logs
gigasheet_delete_connectors_reset_by_type_by_connectorname_by_connectionidWRITEReset a connector. -- Removes any scheduled runs for the given connector and resets the connector state. via DELETE /connectors/reset/{type}/{connectorName}/{connectionId}
gigasheet_delete_connectors_sources_by_connectornameWRITEDelete a source. -- Deletes a source of the given source type for user. via DELETE /connectors/sources/{connectorName}
gigasheet_delete_dataset_by_handle_columns_by_column_currencyWRITEUnset currency for a column -- Unsets the currency for the specified column. via DELETE /dataset/{handle}/columns/{column}/currency
gigasheet_delete_dataset_by_handle_delete_rowsWRITEDelete 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
gigasheet_delete_dataset_by_handle_delete_rows_matching_filterWRITEDelete rows matching a filter -- Deletes rows in a file that match the selected filter. via DELETE /dataset/{handle}/delete-rows-matching-filter
gigasheet_delete_dataset_by_handle_delete_rows_not_matching_filterWRITEDelete 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
gigasheet_delete_dataset_by_handle_views_by_viewWRITEDelete view -- Deletes the specified view. via DELETE /dataset/{handle}/views/{view}
gigasheet_delete_datasets_by_handle_deduplicate_rowsWRITEDelete duplicated rows -- Deletes the duplicated rows based on the given columns and sort model via DELETE /datasets/{handle}/deduplicate-rows
gigasheet_delete_delete_by_handleWRITEDelete sheet -- Deletes the given sheet or empty folder. If recursive, deletes folder and all children. via DELETE /delete/{handle}
gigasheet_delete_files_by_handle_columns_by_columnWRITEDelete column -- Deletes a column from the sheet. via DELETE /files/{handle}/columns/{column}
gigasheet_delete_filter_templates_by_filter_handleWRITEDelete saved filter via DELETE /filter-templates/{filter-handle}
gigasheet_delete_user_account_by_deletion_tokenWRITEDelete 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}
gigasheet_delete_user_api_token_allWRITERevoke 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
gigasheet_get_ai_by_handle_logsREADSheet Assistant History -- Get history of recent messages with the sheet assistant via GET /ai/{handle}/logs
gigasheet_get_billing_plansREADList available Gigasheet plans. via GET /billing/plans
gigasheet_get_client_state_by_handle_current_versionREADGet current sheet state version -- Returns information about the current version of the sheet state. via GET /client-state/{handle}/current-version
gigasheet_get_connectors_connection_by_connectionidREADGet connection. -- Returns connection details for a given connection ID. via GET /connectors/connection/{connectionId}
gigasheet_get_connectors_connection_params_by_connectornameREADGet 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}
gigasheet_get_connectors_connectionsREADRetrieve connection infos. -- Retrieves connections information relevant to the user. via GET /connectors/connections
gigasheet_get_connectors_export_params_by_connectornameREADGet 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}
gigasheet_get_connectors_sourcesREADGet connected data source information. -- Retrieves information about connected data sources for the user. via GET /connectors/sources
gigasheet_get_connectors_sources_by_connectorname_statusREADGet source status. -- Get source status for a given source type for the user. via GET /connectors/sources/{connectorName}/status
gigasheet_get_connectors_sources_params_by_connectornameREADGet 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}
gigasheet_get_dataset_by_handleREADDescribe 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}
gigasheet_get_dataset_by_handle_by_versionREADDescribe 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}
gigasheet_get_dataset_by_handle_columnsREADGet Columns -- Get column details for a sheet, including column IDs via GET /dataset/{handle}/columns
gigasheet_get_dataset_by_handle_download_exportREADDownload 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
gigasheet_get_dataset_by_handle_noteREADReturns 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
gigasheet_get_dataset_by_handle_operation_statusREADGet operation status -- Get information about the last operation. via GET /dataset/{handle}/operation-status
gigasheet_get_dataset_by_handle_organization_permissionsREADGet 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
gigasheet_get_dataset_by_handle_viewsREADList views -- Returns the list of views on the sheet data. via GET /dataset/{handle}/views
gigasheet_get_dataset_by_handle_views_by_viewREADGet view -- Returns the view metadata. via GET /dataset/{handle}/views/{view}
gigasheet_get_datasetsREADGet 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
gigasheet_get_datasets_by_handleREADList files in the given location. via GET /datasets/{handle}
gigasheet_get_datasets_by_handle_activityREADGet action history -- Get the list of write actions on the given sheet. via GET /datasets/{handle}/activity
gigasheet_get_docs_formulas_functionsREADGet all supported formulas functions. -- Returns the JSON that contains all supported functions with documentation. via GET /docs/formulas/functions
gigasheet_get_enrich_user_defined_http_by_task_handleREADGet status for the given generic enrichment task. via GET /enrich/user-defined-http/{task-handle}
gigasheet_get_enrich_user_defined_http_tasksREADLists active enrichment tasks. -- Lists active enrichment tasks by user (default) or by sheet id. via GET /enrich/user-defined-http/tasks
gigasheet_get_filter_templatesREADList saved filters via GET /filter-templates
gigasheet_get_filter_templates_by_filter_handleREADDescribe saved filter via GET /filter-templates/{filter-handle}
gigasheet_get_filter_templates_by_filter_handle_on_sheet_by_handleREADGet 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}
gigasheet_get_generatehandleREADGet 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
gigasheet_get_libraryREADDatasets at root via GET /library/
gigasheet_get_library_by_handleREADDatasets 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}
gigasheet_get_library_exportsREADList exports -- Lists exports owned by the current user, regardless of location. via GET /library/exports
gigasheet_get_library_homeREADGet home page datasets -- Returns a list of suggested recent files for the home page. via GET /library/home
gigasheet_get_library_path_by_handleREADGet path -- Get chain of parent directories including subject file/folder itself sorted by folder level via GET /library/path/{handle}
gigasheet_get_library_shared_with_meREADShared files at root via GET /library/shared-with-me/
gigasheet_get_library_shared_with_me_by_handleREADShared 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}
gigasheet_get_library_shared_with_my_teamREADShared with my team files at root -- Returns all files shared with user's team at root level. via GET /library/shared-with-my-team/
gigasheet_get_library_shared_with_my_team_by_handleREADShared 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}
gigasheet_get_ticintel_npi_by_npi_publicREADGet public NPI profile -- Returns public profile information for the given NPI, excluding detailed contracted rates. via GET /ticintel/npi/{npi}/public
gigasheet_get_user_detailsREADDetailed user info -- This endpoint returns the logged in user details. via GET /user/details
gigasheet_get_user_enrichment_creditsREADGet enrichment credits -- Get current user's enrichment credit information. via GET /user/enrichment-credits
gigasheet_get_user_metadataREADUser metadata -- Returns user metadata. via GET /user/metadata
gigasheet_get_user_space_usedREADGet space used -- Get the amount of space used by the current user via GET /user/space-used
gigasheet_get_user_whoamiREADUser 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
gigasheet_get_users_autofillREADGet 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
gigasheet_patch_connectors_pause_by_connectionidWRITEPause a connector. -- Pauses any scheduled runs for the given connector. via PATCH /connectors/pause/{connectionId}
gigasheet_patch_connectors_unpause_by_connectionidWRITEUnpause a connector. -- Unpauses any scheduled runs for the given connector. via PATCH /connectors/unpause/{connectionId}
gigasheet_patch_dataset_by_handle_views_by_viewWRITEUpdate view -- Updates the client state of the specified view. via PATCH /dataset/{handle}/views/{view}
gigasheet_patch_user_metadataWRITEUpdates user metadata -- Updates user metadata with given settings. Only fields that are set will be updated. via PATCH /user/metadata
gigasheet_post_ai_by_handle_chatWRITESheet Assistant -- AI analysis assistant, only available for sheets where you have write permissions via POST /ai/{handle}/chat
gigasheet_post_ai_by_handle_formulateWRITEFormula Builder -- AI formula builder, available for sheets where you have read permissions via POST /ai/{handle}/formulate
gigasheet_post_cast_column_by_handle_by_columnWRITEChange 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}
gigasheet_post_change_case_by_handle_by_colWRITEChanges 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}
gigasheet_post_clean_company_name_by_handle_by_colWRITEClean company names. -- Clean company names by stripping suffixes. Currently, this works on English-alphabet versions of names. via POST /clean-company-name/{handle}/{col}
gigasheet_post_combine_columns_by_handleWRITECombine columns -- This endpoint returns a Json response acknowledging if the request to combine columns was successful. via POST /combine-columns/{handle}
gigasheet_post_connectors_by_handle_exportWRITEInitiate export of a dataset to the given connector. -- Initiates an export of the dataset to the given connector. via POST /connectors/{handle}/export
gigasheet_post_connectors_connection_by_connectionid_headersWRITEGet headers. -- Returns headers for a given stream and connection ID. via POST /connectors/connection/{connectionId}/headers
gigasheet_post_connectors_connection_createWRITECreate a connection. -- Creates a connection and returns the connection id and headers (fields) associated with the connection. via POST /connectors/connection/create
gigasheet_post_connectors_connection_params_by_connectornameWRITEGet 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}
gigasheet_post_connectors_createWRITERun/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
gigasheet_post_connectors_export_params_by_connectornameWRITEGet 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}
gigasheet_post_connectors_sources_by_connectorname_checkWRITECheck 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
gigasheet_post_connectors_sources_createWRITECreate a source. -- Creates a source of the given source type for user. via POST /connectors/sources/create
gigasheet_post_connectors_sources_params_by_connectornameWRITEGet 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}
gigasheet_post_dataset_by_handle_appendWRITEAppend to a sheet -- Append rows to an existing sheet. via POST /dataset/{handle}/append
gigasheet_post_dataset_by_handle_append_by_nameWRITEAppend to a sheet -- Append rows to an existing sheet. Uses column names rather than ids. via POST /dataset/{handle}/append/by-name
gigasheet_post_dataset_by_handle_append_from_sheet_by_from_handle_by_nameWRITEAppend 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
gigasheet_post_dataset_by_handle_assistant_tipsWRITEGenerate tips -- Generate tips for analyses. via POST /dataset/{handle}/assistant-tips
gigasheet_post_dataset_by_handle_conditional_label_columnWRITEAdd conditional labels to rows -- Add a label column to the dataset with values based on specified conditions via POST /dataset/{handle}/conditional-label-column
gigasheet_post_dataset_by_handle_count_groupsWRITEGet filtered group count -- Returns the number of groups matching certain criteria. via POST /dataset/{handle}/count/groups
gigasheet_post_dataset_by_handle_count_rowsWRITEGet 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
gigasheet_post_dataset_by_handle_delete_columns_by_nameWRITEDelete 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
gigasheet_post_dataset_by_handle_descriptionWRITEGenerate description -- Generate description of the sheet. via POST /dataset/{handle}/description
gigasheet_post_dataset_by_handle_exportWRITECreate 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
gigasheet_post_dataset_by_handle_find_and_replaceWRITEFind 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
gigasheet_post_dataset_by_handle_formulaWRITERun 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
gigasheet_post_dataset_by_handle_formula_edit_by_columnWRITEEdit a formula -- Replace a column created using a formula with a new formula. via POST /dataset/{handle}/formula/edit/{column}
gigasheet_post_dataset_by_handle_formula_previewWRITEFormula sample result. -- Calculates a formula sample result and returns it back along with involved column values. via POST /dataset/{handle}/formula/preview
gigasheet_post_dataset_by_handle_formula_validateWRITEValidate a given formula. via POST /dataset/{handle}/formula/validate
gigasheet_post_dataset_by_handle_iterator_columnWRITEAdd iterator column -- Add an iterator column to the dataset based on current filters and order of the data. via POST /dataset/{handle}/iterator-column
gigasheet_post_dataset_by_handle_queryWRITEQuery 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
gigasheet_post_dataset_by_handle_rename_columns_by_nameWRITERename columns by name -- Renames the columns in the sheet using column names. via POST /dataset/{handle}/rename-columns/by-name
gigasheet_post_dataset_by_handle_rename_columns_to_uniqueWRITEEnsure 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
gigasheet_post_dataset_by_handle_save_current_viewWRITESave 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
gigasheet_post_dataset_by_handle_select_columns_by_nameWRITESelect 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
gigasheet_post_dataset_by_handle_viewsWRITECreate view -- Creates a view with the provided name, and based on the specified client state version. via POST /dataset/{handle}/views
gigasheet_post_dataset_by_handle_views_by_view_as_linked_sheetWRITECreate 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
gigasheet_post_datasets_by_handle_activity_countWRITETotal activity count -- Get total activity count on the given sheet. via POST /datasets/{handle}/activity/count
gigasheet_post_datasets_by_handle_activity_searchWRITESearch action history -- Search the list of write actions on the given sheet. via POST /datasets/{handle}/activity/search
gigasheet_post_datasets_by_handle_deduplicate_rows_countWRITECount duplicated rows -- Counts how many duplicates will be removed and how many rows remain when deduplicating via POST /datasets/{handle}/deduplicate-rows-count
gigasheet_post_datasets_by_handle_insert_blank_rowWRITEInsert 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
gigasheet_post_enrich_email_abstract_api_by_handle_by_colWRITEEnrich 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}
gigasheet_post_enrich_email_format_check_by_handle_by_colWRITEEnrich 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}
gigasheet_post_enrich_geo_by_handle_by_colWRITEEnrich 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}
gigasheet_post_enrich_on_demand_by_enrichment_by_handle_by_colWRITEEnrich 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}
gigasheet_post_enrich_user_defined_http_by_handle_applyWRITEApply generic HTTP enrichment -- Applies a generic HTTP enrichment based on provided request parameters. via POST /enrich/user-defined-http/{handle}/apply
gigasheet_post_enrich_user_defined_http_by_handle_expected_credits_usedWRITECalculate 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
gigasheet_post_enrich_user_defined_http_by_handle_previewWRITEPreview 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
gigasheet_post_enrich_user_defined_http_by_task_handle_cancelWRITECancels 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
gigasheet_post_explode_json_by_handle_by_columnWRITEExplode 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}
gigasheet_post_extract_domain_by_handle_by_colWRITEExtract domain from URL column. -- Extracts the domain from a URL. via POST /extract-domain/{handle}/{col}
gigasheet_post_federatedWRITECreate 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
gigasheet_post_federated_checkWRITECheck 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
gigasheet_post_file_by_handle_aggregationWRITEGet Aggregations -- Returns ungrouped aggregated values as specified in the grid payload via POST /file/{handle}/aggregation
gigasheet_post_file_by_handle_copyWRITECopy file -- This endpoint returns a Json response acknowledging if the request to copy a file was successful. via POST /file/{handle}/copy
gigasheet_post_file_by_handle_filterWRITEFilter 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
gigasheet_post_file_by_handle_filter_by_nameWRITEFilter 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
gigasheet_post_file_by_handle_filter_by_sheet_row_nrWRITERow 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}
gigasheet_post_file_by_handle_save_exportedWRITECreates 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
gigasheet_post_files_blankWRITECreate an empty file -- Create an empty file in your Library. via POST /files/blank
gigasheet_post_files_by_handle_delete_multiple_columnsWRITEDelete multiple columns in a sheet -- This endpoint will delete multiple columns in a sheet via POST /files/{handle}/delete-multiple-columns
gigasheet_post_files_combineWRITECombine files -- Combine files together into a new file. Column names and types must match. via POST /files/combine
gigasheet_post_files_combine_by_nameWRITECombine files by name -- Combine files together into a new file using column header names. via POST /files/combine/by-name
gigasheet_post_files_combine_by_name_validateWRITEValidate combine by name request -- Validates the combine by name request and returns all errors that might appear. via POST /files/combine/by-name/validate
gigasheet_post_files_combine_validateWRITEValidate combine request -- Validates the combine files request and returns all errors that might appear. via POST /files/combine/validate
gigasheet_post_files_createWRITECreate folder -- Create a new folder in your Library. via POST /files/create
gigasheet_post_files_directoryWRITECreate folder -- Create a new folder in your Library. via POST /files/directory
gigasheet_post_library_searchWRITESearch 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
gigasheet_post_lookup_by_handle_by_colWRITECross file lookup -- This endpoint returns a Json response acknowledging if the lookup was successful. via POST /lookup/{handle}/{col}
gigasheet_post_mcpWRITEModel 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
gigasheet_post_rename_by_handleWRITERename file via POST /rename/{handle}
gigasheet_post_request_access_by_handleWRITERequest 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}
gigasheet_post_request_api_accessWRITERequest 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
gigasheet_post_send_inviteWRITESends 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
gigasheet_post_split_column_by_handleWRITESplit column -- Splits the values of a column into two or more columns based on a specified separator. via POST /split-column/{handle}
gigasheet_post_trim_whitespace_by_handle_by_colWRITETrims a column's whitespace -- This endpoint returns a Json response acknowledging if the whitespace trim was successful via POST /trim-whitespace/{handle}/{col}
gigasheet_post_unroll_delimited_column_by_handle_by_columnWRITEExplode 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}
gigasheet_post_upload_directWRITERaw data direct upload via POST /upload/direct
gigasheet_post_upload_urlWRITEUpload 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
gigasheet_post_user_account_deletion_requestWRITERequest 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
gigasheet_post_user_api_token_createWRITEIssue 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
gigasheet_post_user_remove_from_teamWRITERemove user from the team -- Remove the logged in used from the team. via POST /user/remove-from-team
gigasheet_post_user_reset_passwordWRITETrigger password reset for requestor. -- Sends a password reset email to the requesting user. via POST /user/reset-password
gigasheet_put_client_state_by_handle_aggregate_filter_modelWRITESet aggregate filter model -- Set aggregate filter model in the client state of a sheet. via PUT /client-state/{handle}/aggregate-filter-model
gigasheet_put_client_state_by_handle_aggregationsWRITESet aggregations -- Set aggregations in the client state of a sheet. via PUT /client-state/{handle}/aggregations
gigasheet_put_client_state_by_handle_column_stateWRITESet column state -- Set column state in the client state of a sheet. via PUT /client-state/{handle}/column-state
gigasheet_put_client_state_by_handle_filter_modelWRITESet filter model -- Set filter model in the client state of a sheet. via PUT /client-state/{handle}/filter-model
gigasheet_put_client_state_by_handle_group_columnsWRITESet group columns -- Set group columns in the client state of a sheet. via PUT /client-state/{handle}/group-columns
gigasheet_put_client_state_by_handle_resetWRITEReset client state -- Reset the client state of a sheet to the default state. via PUT /client-state/{handle}/reset
gigasheet_put_client_state_by_handle_sort_modelWRITESet sort model -- Set sort model in the client state of a sheet. via PUT /client-state/{handle}/sort-model
gigasheet_put_client_state_by_handle_visible_columnsWRITESet visible columns -- Set visible columns in the client state of a sheet. via PUT /client-state/{handle}/visible-columns
gigasheet_put_dataset_by_handle_by_col_by_rowWRITEUpdates 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}
gigasheet_put_dataset_by_handle_by_col_by_row_by_nameWRITEUpdate 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
gigasheet_put_dataset_by_handle_by_col_by_row_upsert_rowsWRITEUpsert 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
gigasheet_put_dataset_by_handle_clientstateWRITESet client state -- Sets the client state of a sheet given the client state string. via PUT /dataset/{handle}/clientstate
gigasheet_put_dataset_by_handle_clientstate_by_versionWRITESet client state by version id -- Sets the client state of a sheet to the specified version. via PUT /dataset/{handle}/clientstate/{version}
gigasheet_put_dataset_by_handle_columns_by_column_currencyWRITESet currency for a column -- Sets the currency for the specified column. via PUT /dataset/{handle}/columns/{column}/currency
gigasheet_put_dataset_by_handle_noteWRITESets 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
gigasheet_put_dataset_by_handle_organization_permissionsWRITESet 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
gigasheet_put_file_by_handle_directoryWRITEMove 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
gigasheet_put_file_by_handle_share_fileWRITEShare a file with others -- This endpoint will share access to a file with other users via PUT /file/{handle}/share/file
gigasheet_put_file_by_handle_share_opt_outWRITEOpt 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
gigasheet_put_filter_templates_by_filter_handleWRITECreate 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}
Put Gigasheet behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.