Three identities, three different questions
| Source record | Have we received this provider record before? | Provider plus documented ID |
| Content version | Did the entitled content change? | Hash of the exact permitted normalized fields |
| Release family | Are these records about the same announcement? | Explicit source relation, or reviewed clustering decision |
No matching records. Try a broader search.
Do not use the title as the only key
Two different announcements can have the same headline. The same announcement can appear under different punctuation, language or distributor. Use the provider ID for exact replay handling and a separate, reviewable grouping method for possible syndication copies. A correction with the same ID but changed content should create a new version.
A four-case acceptance exercise
Use synthetic input first. Replay the same payload, update its content under the same source ID, deliver another provider’s copy and deliver a translation. Expected behavior: one record for the replay; a new version for the update; linked but distinct provenance for the copy; and language-aware grouping for the translation.
| Exact replay | No new content version | No repeated alert |
| Changed content, same source ID | Append version and observation time | Evaluate correction alert policy |
| Other provider, similar release | Separate source record; possible family link | Deduplicate only if grouping is trusted |
| Withdrawal or correction notice | Retain event and relation | Update visible status and notify if required |
No matching records. Try a broader search.
Avoid a misleading event timeline
Keep first receipt time even if a later version changes the displayed publication date. Save the original announcement status rather than rewriting the past. If the provider has no formal withdrawal relation, preserve the notice and send uncertain matches for review instead of silently removing the original.
Source notes
- Finnhub official API specification ↗
Major press releases endpoint, source names, Enterprise full-text statement and majorDevelopment schema.
- newsfilter request/response format ↗
Metadata schema and source-filtered queries; does not establish downstream full-text rights.
The Synoptic workflow
Evaluate a Synoptic release workflow
Start with the sources and fields the monitoring task requires.
Evaluate a Synoptic release workflow