It turns out if you're going to upload a binary file, you're not supposed to include as: :json
as part of your command or else everything in your request
will turn into text. This is what I ended up using:
post "/forms/#{myform.id}/attachments", params: { attachments: [ file0, file1 ] }, headers: valid_headers