syncs
Replicate data continuously from a source application into a data warehouse. Syncs are Celigo Data Ingestion pipelines. A sync belongs to an integration and pairs a source connection with a destination database and schema. Which tables or objects it replicates is configured with datasets.
This group builds, runs, and monitors syncs. To inspect or cancel the individual runs a sync produces, use sync-jobs. For editions, entitlements, and how syncs compare to flows, see What is Celigo sync? in the Help Center.
REST API: Syncs
celigo syncs <subcommand> [args] [flags]Supports all global flags.
Subcommands
list
List the syncs in the account.
get <id>
Fetch one sync by ID.
create
Create a sync from a JSON body (--file <path> or stdin).
update <id>
Full replace from a JSON body. Omitted fields are erased.
set <id> key=value …
Targeted field edit.
delete <id>
Delete a sync.
run <syncId>
Trigger a run of a sync.
cancel-jobs <syncId>
Cancel all running jobs for a sync.
audit <syncId>
Show the audit log (change history) for a sync.
events <syncId>
List schema drift and data catalog events across a sync's runs.
usage
Report records loaded, per sync, per month, or per environment.
sources
List the applications supported as a sync source.
destinations
List the applications supported as a sync destination.
celigo syncs list
List the syncs in the account.
Signature
Arguments
None.
Flags
--integration <id>
string
—
List only syncs belonging to this integration.
--fields <spec>
string
default
Fields to request per row. default returns _id, name, and the table columns; all returns complete documents; a comma-separated list requests specific fields. See field projection.
--limit <n>
integer
—
Return at most <n> rows, fetching a single page.
Example
Corresponds to: GET /v1/syncs
celigo syncs get
Fetch one sync by ID, with its complete configuration.
Signature
Arguments
<id>
string
Yes
Sync ID.
Example
Corresponds to: GET /v1/syncs/{_id}
celigo syncs create
Create a sync from a JSON body. Read the body from a file with -f, --file, or pipe it on stdin.
Signature
Flags
-f, --file <path>
string
—
Read the JSON body from a file instead of stdin (--file - also means stdin).
Request body
A JSON object matching the POST /v1/syncs request schema. The sync names its parent integration, its source connection, and its destination database and schema.
Example
Corresponds to: POST /v1/syncs
celigo syncs update
Replace a sync from a JSON body.
⚠️
updatereplaces the entire sync.PUTerases any field you omit, including the schedule and destination settings. Runceligo syncs get <id>first, edit the result, then send the complete object back. For a single field, useset.
Signature
Arguments
<id>
string
Yes
Sync ID.
Flags
-f, --file <path>
string
—
Read the JSON body from a file instead of stdin (--file - also means stdin).
Example
Corresponds to: PUT /v1/syncs/{_id}
celigo syncs set
Edit named fields on a sync without sending the whole document. Whitelisted fields such as name, debugUntil, and schedule.* apply through an atomic PATCH. Other fields round-trip GET, modify, then PUT, so omitted fields survive.
Signature
Arguments
<id>
string
Yes
Sync ID.
<key=value>
string
Yes (≥1)
Field assignments. Values are JSON-parsed first, so disabled=false becomes a boolean. key=null removes the field. Dot notation and array indexing are supported.
Example
Corresponds to: PATCH /v1/syncs/{_id} for whitelisted fields, otherwise GET followed by PUT /v1/syncs/{_id}.
celigo syncs delete
Delete a sync. The command prompts for confirmation unless you pass -y.
⚠️ Deleting a sync removes its datasets and run history. The data already written to the destination warehouse stays there. Recover a deleted sync from the Recycle Bin if the retention window has not passed.
Signature
Arguments
<id>
string
Yes
Sync ID.
Flags
-y, --yes
boolean
false
Skip confirmation.
Example
Corresponds to: DELETE /v1/syncs/{_id}
celigo syncs run
Trigger a run of a sync.
Signature
Arguments
<syncId>
string
Yes
Sync ID.
Example
Corresponds to: POST /v1/syncs/{_syncId}/run (operationId: runSync)
The response carries a flowExecutionGroupId. Pass it to syncs events --run to see what that run produced.
celigo syncs cancel-jobs
Cancel every running job for a sync. Prompts for confirmation unless -y is passed.
⚠️ Cancelling all jobs cannot be undone. Every running job for the sync stops immediately, which can leave data partially synced. Re-run the sync to finish.
Signature
Arguments
<syncId>
string
Yes
Sync ID.
Flags
-y, --yes
boolean
false
Skip confirmation.
Example
Corresponds to: PUT /v1/syncs/{_syncId}/syncJobs/cancel (operationId: cancelSyncJobs)
celigo syncs audit
Show the audit log (change history) for a sync.
Signature
Arguments
<syncId>
string
Yes
Sync ID.
Example
Corresponds to: GET /v1/syncs/{_syncId}/audit (operationId: getSyncAudit)
celigo syncs events
List a sync's events across all of its runs, newest first. Events fall into two categories:
Schema Drift
Schema changes detected in the source, and changes applied to the destination.
Data Catalog
Dataset metadata activity while the source is being cataloged.
Use this to answer why a destination table changed shape, or why a dataset stopped replicating a column.
Signature
Arguments
<syncId>
string
Yes
Sync ID.
Flags
--type <type>
string
—
Filter to one category: "Schema Drift" or "Data Catalog". Quote the value — both contain a space.
--resource-name <name>
string
—
Filter to one source table or object, for example Account.
--run <runId>
string
—
Filter to one run. Use the flowExecutionGroupId that syncs run returns.
--time-gte <iso>
ISO 8601
—
Return events after this timestamp. Must not be in the future.
--time-lte <iso>
ISO 8601
—
Return events at or before this timestamp.
--limit <n>
integer
all pages
Max events to return, from 1 to 1000, in a single request. Without it, the CLI collects every page.
Example
Corresponds to: GET /v1/syncs/{_syncId}/events
celigo syncs usage
Report the volume of records loaded. By default, usage reports per sync for the current calendar month in UTC. --by changes the breakdown.
--by value
Result
omitted
Per sync, current calendar month.
month
Account-wide monthly history against the license entitlement, up to 14 months back.
environment
Per environment, current month.
Signature
Arguments
None.
Flags
--by <dimension>
string
—
Break down by month or environment instead of per sync.
--from <YYYY-MM>
string
—
First month to include. Requires --by month.
--to <YYYY-MM>
string
—
Last month to include. Requires --by month, and must not be in the future.
Example
Corresponds to: the sync usage endpoints under Syncs. --by month rows carry an entitlement field alongside the volume, so you can compare consumption to the license.
celigo syncs sources
List the applications supported as a sync source.
Signature
Arguments
None.
Example
Corresponds to: GET /v1/di/metadata/sources (operationId: listSyncSources)
celigo syncs destinations
List the applications supported as a sync destination.
Signature
Arguments
None.
Example
Corresponds to: GET /v1/di/metadata/destinations (operationId: listSyncDestinations)
Gotchas
A sync can only live in a syncs integration. An integration holds either flows or syncs, never both. Create the parent first with
syncsenabled:Full CRUD arrived in celigo-cli 2026.8.1. Earlier releases could run a sync and manage its jobs, but not create, list, or delete one. If you scripted around that gap,
syncs listandsyncs createnow replace the workaround.cancel-jobsandsync-jobs canceldiffer in scope.syncs cancel-jobs <syncId>cancels every running job for a sync in one call.sync-jobs cancel <syncJobId>targets a single job.Inspecting runs lives under
sync-jobs. Listing, fetching, and reading errors for the jobs a sync produces is done with sync-jobs, notsyncs.eventsis retention-bounded. Older events age out, so a window that predates the retention period returns nothing.--time-gtemust not be in the future.--typevalues contain a space. Quote them:--type "Schema Drift", not--type Schema Drift.--fromand--torequire--by month. Passing them with the default per-sync breakdown, or with--by environment, is rejected. Both takeYYYY-MM, not a full date.Datasets decide what a sync replicates. Creating a sync does not select any tables. Use datasets to choose them and set each one's ingestion mode.
Related
datasets — choose which source tables and objects a sync replicates, and how.
sync-jobs — inspect and cancel the individual jobs produced by
syncs run.integrations — the container that owns syncs.
jobs — flow execution history, which is distinct from sync jobs.
Last updated
Was this helpful?