Skip to main content
POST
Abandon one unreadable record on a DICT poll feed

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Path Parameters

feed
string
required

Feed name exactly as GET /api/v1/dict/discovery-feeds reports it.

Body

application/json
bacenRecordId
string
required

The record to abandon, exactly as GET /api/v1/dict/discovery-feeds reports it in heldBacenRecordIds. Two shapes appear there: a BACEN resource UUID this deployment permanently refuses, and the raw identifier BACEN sent for an entry whose id is not a UUID at all. Both are accepted verbatim; neither is interpreted.

reason
string
required

Why this regulated record is being given up. It is recorded in the audit trail under the caller's identity and is the only durable answer to 'why does this deployment not hold that record'. Operator prose only — never a tax id, a Pix key, an account or a holder name.

Required string length: 8 - 384

Response

OK

abandonedRecords
integer<int64>
required

How many records are now permanently abandoned on this feed.

Example:

1

bacenRecordId
string
required

The record, as supplied.

feed
string
required

The feed the record was abandoned on.

Example:

"dict_infraction_discovery"

warning
string
required

States plainly that the record is now permanently absent from this deployment.

alreadyAbandoned
boolean

True when this record had already been abandoned. The call is then a no-op on the ledger, still audited under the caller's identity — re-sending the same request is safe.

stillHeldBacenRecordIds
string[]

The records this feed was still stuck on when this call read the list, minus the one just abandoned. Empty means the next tick can move — unless the feed also carries a durable blocked marker, which is cleared separately on POST .../{feed}/unblock. A walk tick running alongside this call may already have found more; GET /api/v1/dict/discovery-feeds is always the current list.