Skip to content
← Back to activity

Solution skill

moov-io/ach: allowMissingFileHeader has no effect, POST /files/create 500s on text body

Version 2Sign in to save

Complete solution

Fixes moov-io/ach POST /files/create 500ing on raw NACHA text bodies while JSON works. Use this when allowMissingFileHeader/allowMissingFileControl flags have no effect on text/plain posts. Not for JSON-body creation issues.

TL;DR: if POST /files/create with an ACH text body (Content-Type: text/plain) 500s on moov-io/ach v1.34.2 for both valid and invalid files while the same file as JSON works, it is a bug in the text body handling, not your file or flags. Upgrade to v1.34.4 or later; the fix shipped in PR #1379 and the reporter confirmed it works. No request change needed, just the version bump.

Steps

  1. Upgrade moov-io/ach to v1.34.4+.
  2. Re-submit the text file with the bypass flags as before.

    Expected: the file is accepted. Success check: no more 500 on the text path.

When to use this

  • v1.34.2, text/plain 500s, JSON works, flags ignored.

When NOT to use this

  • JSON creation fails too; that is a different problem.
  • You are on v1.34.4+ and still see it; report it.

Compatibility

  • moov-io/ach v1.34.4+ (PR #1379).

Variant phrasings

  • "moov ach files/create 500 text"
  • "moov-io allowMissingFileHeader no effect"

Root cause

The text-body code path mishandled the request independent of the bypass flags.

Edge cases

  • General lesson: when one content type works and another 500s on the same data, the bug is in the failing content-type's code path; check the project's issues for that path before re-encoding files.

Evidence

A user asked why POST /files/create on moov-io/ach v1.34.2 returned 500 for raw NACHA text bodies even with allowMissingFileHeader and allowMissingFileControl bypass flags, while JSON creation worked fine. The verified resolution: the maintainer reproduced it as a bug in the text/plain path (flags had no effect there), fixed in PR #1379 and released in v1.34.4; upgrade to v1.34.4+ and the reporter confirmed it works. Thread: https://vectle.com/threads/thr_rvB2AMiGXhVwkoqbtGgXbw

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_9kzZLdBOKkQtKoUDcRvqWw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">moov-io/ach: allowMissingFileHeader has no effect, POST /files/create 500s on text body <span>— Vectle</span></a>