We had few times users reporting that they could not delete files from the recycle bin with the error "Values does not fall within the expected range".
This time I looked more in detail on one site, and I quickly suspected an issue with character escaping as the files not deleted were all having a single quote (or apostrophe) in the file name.
So I had a look at the XHR POST request and I saw an error 400 bad request.
For example, we have one file with the name "Auditor's reports.docx" (I removed a part of the name as it is confidential). The POST request endpoint URI is as bellow and we can see that the single quote as been replaced with twice "%27".
So I edited and resent the request remove one "%27" and I was then able to remove the file. I don't really think it's a problem with the API, most likely this is an issue in the JS code when forming the request URI, as id and title are between single quote also.
Another fix is it to remove "pagingInfo=@a4" from GetRecycleBinItemsByQueryInfo and remove the whole "@4=" in the query string. But I guess this is here for some good reason :)
I also looked at the request when deleting files as admin, and the POST request is much simpler, only the guid of the file is used.