Skip to main content

Dry Run

Dry-run mode reads the CSV and validates the mapping without sending data to the API. It also prints a bounded preview of the first 5 checkable rows that would be sent to the API.

Use it when:

  • You create a new mapping file.
  • A customer sends a new CSV layout.
  • You change delimiters, encodings, headers, or skipped rows.
  • You want to verify that mapped columns exist before using quota.
  • You want to confirm that --no-header or input.hasHeader: false index mappings select the expected values.

Command

optimus check customers.csv --map mapping.yml --standard --dry-run

Dry-run mode still requires a valid check type, so pass --standard, --qualified, or set defaults.checkType in YAML.

What It Checks

Dry-run mode checks:

  • The input path.
  • The YAML file can be loaded.
  • YAML values are valid.
  • Required configuration is present.
  • Mapped columns exist in the CSV header.
  • No-header mappings use valid 1-based indexes.
  • Rows can be read.
  • Skip filters can be applied.

API Preview

After validation, dry-run mode prints the first 5 checkable rows that would be sent to the API.

The preview is shown after skip filters are applied, so skipped rows are not included. It contains the API input fields:

  • Source row number.
  • VAT ID.
  • Company name.
  • Street.
  • ZIP.
  • City.

Example:

First 2 rows that would be sent to the API
Row | VAT ID | Company | Street | ZIP | City
1 | DE123456789 | Acme GmbH | Main Street 1 | 10115 | Berlin
2 | DE987654321 | Beta GmbH | Side Street 2 | 80331 | Munich
No API call executed (dry-run).

The preview is terminal output only. Dry-run mode does not create a support log. Use --quiet to suppress normal dry-run output and print only errors.

What It Does Not Do

Dry-run mode does not:

  • Require a token.
  • Call the API.
  • Create validation operations.
  • Create saved validation state.
  • Create support logs.
  • Download PDFs.
  • Write a result CSV.
  • In folder mode, create mailbox folders, retry files from error/, move files to processing/, done/, or error/, write .err files, or clean up old done/ files.

Typical Flow

export OPTIMUS_TOKEN="<token>"
optimus check customers.csv --map mapping.yml --standard --dry-run
optimus check customers.csv --map mapping.yml --standard