SYNQ Recon Configuration

Type: object

Configuration file format for synq-recon database reconciliation tool

No Additional Properties

Type: string

Short machine identifier for the suite.

Must match regular expression: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$

Must be at least 1 characters long

Must be at most 255 characters long

Type: string

Human-readable title for the suite.

Type: string

Human-readable description.

Type: object

Database connection definitions.

Each additional property must conform to the following schema

Type: object

Connection is a single database connection entry in a connections map.

No Additional Properties

Type: string

Display name for this connection. Defaults to the connection ID (map key).

Type: boolean

When true, the connection is skipped during execution.

Type: integer

Maximum number of parallel queries. Range: 1-256. Defaults to 8.

Value must be greater or equal to 1 and lesser or equal to 256

Type: object

PostgresConf contains PostgreSQL connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Disable SSL certificate verification.

Type: object

SnowflakeConf contains Snowflake connection parameters.

No Additional Properties

Type: string

Snowflake account identifier.

Type: string

Virtual warehouse to use for queries.

Type: string

Role to assume after connecting.

Type: string

PEM-encoded private key content for key-pair authentication.

Type: string

Path to a PEM-encoded private key file.

Type: string

Passphrase to decrypt the private key.

Type: array of string

Databases to include. If empty, all accessible databases are scraped.

No Additional Items

Each item of this array must be:

Type: boolean

Use GET_DDL() to retrieve DDL for tables and views.

Type: string

Database containing the ACCOUNT_USAGE schema. Defaults to SNOWFLAKE.

Type: string

Set to "externalbrowser" to use SSO browser-based authentication.

Type: object

BigQueryConf contains BigQuery connection parameters.

No Additional Properties

Type: string

GCP project ID.

Type: string

Region for BigQuery resources.

Type: string

Inline JSON content of the service account key.

Type: string

Path to the service account key JSON file.

Type: object

RedshiftConf contains Amazon Redshift connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Estimate table freshness from Redshift query logs instead of metadata.

Type: object

MySQLConf contains MySQL connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Disable SSL certificate verification.

Type: object

Additional DSN parameters passed to the driver.

Each additional property must conform to the following schema

Type: string

Type: object

ClickhouseConf contains ClickHouse connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: string

Database to connect to. If empty, all databases are scraped.

Type: boolean

Disable SSL certificate verification.

Type: object

TrinoConf contains Trino / Starburst connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Use a plain HTTP connection instead of HTTPS.

Type: array of string

Catalogs to include. Required for most Trino deployments.

No Additional Items

Each item of this array must be:

Type: object

DatabricksConf contains Databricks connection parameters.

No Additional Properties

Type: string

Databricks workspace URL.

Type: string

Personal access token for authentication.

Type: string

OAuth client ID (M2M authentication).

Type: string

OAuth client secret (M2M authentication).

Type: string

SQL warehouse ID to use for queries.

Type: object

MSSQLConf contains Microsoft SQL Server / Azure SQL Database connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: boolean

Trust the server certificate without validation.

Type: string

Encryption mode (e.g. "true", "false", "strict").

Type: string

Federated authentication method (e.g. "ActiveDirectoryDefault").

Type: string

Pre-acquired access token for Azure AD authentication.

Type: string

Azure AD application client ID for service principal auth.

Type: object

OracleConf contains Oracle Database connection parameters.

No Additional Properties

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: string

Oracle service name.

Type: boolean

Enable SSL/TLS for the connection.

Type: boolean

Verify the server's SSL certificate.

Type: string

Path to Oracle Wallet directory for authentication.

Type: boolean

Enable Oracle Diagnostics Pack features (AWR, ASH).

Type: object

DuckDBConf contains DuckDB / MotherDuck connection parameters.

No Additional Properties

Type: string

File path, ':memory:' for in-memory, or MotherDuck database name.

Type: string

MotherDuck organization/account name (for cloud mode).

Type: string

MotherDuck authentication token (required for cloud MotherDuck).

Type: object

Reconciliation scenario definitions.

Each additional property must conform to the following schema

Type: object

Reconciliation defines a single reconciliation scenario.

No Additional Properties

