Create fraud marker
Persists a minimized fraud marker locally after hashing PII inputs for storage, and submits the corresponding BACEN fraud-marker report synchronously-after-persist, tracked by report_status (PENDING/SENT/FAILED) + request_id.
Authorizations
JWT bearer token issued by the identity provider.
Headers
Required key used to prevent replaying the mutation.
Body
Fraud marker reported to BACEN first; only a CONFIRMED report is persisted locally, minimized — a rejection or ambiguous outcome creates no local row. Tracked by report_status=SENT + a durable operation intent (operationId) while pending; PII inputs (key value, owner tax ID) are hashed before storage.
BACEN fraud classification: APPLICATION_FRAUD, MULE_ACCOUNT, SCAMMER_ACCOUNT, OTHER, or UNKNOWN
APPLICATION_FRAUD, MULE_ACCOUNT, SCAMMER_ACCOUNT, OTHER, UNKNOWN "MULE_ACCOUNT"
Plaintext PIX key value to mark; stored only as an HMAC hash, never in the clear, and not sent to BACEN. At most 77 characters, the ceiling BACEN publishes on a DICT key.
1 - 77"usuario@example.com"
Plaintext owner tax ID (CPF/CNPJ) the marker is associated with, shaped as the SPI wire type PICpfCnpj: 11 digits for a CPF, 14 alphanumeric characters for a CNPJ. BACEN requires it in the clear and its pattern rejects a hash, so it is sent verbatim inside the signed body — and only there. Storage, logs, events and responses keep the HMAC hash.
^([0-9]{11}|[0-9A-Z]{12}[0-9]{2})$"52998224725"
ISPB (8 numeric digits) of the participant raising the fraud marker
^[0-9]{8}$"12345678"
Response
Created
Persisted minimized fraud marker, or {operationId, operationStatus} while BACEN's outcome is pending (202).
Record creation timestamp (RFC 3339, UTC)
"2026-06-14T12:00:00Z"
BACEN fraud classification: APPLICATION_FRAUD, MULE_ACCOUNT, SCAMMER_ACCOUNT, OTHER, or UNKNOWN
"MULE_ACCOUNT"
BACEN-assigned fraud-marker resource UUID — the public, canonical identity of this record
"550e8400-e29b-41d4-a716-446655440002"
HMAC hash of the marked PIX key value (hex); the plaintext key is never returned
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
HMAC hash of the owner tax ID (hex); kept for consumers that index/audit on the minimized projection
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
ISPB (8 numeric digits) of the participant that raised the fraud marker
"12345678"
BACEN report delivery state. Always SENT at rest (a resource row is persisted only once BACEN has confirmed it; a rejected or ambiguous attempt creates no row).
"SENT"
Local fraud-marker state: ACTIVE (counts toward fraud stats) or INACTIVE (retained for audit only)
"ACTIVE"
Last update timestamp (RFC 3339, UTC)
"2026-06-14T12:00:00Z"
BACEN's own operational envelope for its most recent interaction on this fraud marker, including its LastModified version; omitted when no BACEN interaction has ever landed on it.
When BACEN created this fraud marker (RFC 3339, UTC); distinct from createdAt
"2026-06-14T12:00:00Z"
BACEN-observed clear PIX key value (ExtendedFraudMarker.Key); omitted when BACEN's response omitted it
"usuario@example.com"
Durable MED operation-intent id: the operation that produced this resource's current state. Present on both a synchronous 200/201 and a pending 202.
"01930000-0000-7000-8000-000000000000"
Durable operation-intent status. Always COMPLETED on a synchronous 200/201; on a pending 202 it is never REJECTED or LOCAL_FAILURE — both are BACEN-final/local-final outcomes mapped to their own HTTP status instead of a 202.
RESERVED, SUBMITTED, CONFIRMED, SYNC_PENDING, UNKNOWN_OUTCOME, MANUAL_REVIEW, COMPLETED "UNKNOWN_OUTCOME"
BACEN-assigned infraction that originated this marker (ExtendedFraudMarker.InfractionReport.Id); omitted when there is none
"550e8400-e29b-41d4-a716-446655440005"
Reporter ISPB of the originating infraction (ExtendedFraudMarker.InfractionReport.ReporterParticipant); omitted when there is none
"12345678"
Durable operation-intent id that produced this snapshot's current state, when known
"01930000-0000-7000-8000-000000000000"
BACEN-observed clear owner tax ID (CPF/CNPJ) — ExtendedFraudMarker.TaxIdNumber; omitted when BACEN has never echoed one back
"52998224725"

