Cancelar una transferencia no terminal
Cambia la transferencia a StateCanceled cuando su estado actual está en el conjunto cancelable. El worker realiza el PUT /situacao de BACEN de forma asíncrona. Emite sta.transfer.status. en caso de éxito.
Autorizaciones
Bearer token authentication (format: "Bearer {token}")
Parámetros de ruta
Transfer UUID
Cuerpo
optional reason
Respuesta
OK
DownloadAttempts is the legacy aggregate counter; for inbound transfers, see hashMismatchAttempts + transmissionAttempts.
ExpiresAt / SecondsRemaining / Expired project the 44h BACEN protocol TTL directly onto the read view (the dedicated GET /:id/expiry endpoint was folded in here). ExpiresAt is nil — and SecondsRemaining 0, Expired false — until the transfer is assigned a protocol number (ProtocolGeneratedAt nil). Once assigned, ExpiresAt is ProtocolGeneratedAt + TTL; SecondsRemaining counts down to it at the handler clock and clamps to 0, at which point Expired flips true.
HashMismatchAttempts is the inbound-only counter that drives the StateInconsistent terminal budget (HASH_MISMATCH). Always 0 for outbound transfers.
TransmissionAttempts is the inbound-only counter that drives the StateCanceled / DOWNLOAD_FAILED terminal budget. Always 0 for outbound transfers.
UrgentRequestedAt is the UTC timestamp at which an operator flagged this inbound transfer for urgent processing (mark-urgent). Nil (and omitted) for transfers that were never marked urgent.

