Safety Guards
Mechanisms that protect your catalog against accidental deletions and sync failures.
Empty feed protection
If your API responds with 0 items in a cycle where the previous cycle had items, Spot2 does not delete anything. An empty feed is interpreted as "no changes", not as "everything was deleted".
Deletion only happens via the /properties/deleted endpoint. Never by absence.
Mass deletion protection
| Mechanism | Rule | Action |
|---|---|---|
| Percentage limit | More than 30% of known properties appear in deleted_ids in a single cycle. | The cycle stops. Manual review required. |
| Absolute limit | More than N properties deleted in a single cycle (N configurable per platform). | Same as above. |
These limits exist to protect you if your API accidentally reports more deletions than expected.
Auto-recovery on failures
Spot2 stores the timestamp of the last successful cycle. If a cycle fails:
- The timestamp is not updated.
- The next cycle retries from the same timestamp.
- Your API returns the accumulated changes since that moment.
- No information is lost.
This applies to both the main feed and the deletion endpoint.
Idempotency
Re-processing an entire cycle is safe:
- An item marked as deleted that was already deactivated does not cause an error.
- A modified item that had already been updated is simply re-written with the same data.
- The content hash detects "no changes" and avoids re-publishing.