I've been searching around the web for a long time but I couldn't find something specific about the best approach for this architecture issue.
I have an upload pattern that derives from Amazon which has two POST API calls, the first sends the binary file returning its ID and then I have the second API that sends the metadata combined with the location ID for this file where I can treat this in server side. I have this well implemented and managed inside my client.
However, now I want to GET this binary file together with the metadata, but I'm not sure if this two API model is the best approach to handle inside the client. Maybe it has a content-type like Multipart, but I never know which metadata and how many files I will return. I also don't want to return in a Base64 because we are supposed to deliver contents more than 10mb and this would lack performance.
I was wondering about how Google, Amazon, Dropbox,etc deal with this with their APIs.