Syncs

A Sync represents a file synchronization job between two locations (local-remote, remote-remote, local-child_site, etc). It can be scheduled, run manually, or triggered by custom logic. Syncs track their runs, status, and configuration.

List Syncs

Command

files-cli syncs list

Output

Outputs a list of Sync objects according to the output format.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Additional Arguments

Example Request

files-cli syncs list

Show Sync

Command

files-cli syncs find

Output

Outputs a Sync object according to the output format.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Flags

FlagDescription
--id=
int64
Required
Sync ID.

Example Request

files-cli syncs find \
  --id=1

Create Sync

Command

files-cli syncs create

Output

Outputs a Sync object according to the output format.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Flags

FlagDefaultDescription
--delete-empty-folders
boolean
falseDelete empty folders after sync?
--description=
string
Description for this sync job
--dest-path=
string
""Absolute destination path for the sync
--dest-remote-server-id=
int64
Remote server ID for the destination (if remote)
--disabled
boolean
falseIs this sync disabled?
--exclude-patterns=
array(string)
Array of glob patterns to exclude
--holiday-region=
string
Skip the sync if there is a formal, observed holiday for this region.
--include-patterns=
array(string)
Array of glob patterns to include
--interval=
string
If trigger is daily, this specifies how often to run this sync. One of: day, week, week_end, month, month_end, quarter, quarter_end, year, year_end
--keep-after-copy
boolean
trueKeep files after copying?
--name=
string
Name for this sync job
--recurring-day=
int64
If trigger type is daily, this specifies a day number to run in one of the supported intervals: week, month, quarter, year.
--recurring-days=
array(int64)
If trigger type is daily, this specifies one or more day numbers to run in one of the supported intervals: week, month, quarter, year.
--schedule-id=
int64
If trigger is custom_schedule, the reusable Schedule used instead of the sync's schedule fields.
--schedule-days-of-week=
array(int64)
If trigger is custom_schedule, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.
--schedule-time-zone=
string
Time zone for the schedule. If not set, times are interpreted as UTC.
--schedule-times-of-day=
array(string)
Times of day to run in HH:MM format. For custom_schedule, run at these times on specified days of week. For daily, run at these times on the scheduled interval date.
--src-path=
string
""Absolute source path for the sync
--src-remote-server-id=
int64
Remote server ID for the source (if remote)
--sync-interval-minutes=
int64
Frequency in minutes between syncs. If set, this value must be greater than or equal to the remote_sync_interval value for the site's plan. If left blank, the plan's remote_sync_interval will be used. This setting is only used if trigger is empty.
--trigger=
string
Trigger type: daily, custom_schedule, or manual
Possible values: daily, custom_schedule, manual
--trigger-file=
string
Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If trigger_file is set, a zero-byte file will be sent at the end of the sync.
--always-write-trigger-file
boolean
falseIf true, the trigger file will be sent at the end of a successful sync even when no files were transferred.
--workspace-id=
int64
0Workspace ID this sync belongs to

Example Request

files-cli syncs create

Dry Run Sync

Command

files-cli syncs dry-run

Output

No output is returned.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Flags

FlagDescription
--id=
int64
Required
Sync ID.

Example Request

files-cli syncs dry-run \
  --id=1

Manually Run Sync

Command

files-cli syncs manual-run

Output

No output is returned.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Flags

FlagDescription
--id=
int64
Required
Sync ID.

Example Request

files-cli syncs manual-run \
  --id=1

Update Sync

Command

files-cli syncs update

Output

Outputs a Sync object according to the output format.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Flags

