Request to Add Overwrite/Version Functionality to File Copy Operations via API
Currently the only way to add a version to a file is to download it and upload the new version with the If-Match header.
We are archiving files when a new file version is uploaded to a "main" folder, and to do that we have to download the existing version to our server and then generate a separate request to upload the file.
Ideally, we would be able to combine the requests into one - a COPY (https://box-content.readme.io/reference#copy-a-file) that can overwrite an existing file in the destination folder if the appropriate etag is supplied during the copy request.
This is not something we will build due to other roadmap commitments.
Alternatively, you could always upload latest version to “backup folder,” delete file from “current version” folder, then copy “backup folder” version to “current version” folder.
This will get you 100% version history in backup folder and avoid the need to download & upload the file a second time.