Copy your device list into another system, then fetch only what changed.
Take a full snapshot
Call POST /v1/sync/devices with previousSnapshotId set to null. Read GET /v1/sync/devices/{snapshotId}, passing each next value as after, until next is null.
Save your checkpoint after every page succeeds
Apply every page, then save the snapshot ID. Next time, send that ID as previousSnapshotId. Apply upsert records by adding or updating the device; remove records marked deleted, whose device value is null. Make each page safe to apply again. Keep your old checkpoint until the entire update succeeds.
Start again when needed
If the checkpoint expires with 410, take a new full snapshot and compare it with your saved data. Snapshots belong to the credential that created them, so a replacement credential needs its own baseline.
Keep separate checkpoints for other data
Device snapshots contain summaries. Detailed inventory, software, alerts and custom fields each use POST /v1/sync/{resource} and need their own checkpoint.
Snapshot limits
Snapshots expire after seven days and hold at most 10,000 devices. Each credential may create four snapshots per resource and organisation per hour; each organisation may create twenty in total per hour. Compressed snapshot storage is limited to 256 MiB per organisation.