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> | Yes | Columns created for producer outputs. (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
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 active 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). |
--is-default | No | Whether to promote this view to the table default. |
--no-is-default | No | Send --is-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 enrichment run detail
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 |