Skip to main content
There are two ways data gets synced:
  1. Auto Sync — runs on a frequency you configure, per data model. Always incremental.
  2. Manual Sync — triggered by you, from the dashboard or the API. Incremental, full, or from a specific date.
Only a manual sync takes a start date per request. Auto Sync always runs incrementally from the last successful sync — but the sync_from you set in Sync Config acts as a floor for every sync, Auto included, so historical data before that date is never pulled. The three modes:
  1. Incremental Sync (default) — only syncs data changed since the last sync.
  2. Full Sync — syncs everything from the underlying platform. Trigger this when you need records deleted on the platform to be reflected on our side; deletions are only detected during a full sync.
  3. Sync from a specific date — syncs data from a given date forward, per data model. Useful when a customer has a large history and you only need recent data.
Sync only the data you needSync only the data models you actually use. This avoids exhausting the underlying platform’s rate limits, shortens sync time, and limits exposure of sensitive data.

Auto Sync

Auto Sync checks for updates and incrementally syncs data for all active connections at the frequency you set. Sync Config controls the frequency per data model, so you can sync what you care about often and everything else rarely.
Why frequency per data model mattersThe underlying platform’s rate limits are the real constraint. If a customer has a lot of data and every data model is set to sync frequently, syncs get paused and resumed against those limits — so the models you actually care about may not be as fresh as you expect. Frequent syncing also competes for the same API quota as your writes.

Manual Sync

Via the dashboard

Trigger a manual incremental sync for a customer from the company page. Every enabled data model is synced.

Via API

POST /v4/core/companies/{companyId}/syncs By default this is an incremental sync of all configured data models. The body is optional:
The response returns the sync id and the data models that are syncing. Track progress with GET /v4/core/companies/{companyId}/syncs, or subscribe to the SYNC_STARTED and SYNC_COMPLETED webhooks.
Syncing from a specific dateBase data models like accounts and contacts should always be synced in full. Other models — invoices, bills — reference them, so restricting them to a date window causes dangling references.