First pass at re-implementing file upload for API v3