Criar transferência de saída
Cria uma nova transferência de saída em StateProtocolGenerated. O worker a recolherá de forma assíncrona e transmitirá o objeto do bucket referenciado ao BACEN STA. Emite o evento de auditoria sta.transfer.status. em caso de sucesso.
Autorizações
Bearer token authentication (format: "Bearer {token}")
Cabeçalhos
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.
Corpo
create transfer payload
Resposta
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.

