sim tables is also spelled sim table.
Every command below also accepts the global options.
Add column
sim tables columns create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--column <json|@file> | Yes | Column definition to add. (JSON, or @path / @- to read a file or stdin). |
Delete column
sim tables columns delete <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--column-name <value> | Yes | Name of the column to delete. |
-y, --yes | Yes | Confirm this operation. |
Update column
sim tables columns update <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--column-name <value> | Yes | Current name of the column to update. |
--updates <json|@file> | Yes | Mutable column fields. (JSON, or @path / @- to read a file or stdin). |
Add workflow group
sim tables groups create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--group <json|@file> | Yes | Workflow or enrichment producer definition. (JSON, or @path / @- to read a file or stdin). |
--output-columns <json|@file> | No | Columns to create for producer outputs. An entry naming a column the table already has attaches that column to the group instead of creating it (its type must match), and an output whose column already exists may omit its entry entirely — so [] attaches existing columns only. (JSON, or @path / @- to read a file or stdin). |
--auto-run | No | Whether to schedule existing rows after group creation. |
--no-auto-run | No | Send --auto-run as false. |
Delete workflow group
sim tables groups delete <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--group-id <value> | Yes | Workflow group to delete. |
-y, --yes | Yes | Confirm this operation. |
List workflow groups
sim tables groups list <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Update workflow group
sim tables groups update <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--group-id <value> | Yes | Workflow group to update. |
--workflow-id <value> | No | Replacement backing workflow identifier. |
--name <value> | No | Replacement workflow-group display name. |
--dependencies <json|@file> | No | Replacement input dependencies. (JSON, or @path / @- to read a file or stdin). |
--outputs <json|@file> | No | Replacement producer outputs. (JSON, or @path / @- to read a file or stdin). |
--new-output-columns <json|@file> | No | Columns to add for new outputs. (JSON, or @path / @- to read a file or stdin). |
--mapping-updates <json|@file> | No | Existing output-column mapping changes. (JSON, or @path / @- to read a file or stdin). |
--input-mappings <json|@file> | No | Replacement workflow input mappings. (JSON, or @path / @- to read a file or stdin). |
--deployment-mode <value> | No | Replacement workflow execution mode. Accepted values: live, deployed. |
--type <value> | No | Workflow-group producer type. Must match the group's stored type — a group's producer cannot be changed after creation. Accepted values: manual, enrichment. |
--auto-run | No | Replacement automatic-run setting. |
--no-auto-run | No | Send --auto-run as false. |
Bulk delete tables and folders
sim tables batch-delete [options]Options
| Option | Required | Description |
|---|---|---|
--table-ids <json|@file> | No | Tables to archive, by identifier. (JSON, or @path / @- to read a file or stdin). |
--folder <value...> | No | Folder path as shown in the app; the leading / is optional (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
Apply a distinct patch to each listed row
sim tables rows update-each <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--updates <json|@file> | Yes | One merge patch per row. Each row identifier may appear at most once. (JSON, or @path / @- to read a file or stdin). |
Create rows
sim tables rows create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--data <json|@file> | No | One row keyed by column name (JSON, or @path / @-; choose exactly one body flag). |
--rows <json|@file> | No | Several rows keyed by column name (JSON, or @path / @-; choose exactly one body flag). |
Delete row
sim tables rows delete <tableId> <rowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Delete rows matching a filter, or an explicit list of ids
sim tables rows batch-delete <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filter <json|@file> | No | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--limit <value> | No | Maximum matching rows to delete. (caps a --filter match only; omit it to act on every match, and note 0 is not accepted). |
--row <value...> | No | Explicit row identifiers to delete. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
Get row
sim tables rows get <tableId> <rowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
Options
| Option | Required | Description |
|---|---|---|
--include-run-state | No | Include per-workflow-group run state on the returned row. Off by default. |
--no-include-run-state | No | Send --include-run-state as false. |
List rows
sim tables rows list <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--include-run-state | No | Include per-workflow-group run state on every returned row. Off by default: run state is a separate sidecar read and its blockErrors are unbounded, so a full page carries it only when asked. Caps limit at 200. |
--no-include-run-state | No | Send --include-run-state as false. |
Query rows with a filter and sort
sim tables rows query <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filter <json|@file> | No | Condition: {"field":"status","op":"eq","value":"active"}. Groups: {"all":[{"field":"status","op":"eq","value":"active"}]} or {"any":[{"field":"status","op":"eq","value":"active"}]}; group entries may also be nested groups. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--sort <json|@file> | No | Ordered sort keys: [{"field":"createdAt","direction":"desc"}] (direction: asc or desc) (JSON, or @path / @- to read a file or stdin). |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 100. |
--cursor <value> | No | Continue from nextCursor returned by a previous result. |
--include-run-state | No | Include per-workflow-group run state on every returned row. Off by default: run state is a separate sidecar read and its blockErrors are unbounded, so a full page carries it only when asked. Incompatible with limit: 0, and caps limit at 200. |
--no-include-run-state | No | Send --include-run-state as false. |
Count rows matching a filter
sim tables rows count <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filter <json|@file> | No | Condition: {"field":"status","op":"eq","value":"active"}. Groups: {"all":[{"field":"status","op":"eq","value":"active"}]} or {"any":[{"field":"status","op":"eq","value":"active"}]}; group entries may also be nested groups. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
Run one row’s enrichment group
sim tables rows enrich <tableId> <rowId> <groupId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
groupId | Yes | Workflow or enrichment group to run. |
Search cells for a value and return their coordinates
sim tables rows search <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--query <value> | Yes | Value to search for. |
--filter <json|@file> | No | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--sort <json|@file> | No | Ordered sort keys: [{"field":"createdAt","direction":"desc"}] (direction: asc or desc) (JSON, or @path / @- to read a file or stdin). |
Update every row matching a filter
sim tables rows batch-update <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--filter <json|@file> | Yes | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--data <json|@file> | Yes | Row-data patch applied to every matching row. (JSON, or @path / @- to read a file or stdin). |
--limit <value> | No | Maximum matching rows to update. (caps a --filter match only; omit it to act on every match, and note 0 is not accepted). |
-y, --yes | Yes | Confirm this operation. |
Update row
sim tables rows update <tableId> <rowId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
Options
| Option | Required | Description |
|---|---|---|
--data <json|@file> | Yes | Partial row-data patch keyed by column name. (JSON, or @path / @- to read a file or stdin). |
Cancel a running dispatch
sim tables dispatches cancel <tableId> <dispatchId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
dispatchId | Yes | Unique table run-dispatch identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Start a column or enrichment run
sim tables dispatches create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--group-ids <value...> | Yes | Workflow or enrichment groups to run. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--run-mode <value> | No | Whether to run all or only incomplete cells. Accepted values: all, incomplete. |
--row-ids <value...> | No | Explicit row subset to run. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--filter <json|@file> | No | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--exclude-row-ids <value...> | No | Rows excluded from a select-all run scope. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--max-rows <n> | No | Stop after this many eligible rows have run (1-1,000,000). Omit for an unbounded run. |
Get run dispatch
sim tables dispatches get <tableId> <dispatchId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
dispatchId | Yes | Unique table run-dispatch identifier. |
List run dispatches
sim tables dispatches list <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Stop a running export
sim tables exports cancel <tableId> <exportId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
exportId | Yes | Unique table-export identifier. |
Create table export
sim tables exports create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--format <value> | No | Export file format. Accepted values: csv, json. |
Get table export
sim tables exports get <tableId> <exportId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
exportId | Yes | Unique table-export identifier. |
Get the download URL for a finished export
sim tables exports download <tableId> <exportId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
exportId | Yes | Unique table-export identifier. |
Stop a running import
sim tables imports cancel <importId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
importId | Yes | Unique table-import identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Get table import
sim tables imports get <importId>Arguments
| Argument | Required | Description |
|---|---|---|
importId | Yes | Unique table-import identifier. |
Stop every running column job
sim tables cancel-runs <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--scope <value> | Yes | Whether to cancel across the table or one row. Accepted values: all, row. |
--row-id <value> | No | Row whose runs should be canceled for row scope. |
--filter <json|@file> | No | Predicate: {"all":[{"field":"status","op":"eq","value":"active"}]}; groups use all/any. Operators: eq, ne, gt, gte, lt, lte, in, nin, contains, ncontains, startsWith, endsWith, like, ilike, nlike, nilike, isEmpty, isNotEmpty, isNull, isNotNull (JSON, or @path / @- to read a file or stdin). |
--exclude-row-ids <value...> | No | Rows excluded from an all-scope cancellation. (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
-y, --yes | Yes | Confirm this operation. |
Create table
sim tables create [options]Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Identifier: letters, numbers, and underscores; cannot start with a number. |
--description <value> | No | Optional table description. |
--schema <json|@file> | Yes | Table schema: {"columns":[{"name":"email","type":"string"}]} (JSON, or @path / @- to read a file or stdin). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
Create a table folder at a path
sim tables folders create <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Delete folder
sim tables folders delete <path> [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Options
| Option | Required | Description |
|---|---|---|
--recursive | No | Delete the folder and its descendants. |
-y, --yes | Yes | Confirm this operation. |
List table folders
sim tables folders list [options]Also available as sim tables folders ls.
Options
| Option | Required | Description |
|---|---|---|
--parent <value> | No | Direct parent folder path. |
--search <value> | No | Case-insensitive substring match against the folder name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
Rename or move a table folder
sim tables folders move <path> <destination>Also available as sim tables folders mv.
Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
destination | Yes | Folder path as shown in the app; the leading / is optional |
Restore an archived table folder
sim tables folders restore <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path as shown in the app; the leading / is optional |
Create view
sim tables views create <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | Yes | Saved-view display name. |
--config <json|@file> | Yes | Saved filter, sort, and column-layout configuration. (JSON, or @path / @- to read a file or stdin). |
Delete view
sim tables views delete <tableId> <viewId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
viewId | Yes | Unique saved-view identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Get view
sim tables views get <tableId> <viewId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
viewId | Yes | Unique saved-view identifier. |
List views
sim tables views list <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Update view
sim tables views update <tableId> <viewId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
viewId | Yes | Unique saved-view identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Replacement saved-view display name. |
--config <json|@file> | No | Complete replacement saved-view configuration. (JSON, or @path / @- to read a file or stdin). |
--config-patch <json|@file> | No | Saved-view configuration fields to shallow-merge. (JSON, or @path / @- to read a file or stdin). |
--default | No | Whether to promote this view to the table default. |
--no-default | No | Send --default as false. |
Delete table
sim tables delete <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
-y, --yes | Yes | Confirm this operation. |
Get row group run
sim tables enrichment get <tableId> <rowId> <groupId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
rowId | Yes | Unique table row identifier. |
groupId | Yes | Workflow or enrichment group to run. |
Get table
sim tables get <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
List tables
sim tables list [options]Options
| Option | Required | Description |
|---|---|---|
--scope <value> | No | Which lifecycle set to list: active (default) for live tables, archived for tables a delete archived and a table restore can bring back. folderPath resolves against active folders only, so pairing it with scope=archived returns an empty page when the containing folder was archived too. Accepted values: active, archived. |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
--search <value> | No | Case-insensitive substring match against the resource name. |
--sort-by <value> | No | Field used to sort the result. Sorting by name is case-sensitive and follows the storage collation, so do not rely on a case-insensitive order. Accepted values: name, createdAt, updatedAt. |
--sort-order <value> | No | Sort direction. Accepted values: asc, desc. |
--limit <n> | No | Maximum items to return (0 for everything). Defaults to 0. |
Move tables and folders
sim tables move [options]Options
| Option | Required | Description |
|---|---|---|
--table-ids <json|@file> | No | Tables to move, by identifier. (JSON, or @path / @- to read a file or stdin). |
--folder <value...> | No | Table folders to move, by path as shown in the app; the leading / is optional (space-separated, or @path / @- with one value per line; @@value for a literal leading @). |
--to <value> | No | Destination folder path; omit for root. |
Restore an archived table
sim tables restore <tableId>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Update table
sim tables update <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--name <value> | No | Identifier: letters, numbers, and underscores; cannot start with a number. |
--description <value> | No | Replacement table description, or null to clear it. (--description null sends the word, not JSON null). |
--folder <value> | No | Folder path as shown in the app; the leading / is optional. |
Move a table to a folder
sim tables mv <tableId> <folder>Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
folder | Yes | Folder path as shown in the app; the leading / is optional |
Insert a row, or update the one that conflicts on a unique column
sim tables upsert <tableId> [options]Arguments
| Argument | Required | Description |
|---|---|---|
tableId | Yes | Unique table identifier. |
Options
| Option | Required | Description |
|---|---|---|
--data <json|@file> | Yes | Complete set of row cells keyed by column name. On the update branch this REPLACES the matched row: any column not present here is cleared, unlike a single-row update, which merges. (JSON, or @path / @- to read a file or stdin). |
--on <value> | No | Unique column to resolve the conflict against. |
Import a CSV, into a new table by default
sim tables import [path] [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | No | Local CSV file to import; omit when using --file-id |
Options
| Option | Required | Description |
|---|---|---|
--name <name> | No | Identifier for the new table: letters, numbers, and underscores; defaults to the sanitized file name. |
--table-id <id> | No | Import into this existing table instead of creating one. |
--mode <append|replace> | No | How to write into --table-id (default: append). Accepted values: append, replace. |
--folder <path> | No | Folder path for the new table, as shown in the app. |
--file-id <id> | No | Import a file already in the workspace instead of a local path. |
--mapping <json|@file> | No | Column mapping (--table-id only). |
--create-columns <json|@file> | No | Columns to create (--table-id only). |
--timezone <iana> | No | Timezone for date parsing, e.g. America/New_York. |
-y, --yes | No | Confirm this destructive operation (required with --mode replace). |
--no-wait | No | Return once the import is queued instead of watching it. |
List table resources and child folders together
sim tables ls [path] [options]Arguments
| Argument | Required | Description |
|---|---|---|
path | No | Folder path to list; defaults to the root folder |
Options
| Option | Required | Description |
|---|---|---|
--search <text> | No | Filter folders and resources by name. |
--limit <n> | No | Maximum combined items to return (0 for everything). Defaults to 0. |
Create a table directory at a path
sim tables mkdir <path>Arguments
| Argument | Required | Description |
|---|---|---|
path | Yes | Folder path to create; the leading / is optional |