Type: string

Human-readable title.

Type: string

Human-readable description.

Type: object

Source dataset.

No Additional Properties

Type: string

Connection name (must exist in connections map).

Type: string

Base SQL query (mutually exclusive with 'table'). Supports {{variable_name}} interpolation.

Type: object

Table reference (mutually exclusive with 'query'). Accepts "db.schema.table" string or structured object.

Type: string

Table in dotted format: 'table', 'schema.table', or 'database.schema.table'

Type: object

Structured table reference

Type: string

Database/catalog name

Type: string

Schema/dataset name

Type: string

Table or view name

Must be at least 1 characters long

Type: array of string

Explicit column list (only with 'table'). Mutually exclusive with 'exclude_columns'.

No Additional Items

Each item of this array must be:

Type: array of string

Columns to exclude (only with 'table', resolved at runtime). Mutually exclusive with 'columns'.

No Additional Items

Each item of this array must be:

Type: string

Time-travel timestamp. Wraps query with database-specific time-travel syntax.

Type: string

Column used for bisection split points and aggregate grouping.

Type: enum (of string)

Reconciliation mode.

Must be one of:

  • "row_count"
  • "full"
  • "row_checksum"
  • "aggregate"

Type: enum (of string)

Hash algorithm for row checksums.

Must be one of:

  • "auto"
  • "md5"
  • "farm_fingerprint"
  • "xxhash64"

Type: boolean

Automatically match columns case-insensitively.

Type: object

Column name mapping between source and target.

Type: object

Map source column names to target column names (object format)

Each additional property must conform to the following schema

Type: string
Type: array of object

Map source column names to target column names (array format)

No Additional Items

Each item of this array must be:

Type: object

Type: string

Must be at least 1 characters long

Type: string

Must be at least 1 characters long

Type: object

BisectionConfig controls the bisection drill-down behavior.

No Additional Properties

Type: integer

Number of segments per bisection level.

Value must be greater or equal to 2 and lesser or equal to 1024

Type: integer

Stop drilling when segment row count falls below this.

Value must be greater or equal to 1

Type: enum (of string)

Segmentation strategy.

Must be one of:

  • "auto"
  • "quantile"
  • "hash"
  • "time"

Type: string

Column for time-based partitioning (required when strategy is 'time').

Type: enum (of string)

Time truncation granularity.

Must be one of:

  • "hour"
  • "day"
  • "week"
  • "month"
  • "quarter"
  • "year"

Type: object

ReportingConfig controls what level of detail is reported.

No Additional Properties

Type: enum (of string)

Must be one of:

  • "count_only"
  • "with_keys"
  • "detailed"

Type: integer

Value must be greater or equal to 1

Type: object

AggregateConfig defines aggregate comparison settings.

No Additional Properties

Type: array

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

MeasureConfig defines a column + aggregation function pair.

No Additional Properties

Type: string

Must be at least 1 characters long

Type: object

Type: enum (of string)

Single aggregation function

Must be one of:

  • "SUM"
  • "COUNT"
  • "AVG"
  • "MIN"
  • "MAX"
Type: array of enum (of string)

Multiple aggregation functions

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "SUM"
  • "COUNT"
  • "AVG"
  • "MIN"
  • "MAX"

Type: object

Column(s) defining the drill-down hierarchy.

Type: array of string

Hierarchical group columns for drill-down

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

ThresholdConfig defines tolerance for aggregate differences.

No Additional Properties

Type: number

Maximum absolute difference.

Value must be greater or equal to 0

Type: number

Maximum percentage difference (0.1 = 10%).

Value must be greater or equal to 0

Type: enum (of string)

Percentage formula: source, target, or symmetric.

Must be one of:

  • "source"
  • "target"
  • "symmetric"

Type: object

Per group_column threshold overrides.

Each additional property must conform to the following schema

Type: object

ThresholdConfig defines tolerance for aggregate differences.

Same definition as thresholds

Type: object

Per measure threshold overrides, keyed by FUNC(column).

Each additional property must conform to the following schema

Type: object

ThresholdConfig defines tolerance for aggregate differences.

Same definition as thresholds

Type: object

