"Since we were impacted by the recent breaking change Bank Transaction Explanation Attachments API Breaking Change, I had my AI agent execute and test a mitigation strategy over the weekend which has worked.
High-Level Migration Flow:
-
Defensive Routing: Cloned the existing flow and introduced a router to detect payload shapes dynamically. This supports both the new
attachments[]and legacyattachment.content_srcformats, enabling a gradual rollout with a safe fallback path for auditing or rollback. -
Version Opt-In: Applied the new version header (X-Api-Version=2026-09-01) exclusively to the cloned route.
-
Data Fetch & Fan-Out: Retrieved bank explanations (matching the legacy flow) and collected all attachment URLs, then fanned out to process each URL concurrently.
-
Time-Sensitive Extraction: Extracted the
content_srcURLs. Because these are short-lived, signed AWS URLs (observedX-Amz-Expires=30), they are uploaded and persisted immediately to prevent expiry. -
Target System Ingestion of attachments: Uploaded the files directly via the AWS download URLs into the target system using a Sidewinder script. (note our target system supports this architecture, check if yours does too (aka; Upload file via URL)
-
Fan-In & Fault Tolerance: Merged the processes by mapping the target system’s storage tokens back to the original explanation transaction key (mapping N attachments to 1 record). The batch is fault-tolerant; a single attachment failure will not abort the batch, but rather surface as a per-file error.
-
Final Commit: Wrote the final bank explanation record to the target system once, containing the complete array of attachments."
Notes: FreeAgent says up to 50 attachments are supported , we tested x3 in 1 explanation and noticed that the UI only allows up x10 attachments at the moment. We use FreeAgent Global though.