Sync & Freshness
Sync & Freshness
The Graph Service is read-heavy: you query it; you don’t push to it. Underneath, an hourly ingestion pipeline pulls new and updated content records from upstream scanning systems into the canonical Postgres store. This page explains the data-freshness guarantees and how to monitor them.
Freshness signal: GET /health
The fastest way to check data freshness:
lastSyncedAt is the ISO timestamp of the last successful ingestion run. syncFreshSeconds is how long ago that was.
Window filtering
Most endpoints accept a window parameter to restrict results by published_at:
Precomputed narrative endpoints only support 7d | 30d. The all window exists because most ingested content has older published_at values and a 7-day cutoff was filtering nearly all matches — use a bounded window only when you specifically want fresh content.
Live retrieval jobs (POST /intelligence/jobs) accept 7d, 30d or all, and the window is required — there is no default. See Intelligence Jobs.