ErrorHandlingConfig controls retry behavior for query failures.

No Additional Properties

Type: string

Per-query timeout as a Go duration string (e.g., '30s', '5m').

Type: integer

Maximum retry attempts for transient query failures.

Value must be greater or equal to 0 and lesser or equal to 10

Type: string

Initial backoff delay before the first retry.

Type: number

Backoff multiplier applied after each retry.

Value must be greater or equal to 1

Type: object

WindowConfig defines time-windowed reconciliation settings.

No Additional Properties

Type: string

Column being windowed.

Type: string

How far back to look from the current time (e.g., '14d', '2h').

Type: enum (of string)

Windowing strategy: 'sliding' or 'fixed'.

Must be one of:

  • "sliding"
  • "fixed"

Type: object

Dynamic cutoff filter for sync reconciliation. Derives a watermark from data to exclude not-yet-synced rows.

No Additional Properties

Type: string

Simple shorthand: same column for both sides. Expands to source.column + target.column.

Type: string

Medium shorthand: column to derive watermark from on source side.

Type: string

Medium shorthand: column to derive watermark from on target side.

Type: object

Advanced: full source-side watermark derivation config.

No Additional Properties

Type: string

Column to derive the watermark from (e.g., createdat, syncedat).

Must be at least 1 characters long

Type: enum (of string) Default: "MAX"

Aggregate function for watermark derivation. Default: MAX.

Must be one of:

  • "MAX"
  • "MIN"

Type: object

Advanced: full target-side watermark derivation config.

Same definition as source

Type: enum (of string) Default: "MIN"

How to combine watermarks from both sides. Default: MIN (safer).

Must be one of:

  • "MIN"
  • "MAX"
  • "SOURCE"
  • "TARGET"

Type: enum (of string)

Truncate the cutoff value to a time boundary (e.g., HOUR truncates 08:47 to 08:00).

Must be one of:

  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "QUARTER"
  • "YEAR"

Type: string

Time offset applied after truncation. Negative values subtract (safety buffer). Example: "-30m".

Type: object

Advanced: custom WHERE clause generation per side.

No Additional Properties

Type: object
No Additional Properties

Type: string

Column to filter on. Defaults to the derivation column.

Type: string

Comparison operator. Default: "<=".

Type: object

Per-reconciliation setup/teardown.

Each additional property must conform to the following schema

Type: object

Type: object

Type: object

Type: boolean

Whether teardown runs on failure. Inherits from suite level when not set.

Type: boolean

When true, logs setup errors as warnings. Inherits from suite level when not set.

Type: object

Template variables for query interpolation via {{variable_name}} syntax.

Each additional property must conform to the following schema

Type: string

Type: object

Setup queries run once before all reconciliations begin.

Each additional property must conform to the following schema

Type: object
Same definition as reconciliations_additionalProperties_setup_additionalProperties

Type: object

Teardown queries run once after all reconciliations complete.

Each additional property must conform to the following schema

Type: object
Same definition as reconciliations_additionalProperties_setup_additionalProperties

Type: object

SQL file(s) to load and run as setup queries.

Each additional property must conform to the following schema

Type: object
Same definition as reconciliations_additionalProperties_setup_additionalProperties

Type: object

SQL file(s) to load and run as teardown queries.

Each additional property must conform to the following schema

Type: object
Same definition as reconciliations_additionalProperties_setup_additionalProperties

Type: boolean

Whether teardown runs even when reconciliations fail with infrastructure errors.

Type: boolean

When true, logs setup query errors as warnings and continues instead of aborting.

Type: boolean

When true, time reference detection (NOW(), CURRENT_DATE, etc.) returns an error instead of a warning.

Type: object

SYNQ API credentials for sending audit logs.

No Additional Properties

Type: string

OAuth client ID for authenticating with the SYNQ platform.

Type: string

OAuth client secret for authenticating with the SYNQ platform.

Type: string

gRPC endpoint for the SYNQ API (e.g. "developer.synq.io:443").

Type: string

gRPC endpoint for the SYNQ ingest API. Defaults to Endpoint if empty.

Type: string

OAuth token URL. Derived from Endpoint if empty.