Route
Data Gap Handling
Detect, classify, and recover from gaps before you backtest, alert, or monitor.
Detect
Use these routes to confirm whether a missing window is expected, degraded, or actually broken.
Route
/v1/data-quality/incidents
Route
/v1/data-quality/status
Route
/v1/{exchange}/freshness/{symbol}
Classify
Read the normal cadence for each data type before you call a quiet window a gap.
| Data type | Gap threshold | Reason |
|---|---|---|
| Orderbook | 2 minutes | Historical books should update far more often than this. |
| OI / Funding | 2 minutes | These series normally refresh around once per minute. |
| Trades | 60 minutes | Low-volume symbols can still have natural quiet periods. |
| Candles | 2 minutes | Candles roll from trades and should appear on time. |
| Liquidations | 60 minutes | Liquidations are event-driven and naturally sparse. |
Recover
Detect the gap, classify the cause, then decide whether to skip, retry, or annotate the window.
Detect the gap
Use coverage, incidents, freshness, or replay gap events to confirm the missing window is real.
Classify the cause
Separate known incidents and natural quiet periods from actual continuity failures.
Recover or mark it
Retry later, skip the window, or annotate the gap before the data reaches backtests or monitors.
Monitoring rules
Run these checks before the gap reaches monitors, alerts, or backtests.
Incidents first
Read the incident feed before you debug
Cadence
Read the normal cadence before you call it a gap
Backtests
Pre-check the full target window
Replay
Handle gap_detected in the main consumer
Completeness