recon
Subcommands of simetrik recon.
simetrik recon list
List reconciliations.
Lists the reconciliations in your workspace. A reconciliation is one of Simetrik's resource types: it
matches records from two segments (A and B) against a set of rules. This is the reconciliation-specific
counterpart to the generic simetrik describe; reach for it when you already know you want
reconciliations and need their IDs and names.
Narrow the result with --search to match by name and cap the size with --limit (default 50). To
drill into a single reconciliation's rule sets, follow up with simetrik recon describe <resource_id>.
See also: recon describe, recon create. Requires CLI access to the workspace. See permissions.
Flags
-s, --search <query>— Search by name-l, --limit <n>— Max results-f, --format <fmt>— Output format: table|json
Examples
simetrik recon list
simetrik recon list --search ventas --limit 20
simetrik recon list --format jsonExit codes
| Code | Meaning |
|---|---|
0 | Reconciliations listed |
1 | Server rejected the request |
2 | Invalid usage — non-numeric --limit |
4 | Authentication required — run simetrik login |
simetrik recon create
Create a new reconciliation.
Destructive action
This command modifies or deletes data irreversibly.
Creates a reconciliation — one of Simetrik's resource types that matches records across two segments.
You must supply both --segment-a and --segment-b (the two sides being compared); the command
errors before any API call if either is missing. Set --type to choose the matching cardinality:
1 for 1:1, 2 for M:M (default), 3 for 1:M, 4 for M:1.
Use this to stand up a new reconciliation; afterward attach matching logic with simetrik ruleset create
(or simetrik recon cross-create). By default the reconciliation is created as a draft — pass
--auto-confirm to persist and run it in one step, or confirm it later with simetrik recon confirm.
Use --prefix-a / --prefix-b to disambiguate column names that collide between the two sides, and
--id-only to print just the new resource ID for scripting.
See also: recon confirm, ruleset create, recon column-select. Writes use reconciliations · create_edit_configure. See permissions.
Arguments
name— Reconciliation name
Flags
--segment-a <id>— Segment A ID (required)--segment-b <id>— Segment B ID (required)--type <n>— Type: 1=1:1, 2=M:M, 3=1:M, 4=M:1-d, --description <desc>— Description--prefix-a <prefix>— Segment A prefix--prefix-b <prefix>— Segment B prefix--folder <id>— Folder ID--auto-confirm— Auto-confirm after creation--id-only— Print only the created resource ID-f, --format <fmt>— Output format: json|table
Examples
simetrik recon create "Ventas vs Banco" --segment-a 101 --segment-b 202 --type 1
simetrik recon create "Pagos M:1" --segment-a 101 --segment-b 202 --type 4 --prefix-a src --prefix-b bank
simetrik recon create "Cuentas" --segment-a 101 --segment-b 202 --auto-confirm --id-onlyExit codes
| Code | Meaning |
|---|---|
0 | Reconciliation created |
1 | Server rejected the request |
2 | Invalid usage — missing --segment-a or --segment-b, or non-numeric segment/type ID |
4 | Authentication required — run simetrik login |
simetrik recon update
Update a reconciliation's name and/or description (metadata only; does not change segments, type, or rules).
Updates a reconciliation's metadata — its --name and/or --description. This edits only the
descriptive fields; it does not touch segments, type, or matching rules. To change rules, use
simetrik ruleset update (or ruleset create to add a new rule set); to change which columns
propagate into the output, use simetrik recon column-select.
Pass the reconciliation ID as the positional argument and at least one field to change. Reach for this when a reconciliation has been renamed or its purpose has been clarified, not to alter how it matches.
See also: recon create, recon describe, ruleset update. Writes use reconciliations · create_edit_configure. See permissions.
Arguments
reconciliation_id— Reconciliation ID
Flags
--name <n>— New name-d, --description <d>— New description-f, --format <fmt>— Output format: json|table
Examples
simetrik recon update 4567 --name "Ventas vs Banco (2026)"
simetrik recon update 4567 --description "Daily card settlement match"Exit codes
| Code | Meaning |
|---|---|
0 | Reconciliation updated |
1 | Server rejected the request (e.g. reconciliation not found) |
2 | Invalid usage — non-numeric reconciliation ID |
4 | Authentication required — run simetrik login |
simetrik recon describe
Describe a reconciliation with rule sets.
Returns the full detail of a single reconciliation, including its attached rule sets. Use this when
simetrik recon list has given you an ID and you need to inspect how the reconciliation is configured
— its segments and the rule sets that drive matching — before running or editing it.
This is read-only. To see one rule set on its own with its rules inline, use simetrik ruleset describe <ruleset_id>; to actually process data, use simetrik recon run.
See also: recon list, ruleset describe, recon run. Requires CLI access to the workspace. See permissions.
Arguments
resource_id— Resource ID
Flags
-f, --format <fmt>— Output format: json|table
Examples
simetrik recon describe 4567
simetrik recon describe 4567 --format tableExit codes
| Code | Meaning |
|---|---|
0 | Reconciliation details returned |
1 | Server rejected the request (e.g. reconciliation not found) |
2 | Invalid usage — non-numeric resource ID |
4 | Authentication required — run simetrik login |
simetrik recon run
Run a reconciliation (process data against matching rules).
Runs a reconciliation: processes the data in both segments against the configured matching rules and
records which rows match. Use this on an already-confirmed reconciliation to refresh results after new
data has loaded; for a brand-new draft, confirm it first with simetrik recon confirm (or create it
with --auto-confirm).
Without flags the command queues the run and returns immediately. Add --wait to block until the task
finishes, polling until done or until --timeout seconds elapse (default 120); on timeout the command
exits 3, and if the task itself fails it exits 1. Pass --reprocess to rematch everything from
scratch and --clean-unreconciled to clear previously unmatched records before the run.
See also: recon confirm, recon describe, ruleset create. Writes use reconciliations · execute. See permissions.
Arguments
reconciliation_id— Reconciliation ID
Flags
--reprocess— Reprocess from scratch--clean-unreconciled— Clean unreconciled records-w, --wait— Wait for completion-t, --timeout <seconds>— Max seconds to wait-f, --format <fmt>— Output format: json|table
Examples
simetrik recon run 4567
simetrik recon run 4567 --wait --timeout 300
simetrik recon run 4567 --reprocess --clean-unreconciled --waitExit codes
| Code | Meaning |
|---|---|
0 | Run started (or completed successfully when --wait is set) |
1 | Server rejected the request, or the task finished in a failed state under --wait |
2 | Invalid usage — non-numeric reconciliation ID or timeout |
3 | Timed out waiting for completion (--wait exceeded --timeout) |
4 | Authentication required — run simetrik login |
simetrik recon confirm
Confirm a draft reconciliation (persist and run).
Confirms a draft reconciliation: persists its configuration and kicks off the first run. Use this after
simetrik recon create (when you did not pass --auto-confirm) and after you have attached the rule
sets that define how rows match — confirming locks in that configuration and processes the data once.
Add --wait to block until the task completes, polling until done or until --timeout seconds elapse
(default 120); on timeout the command exits 3, and a failed task exits 1. For subsequent runs on an
already-confirmed reconciliation, use simetrik recon run instead.
See also: recon create, recon run, ruleset create. Writes use reconciliations · execute. See permissions.
Arguments
reconciliation_id— Reconciliation ID
Flags
-w, --wait— Wait for completion-t, --timeout <seconds>— Max seconds to wait-f, --format <fmt>— Output format: json|table
Examples
simetrik recon confirm 4567
simetrik recon confirm 4567 --wait --timeout 300Exit codes
| Code | Meaning |
|---|---|
0 | Reconciliation confirmed (or completed successfully when --wait is set) |
1 | Server rejected the request, or the task finished in a failed state under --wait |
2 | Invalid usage — non-numeric reconciliation ID or timeout |
3 | Timed out waiting for completion (--wait exceeded --timeout) |
4 | Authentication required — run simetrik login |
simetrik recon cross-create
Create a cross (ruleset) on a standard reconciliation. Rules reference source column IDs directly (like adv-recon sweep-create); chained columns on the recon are materialized later by the reconciliator itself.
Creates a cross — a rule set — on a standard reconciliation, where each rule references source column
IDs directly. Pass --rules as a JSON array; every rule needs column_a and column_b (positive
integer source column IDs), with optional name, operator (default =), tolerance, and
tolerance_unit. The command validates this locally and exits 2 before any API call if --rules
is missing, isn't valid JSON, or a rule omits a valid column_a/column_b.
Use this rather than simetrik ruleset create when you want to express rules against raw source column
IDs and let the reconciliator materialize chained columns later, instead of supplying fully resolved
column_a_id/column_b_id pairs yourself. Set --cross-type to the cardinality (ONE_TO_ONE,
ONE_TO_MANY, MANY_TO_ONE, MANY_TO_MANY), --position for priority, and --robustness as a
JSON array of exactly two numbers (e.g. [0.8,1.0]).
See also: ruleset create, recon describe, recon run. Writes use reconciliations · create_edit_configure. See permissions.
Arguments
reconciliation_id— Reconciliation ID
Flags
-n, --name <name>— Ruleset name--position <n>— Ruleset position/priority--cross-type <type>— Cross type: ONE_TO_ONE (1:1), ONE_TO_MANY (1:N), MANY_TO_ONE (N:1), MANY_TO_MANY (N:N)--rules <json>— JSON array of rules. Each rule requires column_a, column_b (source column IDs); optional fields: name, operator (default "="), tolerance, tolerance_unit.--robustness <json>— Robustness thresholds as JSON array of 2 floats, e.g. "[0.8, 1.0]"-f, --format <fmt>— Output format: json|table
Examples
simetrik recon cross-create 4567 --name "Amount match" --rules '[{"column_a":11,"column_b":21}]'
simetrik recon cross-create 4567 --name "Multi" --cross-type ONE_TO_MANY --position 2 --rules '[{"column_a":11,"column_b":21,"operator":"=","tolerance":5,"tolerance_unit":"PERCENT"}]'
simetrik recon cross-create 4567 --name "Robust" --rules '[{"column_a":11,"column_b":21}]' --robustness '[0.8,1.0]'Exit codes
| Code | Meaning |
|---|---|
0 | Cross (rule set) created |
1 | Server rejected the request |
2 | Invalid usage — missing --rules, malformed JSON, or a rule without positive integer column_a/column_b |
4 | Authentication required — run simetrik login |
simetrik recon column-select
Select which segment columns propagate into the reconciliation output (inherited columns, auto-refreshed each run).
Selects which parent columns from each segment propagate into the reconciliation's output. Pass column
IDs per side as JSON arrays via --side-a and --side-b, or use --all to pull every non-system
column from both sides. The picked columns are materialized as inherited columns on the reconciliation,
which the engine auto-refreshes on each run.
Use this after creating a reconciliation, when the default output is missing fields you need downstream
(reports, exports, or further joins). The --side-a/--side-b values must be valid JSON arrays —
malformed JSON exits 2 before any API call. To change how rows are matched instead, use
simetrik ruleset create or simetrik recon cross-create.
See also: recon create, ruleset create, recon describe. Writes use reconciliations · create_edit_configure. See permissions.
Arguments
recon_id— Reconciliation ID
Flags
--side-a <json>— JSON array of column IDs for side A--side-b <json>— JSON array of column IDs for side B--all— Select ALL non-system columns from both sides-f, --format <fmt>— Output format: table|json
Examples
simetrik recon column-select 4567 --all
simetrik recon column-select 4567 --side-a '[11,12]' --side-b '[21,22]'Exit codes
| Code | Meaning |
|---|---|
0 | Column selection saved |
1 | Server rejected the request |
2 | Invalid usage — malformed JSON in --side-a/--side-b, or non-numeric recon ID |
4 | Authentication required — run simetrik login |