---
title: "Show Sync"
method: GET
path: "/syncs/{id}"
tags: ["syncs", "Syncs"]
---

# Show Sync

`GET /syncs/{id}`

Show Sync

## Path parameters

- `id` integer, required

## Response `200`

The Syncs object.

- SyncEntity — SyncEntity model
  - `id` integer — Sync ID
  - `name` string — Name for this sync job
  - `description` string — Description for this sync job
  - `site_id` integer — Site ID this sync belongs to
  - `workspace_id` integer — Workspace ID this sync belongs to
  - `user_id` integer — 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` integer — Remote server ID for the source (if remote)
  - `dest_remote_server_id` integer — Remote server ID for the destination (if remote)
  - `src_site_id` integer — Source site ID if syncing from a child or partner site
  - `dest_site_id` integer — 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` 'daily' | 'custom_schedule' | 'manual' — Trigger type: daily, custom_schedule, or 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` string[] — Array of glob patterns to include
  - `exclude_patterns` string[] — Array of glob patterns to exclude
  - `created_at` string, date-time — When this sync was created
  - `updated_at` string, date-time — When this sync was last updated
  - `sync_interval_minutes` integer — 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` integer — If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
  - `schedule_id` integer — If trigger is `custom_schedule`, the reusable Schedule used instead of the sync's schedule fields.
  - `schedule_days_of_week` integer[] — 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` 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` SyncRunEntity — SyncRunEntity model
    - `id` integer — SyncRun ID
    - `body` string — Log or summary body for this run
    - `bytes_synced` integer — Total bytes synced in this run
    - `compared_files` integer — Number of files compared
    - `compared_folders` integer — Number of folders compared
    - `completed_at` string, date-time — When this run was completed
    - `created_at` string, date-time — When this run was created
    - `dest_remote_server_type` 'ftp' | 'sftp' | 's3' | 'google_cloud_storage' | 'webdav' | 'wasabi' | 'backblaze_b2' | 'one_drive' | 'box' | 'dropbox' | 'google_drive' | 'azure' | 'sharepoint' | 's3_compatible' | 'azure_files' | 'files_agent' | 'filebase' | 'cloudflare' | 'linode' | 'files_com' — Destination remote server type, if any
    - `dry_run` boolean — Whether this run was a dry run (no actual changes made)
    - `errored_files` integer — Number of files that errored
    - `estimated_bytes_count` integer — Estimated bytes count for this run
    - `event_errors` string[] — Array of errors encountered during the run
    - `log_url` string — Link to external log file.
    - `runtime` number, double — Total runtime in seconds
    - `site_id` integer — Site ID
    - `workspace_id` integer — Workspace ID
    - `src_remote_server_type` 'ftp' | 'sftp' | 's3' | 'google_cloud_storage' | 'webdav' | 'wasabi' | 'backblaze_b2' | 'one_drive' | 'box' | 'dropbox' | 'google_drive' | 'azure' | 'sharepoint' | 's3_compatible' | 'azure_files' | 'files_agent' | 'filebase' | 'cloudflare' | 'linode' | 'files_com' — Source remote server type, if any
    - `status` 'success' | 'failure' | 'partial_failure' | 'in_progress' | 'skipped' — Status of the sync run (success, failure, partial_failure, in_progress, skipped)
    - `successful_files` integer — Number of files successfully synced
    - `sync_id` integer — ID of the Sync this run belongs to
    - `sync_name` string — Name of the Sync this run belongs to
    - `updated_at` string, date-time — When this run was last updated
    - `live_transfers` SyncRunLiveTransferEntity[] — Array of in-progress file transfers with progress data. Only present when the sync run status is in_progress.
      - `path` string — The file path being transferred
      - `status` string — Status of this individual transfer
      - `bytes_copied` integer — Bytes transferred so far
      - `bytes_total` integer — Total bytes of the file being transferred
      - `percentage` number, double — Transfer progress from 0.0 to 1.0
      - `eta` string — Estimated time remaining (human-readable)
      - `started_at` string — When this individual transfer started

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `405` — Method Not Allowed
- `409` — Conflict
- `412` — Precondition Failed
- `422` — Unprocessable Entity
- `423` — Locked
- `429` — Too Many Requests

---

[API](https://skmtc.net/files/apis/files-com-api.md) · [All operations](https://skmtc.net/files/apis/files-com-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/files/files-com-api/revisions/c80c746637fd/schema)
