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

SDK Function

Sync.list()

Return Object

ListIterator<Sync>

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

import com.files.ListIterator;
import com.files.exceptions.*;
import com.files.exceptions.ApiErrorException.*;
import com.files.models.Sync;

try {
  HashMap<String, Object> parameters = new HashMap<>();
  ListIterator<Sync> syncs = Sync.list(parameters);
  for (Sync sync : syncs.listAutoPaging()) {
    // Operate on sync
  }
} catch (NotAuthenticatedException e) {
  System.out.println("Authentication Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
} catch (SdkException e) {
  System.out.println("Unknown Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
}

Show Sync

SDK Function

Sync.find()

Return Object

Sync

Authorization Requirement

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

Function Arguments

ArgumentDescription
id
int64
Required
Sync ID.

Example Request

import com.files.exceptions.*;
import com.files.exceptions.ApiErrorException.*;
import com.files.models.Sync;

try {
  HashMap<String, Object> parameters = new HashMap<>();
  Sync sync = Sync.find(id, parameters);
  // Operate on sync
} catch (NotAuthenticatedException e) {
  System.out.println("Authentication Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
} catch (SdkException e) {
  System.out.println("Unknown Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
}

Create Sync

SDK Function

Sync.create()

Return Object

Sync

Authorization Requirement

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

Function Arguments

ArgumentDefaultDescription
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

import com.files.exceptions.*;
import com.files.exceptions.ApiErrorException.*;
import com.files.models.Sync;

try {
  HashMap<String, Object> parameters = new HashMap<>();
  parameters.put("delete_empty_folders", true);
  
  Sync sync = Sync.create(parameters);
  // Operate on sync
} catch (NotAuthenticatedException e) {
  System.out.println("Authentication Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
} catch (SdkException e) {
  System.out.println("Unknown Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
}

Dry Run Sync

SDK Function

sync.dryRun();

Return Object

No return value.

Authorization Requirement

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

Example Request

import com.files.exceptions.*;
import com.files.exceptions.ApiErrorException.*;
import com.files.models.Sync;

try {
  // Find the sync object by its id.
  Sync sync = Sync.find(id, null);
  sync.dryRun(null);
} catch (NotAuthenticatedException e) {
  System.out.println("Authentication Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
} catch (SdkException e) {
  System.out.println("Unknown Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
}

Manually Run Sync

SDK Function

sync.manualRun();

Return Object

No return value.

Authorization Requirement

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

Example Request

import com.files.exceptions.*;
import com.files.exceptions.ApiErrorException.*;
import com.files.models.Sync;

try {
  // Find the sync object by its id.
  Sync sync = Sync.find(id, null);
  sync.manualRun(null);
} catch (NotAuthenticatedException e) {
  System.out.println("Authentication Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
} catch (SdkException e) {
  System.out.println("Unknown Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
}

Update Sync

SDK Function

sync.update();

Return Object

Sync

Authorization Requirement

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

Attribute Setters

SetterDescription
setDeleteEmptyFolders
boolean
Delete empty folders after sync?
setDescription
string
Description for this sync job
setDestPath
string
Absolute destination path for the sync
setDestRemoteServerId
int64
Remote server ID for the destination (if remote)
setDisabled
boolean
Is this sync disabled?
setExcludePatterns
array(string)
Array of glob patterns to exclude
setHolidayRegion
string
Skip the sync if there is a formal, observed holiday for this region.
setIncludePatterns
array(string)
Array of glob patterns to include
setInterval
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
setKeepAfterCopy
boolean
Keep files after copying?
setName
string
Name for this sync job
setRecurringDay
int64
If trigger type is daily, this specifies a day number to run in one of the supported intervals: week, month, quarter, year.
setRecurringDays
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.
setScheduleId
int64
If trigger is custom_schedule, the reusable Schedule used instead of the sync's schedule fields.
setScheduleDaysOfWeek
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.
setScheduleTimeZone
string
Time zone for the schedule. If not set, times are interpreted as UTC.
setScheduleTimesOfDay
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.
setSrcPath
string
Absolute source path for the sync
setSrcRemoteServerId
int64
Remote server ID for the source (if remote)
setSyncIntervalMinutes
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.
setTrigger
string
Trigger type: daily, custom_schedule, or manual
Possible values: daily, custom_schedule, manual
setTriggerFile
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.
setAlwaysWriteTriggerFile
boolean
If true, the trigger file will be sent at the end of a successful sync even when no files were transferred.

Example Request

import com.files.exceptions.*;
import com.files.exceptions.ApiErrorException.*;
import com.files.models.Sync;

try {
  // Find the sync object by its id.
  Sync sync = Sync.find(id, null);
  HashMap<String, Object> parameters = new HashMap<>();
  parameters.put("delete_empty_folders", true);
  sync.update(parameters);
} catch (NotAuthenticatedException e) {
  System.out.println("Authentication Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
} catch (SdkException e) {
  System.out.println("Unknown Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
}

Delete Sync

SDK Function

sync.delete();

Return Object

No return value.

Authorization Requirement

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

Example Request

import com.files.exceptions.*;
import com.files.exceptions.ApiErrorException.*;
import com.files.models.Sync;

try {
  // Find the sync object by its id.
  Sync sync = Sync.find(id, null);
  sync.delete(null);
} catch (NotAuthenticatedException e) {
  System.out.println("Authentication Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
} catch (SdkException e) {
  System.out.println("Unknown Error Occurred (" + e.getClass().getName() + "): " + e.getMessage());
}

The Sync Object

Some of the functions 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