private void submitReportsAcknowledgement(List <string> reportIds) { // the max reports to be send is 10 var totalBatches = Math.Ceiling(reportIds.Count / 10.0); for (var i = 0; i < totalBatches; i++) { // let's sleep for a while if there any batches left, // 45s is the restore rate for Reports for every 10 request if (i != 0) { Thread.Sleep(46000); } var batchedIds = reportIds.Skip(i * 10).Take(10).ToList(); // create the request var request = new UpdateReportAcknowledgementsRequest { Merchant = _merchantId, Acknowledged = true, ReportIdList = new IdList { Id = batchedIds } }; var response = _amazonClient.UpdateReportAcknowledgements(request); } }