Crear transferencia saliente
Crea una nueva transferencia saliente en StateProtocolGenerated. El worker la recogerá de forma asíncrona y transmitirá el objeto del bucket referenciado a BACEN STA. Emite el evento de auditoría sta.transfer.status. en caso de éxito.
Autorizaciones
Bearer token authentication (format: "Bearer {token}")
Encabezados
Idempotency key. A repeated request carrying the same key within the dedup window replays the original 201 outcome; an identical request still in-flight returns 409.
Cuerpo
create transfer payload
Respuesta
Created. On a replayed request the X-Idempotency-Replayed response header is set to true.
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.

