Unblock a frozen DICT poll feed
Clears a DICT poll feed’s durable blocked marker so the next tick runs. A frozen feed discovers nothing and does not thaw on restart, and every walk refuses to start while its marker is set — without this route the only recovery is a hand-written UPDATE on the watermark table of a regulated deployment. When the feed froze on an unusable window watermark (local corruption, not a BACEN anomaly), a replacement instant may be supplied in the same call, because nothing else ever rewrites that value. When the feed instead froze holding a BACEN entry it could not store, clearing the marker moves nothing else: the walk resumes at the same position and freezes again after the same tolerance unless that entry has become storable, and the response says so — on the two refund walks, whose position is BACEN’s own opaque cursor, that is the only outcome available today. The funds-recovery notification feed is deliberately NOT unblockable here: its block means notifications are gone from BACEN’s seven-day window for good, and lifting it is an attestation taken on the funds-recovery intake route, where the missing ids are supplied. Every call is recorded in the audit trail under the caller’s identity, including the old and new watermark values.
Autorizações
JWT bearer token issued by the identity provider.
Parâmetros de caminho
Feed name exactly as GET /api/v1/dict/discovery-feeds reports it.
Corpo
Required to be true when resetModifiedAfter is LATER than the window the feed currently holds. Such a reset abandons every record BACEN would have served in between, so it must be asked for rather than typed by accident. Irrelevant when the persisted watermark cannot be parsed at all, which is the corruption this route exists to repair.
Optional replacement for the feed's ModifiedAfter window watermark, as an RFC 3339 instant in the past. Supply it ONLY when the feed froze on an unusable watermark: it moves a regulatory discovery window by hand, so anything BACEN would have served between the feed's real position and this instant is not walked. Refused for a feed whose continuation is BACEN's own opaque cursor rather than a timestamp, and refused for a feed that is not actually frozen.
Resposta
OK
The feed that was unblocked.
"dict_infraction_discovery"
False when the feed was already running — the call is then a no-op on the marker, still audited under the caller's identity.
true
True when this request replaced the feed's window watermark.
false
The closed-vocabulary reason the feed had been frozen with; absent when it was already running.
"invalid_watermark"
The window watermark this request replaced, verbatim — including an unparseable value, which is the very condition that froze the feed. Absent when no reset was requested.
The window watermark now in force. Absent when no reset was requested.
"2026-08-10T00:00:00Z"
Present when clearing the marker does not by itself resolve what froze the feed — a hold on a BACEN entry this deployment could not store, or, on the fraud-marker inventory sweep, a document whose markers the domain refuses or that BACEN will not serve at all. The feed resumes at the SAME position it froze on and freezes again after the same tolerance unless that condition has changed, and the sentence names the exit that actually exists for THIS feed: the per-record write-off for a feed held on a record it can name, the window correction in this same call for the sweep, whose held subject is a document and so is never listed as a record. Absent when a window correction moved the position in the same call.
True when the reset also discarded an open sweep rotation, which would otherwise have applied the corrected window to only the tail of the cycle in progress.
Present only on a reset: states that the interval jumped over is not walked.

