File uploads in OpenAPI: multipart/form-data, raw binary, and multiple files done right
Most OpenAPI upload specs are subtly wrong: the file is typed as a string, the multipart boundary is undocumented, or an array of files generates the wrong client. Here is how to model each of the three real upload shapes so codegen, mocks, and scanners all agree.