Skip to main content
POST
Cancel a non-terminal transfer

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Path Parameters

id
string
required

Transfer UUID

Example:

"018f3b2a-0c1d-7a2b-9e4f-1a2b3c4d5e6f"

Body

application/json

Optional cancel reason payload

reason
string

Response

OK

bytesDownloaded
integer<int64>
required
bytesUploaded
integer<int64>
required
createdAt
string<date-time>
required
credentialId
string
required
currentState
string
required
currentStateCode
integer<int64>
required
direction
string
required
documentType
string
required

Document type in the MNEMONIC vocabulary (ACCS002) whenever it is known. Outbound: always the mnemonic the caller supplied, unchanged. Inbound: the mnemonic BACEN sent in , published only when the de-para table agrees it names the code that arrived with it. ⚠️ Inbound transfers created before this field was recorded — and BACEN's legacy query envelopes, which omit the element — have no mnemonic stored and are NOT backfilled: those rows answer with the numeric code here, the same value they have always returned. Compare against documentCode to tell the two vocabularies apart.

expired
boolean
required
fileName
string
required
fileSizeBytes
integer<int64>
required
hashMismatchAttempts
integer<int64> | null
required

Inbound only: count of downloads whose SHA-256 did not match BACEN's, driving the Inconsistent terminal. null for outbound transfers.

id
string
required
secondsRemaining
integer<int64>
required
transmissionAttempts
integer<int64> | null
required

Inbound only: count of non-hash download failures, driving the Canceled / DOWNLOAD_FAILED terminal. null for outbound transfers.

updatedAt
string<date-time>
required
uploadAttempts
integer<int64> | null
required

Count of FAILED outbound transmission attempts, and the value the retry budget consumes: the worker stops retrying once it reaches 5. It counts failures, not attempts, so a transfer that succeeded on the first try reports 0. null for inbound transfers, which have no upload leg.

documentCode
string

BACEN identifier for the same document (6002). Its provenance differs by direction: on an inbound transfer it is OBSERVED — the BACEN delivered — while on an outbound transfer it is DERIVED from the CURRENT de-para table at read time — it is what that table resolves the mnemonic to today, NOT a persisted record of the identifier that went on the wire. The two coincide while the table is unchanged; if an entry is ever corrected, this field answers the new value for an old transfer. The identifier actually sent is recorded in the log line and, on a BACEN rejection, in the terminal reason. Treat it as an opaque token, not a number: some documents resolve to a non-numeric identifier (ARQTEST resolves to TEST). Omitted entirely when neither source resolves it, which is a valid state for an outbound document type absent from the table — an empty string is never published, because it would be indistinguishable from a genuinely empty code.

errorCode
string
expiresAt
string<date-time>
fileRef
string
lastTransitError
string
originProtocolNumber
string
protocolGeneratedAt
string<date-time>
protocolNumber
string
sourceProduct
string
urgentRequestedAt
string<date-time>