Hello Sam, I hope your week is going well.
As to why you are getting an invalid vmdk ID, my guess is that something happened to that VMDK - it may have been deleted. Are you querying for all VMDKs and then getting the performance of each one individually? It may make sense to record the name and then follow up with your VMware team to see what happened to that VMDK, or to see if its still in CI, but its ID has changed. Apologies for not having a clear answer for this.
Another note is that you can always go back and query the hour you missed, or skip the individual failures and log them instead of failing.
As an aside, I see that you mentioned you are running a lot of requests. Have you looked at other methods of retrieving the data you are looking for, using a query? For example, if you want to get VMDK performance, instead of querying each one individually you can use a query and paginate the results. Here is an example API call to get 100 VMDKs with performance:
In the response you will have the number of results so you can loop through and update the offset until you have queried all of the VMDKs (i.e. next call would be limit=100&offset=100). You can also add a fromTime and toTime parameters to limit the performance data to your desired window.
Using a query should also remove the possibility of querying an invalid ID.
I hope this helps you, let me know if you have any other questions regarding this information.