FlagDescription
--id=
int64
Required
Sync ID.
--delete-empty-folders
boolean
Delete empty folders after sync?
--description=
string
Description for this sync job
--dest-path=
string
Absolute destination path for the sync
--dest-remote-server-id=
int64
Remote server ID for the destination (if remote)
--disabled
boolean
Is this sync disabled?
--exclude-patterns=
array(string)
Array of glob patterns to exclude
--holiday-region=
string
Skip the sync if there is a formal, observed holiday for this region.
--include-patterns=
array(string)
Array of glob patterns to include
--interval=
string
If trigger is daily, this specifies how often to run this sync. One of: day, week, week_end, month, month_end, quarter, quarter_end, year, year_end
--keep-after-copy
boolean
Keep files after copying?
--name=
string
Name for this sync job
--recurring-day=
int64
If trigger type is daily, this specifies a day number to run in one of the supported intervals: week, month, quarter, year.
--recurring-days=
array(int64)
If trigger type is daily, this specifies one or more day numbers to run in one of the supported intervals: week, month, quarter, year.
--schedule-id=
int64
If trigger is custom_schedule, the reusable Schedule used instead of the sync's schedule fields.
--schedule-days-of-week=
array(int64)
If trigger is custom_schedule, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.
--schedule-time-zone=
string
Time zone for the schedule. If not set, times are interpreted as UTC.
--schedule-times-of-day=
array(string)
Times of day to run in HH:MM format. For custom_schedule, run at these times on specified days of week. For daily, run at these times on the scheduled interval date.
--src-path=
string
Absolute source path for the sync
--src-remote-server-id=
int64
Remote server ID for the source (if remote)
--sync-interval-minutes=
int64
Frequency in minutes between syncs. If set, this value must be greater than or equal to the remote_sync_interval value for the site's plan. If left blank, the plan's remote_sync_interval will be used. This setting is only used if trigger is empty.
--trigger=
string
Trigger type: daily, custom_schedule, or manual
Possible values: daily, custom_schedule, manual
--trigger-file=
string
Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If trigger_file is set, a zero-byte file will be sent at the end of the sync.
--always-write-trigger-file
boolean
If true, the trigger file will be sent at the end of a successful sync even when no files were transferred.

Example Request

files-cli syncs update \
  --id=1

Delete Sync

Command

files-cli syncs delete

Output

No output is returned.

Authorization Requirement

Requires either a Site-Wide API key or User API key or session from a User with Site Admin permissions.

Flags

FlagDescription
--id=
int64
Required
Sync ID.

Example Request

files-cli syncs delete \
  --id=1

The Sync Object

Some of the commands above return a Sync object. The attributes of this object are listed below.

AttributeDescription
id
int64
Sync ID
name
string
Name for this sync job
description
string
Description for this sync job
site_id
int64
Site ID this sync belongs to
workspace_id
int64
Workspace ID this sync belongs to
user_id
int64
User who created or owns this sync
src_path
string
Absolute source path for the sync
dest_path
string
Absolute destination path for the sync
src_remote_server_id
int64
Remote server ID for the source (if remote)
dest_remote_server_id
int64
Remote server ID for the destination (if remote)
src_site_id
int64
Source site ID if syncing from a child or partner site
dest_site_id
int64
Destination site ID if syncing to a child or partner site
two_way
boolean
Is this a two-way sync?
keep_after_copy
boolean
Keep files after copying?
delete_empty_folders
boolean
Delete empty folders after sync?
disabled
boolean
Is this sync disabled?
trigger
string
Trigger type: daily, custom_schedule, or manual
Possible values: daily, custom_schedule, manual
trigger_file
string
Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If trigger_file is set, a zero-byte file will be sent at the end of the sync.
always_write_trigger_file
boolean
If true, the trigger file will be sent at the end of a successful sync even when no files were transferred.
include_patterns
array(string)
Array of glob patterns to include
exclude_patterns
array(string)
Array of glob patterns to exclude
created_at
date-time
When this sync was created
updated_at
date-time
When this sync was last updated
sync_interval_minutes
int64
Frequency in minutes between syncs. If set, this value must be greater than or equal to the remote_sync_interval value for the site's plan. If left blank, the plan's remote_sync_interval will be used. This setting is only used if trigger is empty.
interval
string
If trigger is daily, this specifies how often to run this sync. One of: day, week, week_end, month, month_end, quarter, quarter_end, year, year_end
recurring_day
int64
If trigger type is daily, this specifies a day number to run in one of the supported intervals: week, month, quarter, year.
recurring_days
array(int64)
If trigger type is daily, this specifies one or more day numbers to run in one of the supported intervals: week, month, quarter, year.
schedule_id
int64
If trigger is custom_schedule, the reusable Schedule used instead of the sync's schedule fields.
schedule_days_of_week
array(int64)
If trigger is custom_schedule, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.
schedule_times_of_day
array(string)
Times of day to run in HH:MM format. For custom_schedule, run at these times on specified days of week. For daily, run at these times on the scheduled interval date.
schedule_time_zone
string
Time zone for the schedule. If not set, times are interpreted as UTC.
holiday_region
string
Skip the sync if there is a formal, observed holiday for this region.
latest_sync_run
SyncRun
The latest run of this sync