Guides
Syncing Data
Several list endpoints support an updated_since filter, making it easy to build incremental sync pipelines that only fetch what's changed.
Incremental Sync Pattern
- On the first sync, fetch all records (paginate through the full dataset)
- Store the timestamp of when you started the sync
- On subsequent syncs, pass
?updated_since=LAST_SYNC_TIMESTAMPto only fetch records modified since your last run - Paginate through results until
next_cursoris null
Code
Supported Endpoints
| Endpoint | updated_since | created_after |
|---|---|---|
/v1/items | Yes | — |
/v1/quotes | Yes | — |
/v1/sales-orders | Yes | Yes |
/v1/invoices | Yes | — |
/v1/shipments | Yes | — |
/v1/packages | Yes | — |
created_after is useful for "orders placed since" workflows where you care about creation time rather than last modification.
The following endpoints do not support updated_since:
/v1/accountand/v1/account/addresses— these return your current account snapshot, not a historical list/v1/stockand/v1/warehouses— fetch the full dataset each time
Recommendations
- Sync frequency: Poll every 5–15 minutes for most use cases. Use webhooks (coming soon) for real-time needs.
- Overlap your timestamps: Use a small overlap (e.g., subtract 1 minute from your last sync time) to avoid missing records changed during the previous sync.
- Handle pagination fully: Always paginate through all pages before considering a sync complete.
- Use
expandsparingly during sync: Expansions increase response size. Fetch expanded data only for records you need to process in detail.
Last modified on

