Tables

sim tables is also spelled sim table.

Every command below also accepts the global options.

Add column

sim tables columns create <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--column <json|@file>YesColumn definition to add. (JSON, or @path / @- to read a file or stdin).

Delete column

sim tables columns delete <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--column-name <value>YesName of the column to delete.
-y, --yesNoSkip the confirmation.

Run a column’s workflow

sim tables columns run <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--group-ids <value...>YesWorkflow or enrichment groups to run. (space-separated, or @path / @- with one value per line).
--run-mode <value>NoWhether to run all or only incomplete cells. Accepted values: all, incomplete.
--row-ids <value...>NoExplicit row subset to run. (space-separated, or @path / @- with one value per line).
--filter <json|@file>NoPredicate: {"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...>NoRows excluded from a select-all run scope. (space-separated, or @path / @- with one value per line).
--limit <json|@file>NoOptional cap on eligible rows to run. (JSON, or @path / @- to read a file or stdin).

Update column

sim tables columns update <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--column-name <value>YesCurrent name of the column to update.
--updates <json|@file>YesMutable column fields. (JSON, or @path / @- to read a file or stdin).

Add workflow group

sim tables groups create <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--group <json|@file>YesWorkflow or enrichment producer definition. (JSON, or @path / @- to read a file or stdin).
--output-columns <json|@file>YesColumns created for producer outputs. (JSON, or @path / @- to read a file or stdin).
--auto-runNoWhether to schedule existing rows after group creation.
--no-auto-runNoSend --auto-run as false.

Delete workflow group

sim tables groups delete <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--group-id <value>YesWorkflow group to delete.
-y, --yesNoSkip the confirmation.

List workflow groups

sim tables groups list <tableId>

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Update workflow group

sim tables groups update <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--group-id <value>YesWorkflow group to update.
--workflow-id <value>NoReplacement backing workflow identifier.
--name <value>NoReplacement workflow-group display name.
--dependencies <json|@file>NoReplacement input dependencies. (JSON, or @path / @- to read a file or stdin).
--outputs <json|@file>NoReplacement producer outputs. (JSON, or @path / @- to read a file or stdin).
--new-output-columns <json|@file>NoColumns to add for new outputs. (JSON, or @path / @- to read a file or stdin).
--mapping-updates <json|@file>NoExisting output-column mapping changes. (JSON, or @path / @- to read a file or stdin).
--input-mappings <json|@file>NoReplacement workflow input mappings. (JSON, or @path / @- to read a file or stdin).
--deployment-mode <value>NoReplacement workflow execution mode. Accepted values: live, deployed.
--type <value>NoWorkflow-group producer type. Must match the group's stored type — a group's producer cannot be changed after creation. Accepted values: manual, enrichment.
--auto-runNoReplacement automatic-run setting.
--no-auto-runNoSend --auto-run as false.

Cancel table export

sim tables exports cancel <exportId>

Arguments

ArgumentRequiredDescription
exportIdYesUnique table-export identifier.

Create table export

sim tables exports create <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--format <value>NoExport file format. Accepted values: csv, json.

Get table export

sim tables exports get <exportId>

Arguments

ArgumentRequiredDescription
exportIdYesUnique table-export identifier.

Get the download URL for a finished export

sim tables exports download <exportId>

Arguments

ArgumentRequiredDescription
exportIdYesUnique table-export identifier.

Cancel table import

sim tables imports cancel <importId>

Arguments

ArgumentRequiredDescription
importIdYesUnique table-import identifier.

Get table import

sim tables imports get <importId>

Arguments

ArgumentRequiredDescription
importIdYesUnique table-import identifier.

Stop every running column job

sim tables cancel-runs <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--scope <value>YesWhether to cancel across the table or one row. Accepted values: all, row.
--row-id <value>NoRow whose runs should be canceled for row scope.
--filter <json|@file>NoPredicate: {"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...>NoRows excluded from an all-scope cancellation. (space-separated, or @path / @- with one value per line).

Create table

sim tables create [options]

Options

OptionRequiredDescription
--name <value>YesIdentifier: letters, numbers, and underscores; cannot start with a number.
--description <value>NoOptional table description.
--schema <json|@file>YesTable schema: {"columns":[{"name":"email","type":"string"}]} (JSON, or @path / @- to read a file or stdin).
--folder <value>NoFolder path; the leading / is optional.

Create a table folder at a path

sim tables folders create <path>

Arguments

ArgumentRequiredDescription
pathYesFolder path; the leading / is optional

Delete folder

sim tables folders delete <path> [options]

Arguments

ArgumentRequiredDescription
pathYesFolder path; the leading / is optional

Options

OptionRequiredDescription
--recursiveNoDelete the folder and its descendants.
-y, --yesNoSkip the confirmation.

List folders

sim tables folders list [options]

Also available as sim tables folders ls.

Options

OptionRequiredDescription
--parent <value>NoDirect parent folder path.
--search <value>NoCase-insensitive substring match against the folder name.
--sort-by <value>NoField 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>NoSort 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

ArgumentRequiredDescription
pathYesFolder path; the leading / is optional
destinationYesFolder path; the leading / is optional

Create rows

sim tables rows create <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--data <json|@file>NoOne row keyed by column name (JSON, or @path / @-; choose exactly one body flag).
--rows <json|@file>NoSeveral rows keyed by column name (JSON, or @path / @-; choose exactly one body flag).

Delete row

sim tables rows delete <tableId> <rowId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.
rowIdYesUnique table row identifier.

Options

OptionRequiredDescription
-y, --yesNoSkip the confirmation.

Delete rows matching a filter, or an explicit list of ids

sim tables rows batch-delete <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--filter <json|@file>NoPredicate: {"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 <n>NoMaximum items to return (0 for everything). Defaults to 100.
--row <value...>NoExplicit row identifiers to delete. (space-separated, or @path / @- with one value per line).
-y, --yesNoSkip the confirmation.

Find rows matching a predicate

sim tables rows find <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--q <value>YesValue to find.
--filter <json|@file>NoPredicate: {"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>NoOrdered sort keys: [{"field":"createdAt","direction":"desc"}] (direction: asc or desc) (JSON, or @path / @- to read a file or stdin).

Get row

sim tables rows get <tableId> <rowId>

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.
rowIdYesUnique table row identifier.

List rows

sim tables rows list <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--limit <n>NoMaximum items to return (0 for everything). Defaults to 100.

Query rows

sim tables rows query <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--filter <json|@file>NoPredicate: {"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>NoOrdered sort keys: [{"field":"createdAt","direction":"desc"}] (direction: asc or desc) (JSON, or @path / @- to read a file or stdin).
--limit <n>NoMaximum items to return (0 for everything). Defaults to 100.

Run one row’s enrichment group

sim tables rows enrich <tableId> <rowId> <groupId>

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.
rowIdYesUnique table row identifier.
groupIdYesWorkflow or enrichment group to run.

Update every row matching a filter

sim tables rows batch-update <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--filter <json|@file>YesPredicate: {"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>YesRow-data patch applied to every matching row. (JSON, or @path / @- to read a file or stdin).
--limit <n>NoMaximum items to return (0 for everything). Defaults to 100.
-y, --yesNoSkip the confirmation.

Update row

sim tables rows update <tableId> <rowId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.
rowIdYesUnique table row identifier.

Options

OptionRequiredDescription
--data <json|@file>YesPartial row-data patch keyed by column name. (JSON, or @path / @- to read a file or stdin).

Create view

sim tables views create <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--name <value>YesSaved-view display name.
--config <json|@file>YesSaved 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

ArgumentRequiredDescription
tableIdYesUnique table identifier.
viewIdYesUnique saved-view identifier.

Options

OptionRequiredDescription
-y, --yesNoSkip the confirmation.

Get view

sim tables views get <tableId> <viewId>

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.
viewIdYesUnique saved-view identifier.

List views

sim tables views list <tableId>

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Update view

sim tables views update <tableId> <viewId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.
viewIdYesUnique saved-view identifier.

Options

OptionRequiredDescription
--name <value>NoReplacement saved-view display name.
--config <json|@file>NoComplete replacement saved-view configuration. (JSON, or @path / @- to read a file or stdin).
--config-patch <json|@file>NoSaved-view configuration fields to shallow-merge. (JSON, or @path / @- to read a file or stdin).
--is-defaultNoWhether to promote this view to the table default.
--no-is-defaultNoSend --is-default as false.

Delete table

sim tables delete <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
-y, --yesNoSkip the confirmation.

Get table

sim tables get <tableId>

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

List tables

sim tables list [options]

Options

OptionRequiredDescription
--folder <value>NoFolder path; the leading / is optional.
--search <value>NoCase-insensitive substring match against the resource name.
--sort-by <value>NoField 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>NoSort direction. Accepted values: asc, desc.
--limit <n>NoMaximum items to return (0 for everything). Defaults to 100.

Count rows

sim tables count create <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--predicate <json|@file>NoRecursive predicate tree. Each group node is exactly one non-empty all or any array whose members are further groups or &#123; field, op, value &#125; conditions; the root must be a group, not a bare condition. At most 100 members per group, 10 levels of nesting, and 500 nodes in total. The negating operators include nulls: ne, nin, ncontains, nlike, and nilike match rows whose column is null or absent, so "not X" is not the complement of "X" over a nullable column. That holds for every column type, multi-select included. To exclude nulls, all-combine the negation with isNotEmpty (multi-select) or isNotNull. Comparison: eq, ne, gt, gte, lt, lte. Membership: in, nin (array operand). Emptiness: isEmpty, isNotEmpty, isNull, isNotNull (no operand). Substring, always case-insensitive, operand matched literally: contains, ncontains, startsWith, endsWith. Pattern: like/nlike (case-sensitive), ilike/nilike (case-insensitive). * is the only wildcard and stands for any run of characters; %, _, and backslash match themselves. Use like: "Hi*", not like: "Hi%". A select column compares by option id and restricts its operators: single-select accepts eq, ne, in, nin; multi-select accepts contains, ncontains. Option names are accepted as operands and resolved to ids. (JSON, or @path / @- to read a file or stdin).

Update table

sim tables update <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--name <value>NoIdentifier: letters, numbers, and underscores; cannot start with a number.
--description <value>NoReplacement table description, or null to clear it.
--folder <value>NoFolder path; the leading / is optional.

Move a table to a folder

sim tables mv <tableId> <folder>

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.
folderYesFolder path; the leading / is optional

Insert a row, or update the one that conflicts on a unique column

sim tables upsert <tableId> [options]

Arguments

ArgumentRequiredDescription
tableIdYesUnique table identifier.

Options

OptionRequiredDescription
--data <json|@file>YesComplete 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 the merging PATCH /api/v2/tables/&#123;tableId&#125;/rows/&#123;rowId&#125;. (JSON, or @path / @- to read a file or stdin).
--on <value>NoUnique column to resolve the conflict against.

Import a CSV, into a new table by default

sim tables import [path] [options]

Arguments

ArgumentRequiredDescription
pathNoLocal CSV file to import; omit when using --file-id

Options

OptionRequiredDescription
--name <name>NoIdentifier for the new table: letters, numbers, and underscores; defaults to the sanitized file name.
--table-id <id>NoImport into this existing table instead of creating one.
--mode <append|replace>NoHow to write into --table-id (default: append). Accepted values: append, replace.
--folder <path>NoFolder path for the new table.
--file-id <id>NoImport a file already in the workspace instead of a local path.
--mapping <json|@file>NoColumn mapping (--table-id only).
--create-columns <json|@file>NoColumns to create (--table-id only).
--timezone <iana>NoTimezone for date parsing, e.g. America/New_York.
--no-waitNoReturn once the import is queued instead of watching it.

List table resources and child folders together

sim tables ls [path] [options]

Arguments

ArgumentRequiredDescription
pathNoFolder path to list; defaults to the root folder

Options

OptionRequiredDescription
--search <text>NoFilter folders and resources by name.
--limit <n>NoMaximum combined items to return (0 for everything). Defaults to 100.

Create a table directory at a path

sim tables mkdir <path>

Arguments

ArgumentRequiredDescription
pathYesFolder path to create; the leading / is optional

On this page