Skip to content

Running a Reconciliation

A reconciliation job compares data across two connections. This guide shows you how to create and run one. For the full job structure — dimensions, measures, stages, and tolerances — see Configuring a reconciliation job.

  • At least two connections configured in your workspace.
  • For each connection, the schema/table and the column mapping you want to compare.

A job is defined declaratively: you choose the connections to compare, the dimensions (the columns that identify a row group), the measures (the aggregated values to check), and one or more stages (each stage is the unit of pass/fail, with its own tolerances). There is no “source query / target query / key columns” model — see Configuring a reconciliation job for every field.

  1. Go to Jobs in the sidebar and click New Job.
  2. Add the connections to compare and map their columns.
  3. Choose the dimensions (grouping columns) and measures (aggregations).
  4. Add one or more stages with their tolerances.
  5. Click Save.

Triggering a run requires the job ID and the workspace ID.

Open the job and click Run Now. Progress is shown in real time.

Your plan limits how many runs can be in progress at once. If you’re already at the limit, the trigger returns 403 QUOTA_EXCEEDED — wait for a run to finish and retry. See Limits & Quotas.

  • Poll GET /jobs/{jobId}/runs/{runId}?workspaceId={id} for the run’s status — one of QUEUED, RUNNING, COMPLETED, ERRORED, or CANCELLED.
  • Subscribe to webhooks for the run lifecycle events to be notified the moment a run finishes.

After a run completes, each stage produces a result. At the row-group level the comparison yields:

CategoryMeaning
MatchedThe group exists across all sources and every measure is within tolerance.
UnmatchedThe group is missing in one or more sources, or a measure is outside tolerance.

A run’s overall result is MATCHED only when every group joins across all sources and all tolerances pass; any unmatched group or tolerance failure makes it UNMATCHED. See Data types & comparison for the comparison semantics.