Guides
Syncing Data
Most list endpoints support modified_after and created_after filters, 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
?modified_after=LAST_SYNC_TIMESTAMPto only fetch records updated since your last run - Paginate through results until
next_cursoris null
Code
Supported Filters
| Endpoint | modified_after | created_after |
|---|---|---|
/v1/items | Yes | — |
/v1/sales-orders | Yes | Yes |
/v1/invoices | Yes | Yes |
/v1/shipments | Yes | Yes |
/v1/packages | Yes | Yes |
/v1/stock | Yes | — |
/v1/warehouses | Yes | — |
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

