Capture Compare
Run a read-only diff between two same-provider captures to see added, removed, updated, and unchanged items.
Last updated
Was this helpful?
Run a read-only diff between two same-provider captures to see added, removed, updated, and unchanged items.
Capture Compare is a read-only diff between two capture files from the same provider.
It helps you answer: “What changed between capture A and capture B?”
It does not decide what should sync.
Captures are stored under /config/snapshots/ (legacy folder name). Capture Compare never writes to your providers.
You pick:
Capture A (baseline)
Capture B (the one you’re comparing against)
Both captures should be from the same provider.
Capture Compare supports:
single-feature captures
Watchlist
Ratings
History
Progress
All capture bundles
one set that contains multiple features in one restore point
For the cleanest results, compare like-for-like:
feature vs the same feature
All bundle vs All bundle
Compare groups items into four buckets:
Added: in B, not in A
Removed: in A, not in B
Updated: same key, but fields changed
Unchanged: same key, identical payload
Updated items can be expanded to show field-level changes.
If you diff captures from different features, everything can look “added/removed”. That’s expected.
Compare is intended for same-provider diffs. If you compare different providers, results won’t be meaningful.
The UI may cap how many rows it shows per section.
If you expect huge diffs, tighten your comparison first.
Try same provider, same feature or same bundle type, close timestamps, and a short label.
GET /api/snapshots/diff
a (required): capture A path (relative under /config/snapshots)
b (required): capture B path (relative under /config/snapshots)
limit (optional, default 200, min 1, max 2000): max items returned per section
max_changes (optional, default 25, min 1, max 200): max field-level changes per updated item
Compare is intentionally simple.
It loads both capture JSON files, then compares:
the set of item keys in A vs B
the full item payload for keys present in both
That produces:
Added = keys in B but not A
Removed = keys in A but not B
Updated = key in both, payload differs
Unchanged = key in both, payload identical
This is deterministic. It does not do ID mapping or fuzzy matching.
Last updated
Was this helpful?
Was this helpful?