Synchronoid is in private beta. New workspaces open in small batches every few weeks. Join the waitlist →

CLI reference

The syn command line tool develops, deploys and operates Synchronoid projects. This page lists every command and its flags. To install it, see Install the CLI.

Commands at a glance

CommandPurpose
syn loginSign in and store a token.
syn initCreate a new project.
syn devRun your project locally with live reload.
syn deployUpload the project to a workspace.
syn runs listList runs.
syn runs showShow the steps and logs of one run.
syn runs replayReplay a run from stored data.
syn runs cancelCancel a running run.
syn sourcesList, inspect, pause and resume sources.
syn backfillRun an asset for past partitions.
syn secretsManage secrets.
syn feedsManage change feed subscriptions.
syn alertsTest and list alert rules and channels.
syn materializeRun an asset once, optionally from raw data and with downstream assets.
syn schedules, syn sensorsList and disable schedules, test sensors.
syn connector testTest a custom connector against a fixture file.
syn completionPrint shell completion for bash, zsh or fish.
syn doctorCheck your setup and collect diagnostics.

Global flags

FlagDescription
--workspace NAMEWorkspace to use. Default: the one in synchronoid.yaml or the last one you used.
--env NAMEEnvironment, such as dev or prod. Default: dev.
--jsonPrint machine-readable JSON.
--quiet, -qPrint only errors.
--verbose, -vPrint debug output, including HTTP requests.
--helpShow help for any command.

The token is read from SYN_TOKEN when set. This is the way to authenticate in CI.

syn login

Opens a browser window to sign in and stores a token in your user configuration. Use --token in environments without a browser.

FlagDescription
--token TOKENStore an existing token (syn_live_...) instead of opening a browser.
--no-browserPrint a URL and code instead of opening a browser.
--ssoUse single sign-on for your organization.

syn init

Creates synchronoid.yaml and an example pipeline.

terminal
$ syn init my-pipelines --template http_json
Created my-pipelines/synchronoid.yaml
Created my-pipelines/pipelines/example.py
FlagDescription
--template NAMEblank, http_json, postgresql or sftp_csv.
--no-gitDo not create a Git repository.

syn dev

Runs your project on your machine and reloads when files change. Data stays local, in .synchronoid/.

FlagDescription
--port NPort of the local control room. Default 4040 (localhost:4040).
--asset NAMEMaterialize one asset and exit.
--partition KEYPartition to use together with --asset.
--no-reloadDisable file watching.

syn deploy

Checks the project, packages it and uploads it. Schedules and sensors start working as soon as the deploy finishes.

FlagDescription
--env NAMETarget environment. Required for prod.
--dry-runValidate and show changes without uploading.
--message TEXTNote stored with the deploy.
--yesSkip the confirmation prompt.

syn runs

terminal
$ syn runs list --status failed --since 24h
$ syn runs show run_8f3a21 --logs
$ syn runs replay run_8f3a21 --from-layer raw
$ syn runs cancel run_c91d07
SubcommandFlags
list--status (running, succeeded, failed, retrying), --asset, --since DURATION, --limit N (default 20).
show RUN_ID--logs prints step logs. --provenance prints the provenance of produced values.
replay RUN_ID--from-layer raw|staged, --asset NAME (repeatable), --dry-run, --verify (replay against a scratch copy and report differences).
cancel RUN_IDStops the run after the current step finishes.

syn sources

terminal
$ syn sources list
$ syn sources status company_registry
$ syn sources pause company_registry --reason "provider maintenance"
$ syn sources resume company_registry

pause accepts --reason TEXT and --until TIMESTAMP. resume accepts --no-probe to skip the test request.

syn backfill

FlagDescription
ASSETAsset name (argument).
--from, --toFirst and last partition key, inclusive.
--partitions LISTComma-separated partition keys.
--missing, --failedSelect partitions by state.
--concurrency NPartitions in flight. Default 4.
--downstreamAlso run dependent assets.
--from-layer rawReuse stored raw data.
--no-eventsDo not emit change events.
--dry-runPrint the plan only.

More in the Backfills guide.

syn secrets, feeds and alerts

CommandDescription
syn secrets set|list|delete|rollback NAMEManage secrets. set takes --stdin. rollback takes --to VERSION. See Secrets.
syn feeds create|list|pause|delete NAMEManage subscriptions. create takes --asset, --events, --webhook or --kafka-topic and prints the signing secret once. See Change feeds.
syn alerts list|test NAMEList rules or send a test message to a channel. See Alerts.

syn materialize, schedules, sensors, connector

terminal
$ syn materialize companies_current --from-layer raw --downstream
$ syn schedules list
$ syn schedules disable nightly
$ syn sensors test new_export_file
$ syn connector test my_connector --fixture sample.json
$ syn --version
syn 0.14.2 (sdk 0.14.2, python 3.12.4)

syn completion bash|zsh|fish prints a completion script for your shell. The CLI also reads SYN_TOKEN and SYN_CA_BUNDLE, and user settings from ~/.config/synchronoid/config.yaml.

syn doctor

Checks the CLI version, token, network access to the API, Python version and project configuration. Use --bundle to create a diagnostics archive for support. See Troubleshooting.

Exit codes

CodeMeaning
0Success.
1Command failed.
2Invalid usage or configuration.
3Not signed in, or permission denied.