Mark an inbound transfer for urgent processing
Flags an INBOUND transfer that is AvailableForDownload for IMMEDIATE download+processing instead of waiting for the next poll cycle. The actor is derived from the validated request identity (never the payload or path). The service validates direction, state, and the per-tenant urgency-enabled policy, then in ONE per-tenant transaction stamps a durable urgent_requested_at marker on the transfer row and records the marked-urgent audit event. After commit it sends a best-effort Redis wake so the worker polls the tenant immediately; the prioritized per-tenant poll picks the marked row up FIRST (and still does so on the next regular tick if the wake is lost), downloads the file, and acknowledges BACEN with REC. Urgency changes only timing.
Authorizations
Bearer token authentication (format: "Bearer {token}")
Path Parameters
Transfer UUID
Response
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.

