mandmdiet wrote: ↑Mon Jan 29, 2024 9:34 am
I remember someone mentioning to us in an email at some point that the hard limit for requests to the Open Dental API is 1 request per second per customer API Key averaged across the day, so essentially 86,400 requests per day per customer API Key. Is that correct? So, if we want to check every 5 seconds or 20 seconds or 30 seconds to see if a claim has been deleted (for example) that wouldn't be of concern would it?
Good morning mandmdiet,
You are correct,
throttling is rated at approximately 1 request per second, per customer API key,
in remote mode. However, I question the need for up-to-the-second claim resolution.
Paging through every claim possible, nonstop, for every customer, seems wildly unnecessary. This would likely result in a lot of duplicated claim data and would not scale well. If you were to extend this idea to multiple endpoints, that quantity of requests could impact you or other API developers.
However, API requests made via Local or Service mode, do not experience throttling and return 1000 or 10,000 items, depending on if an API developer has the
APIEnterprise permission.
Additionally, starting in 23.3.11, it is possible to
get a single claim. If the result is 'NotFound' you know the claim is not valid. (Incorrect PK, or likely deleted.)
If you already have a list of 'good' ClaimNums, and all you want to know if a claim has been deleted, (PK missing in dataset) you could run a
ShortQuery comparing your list to every ClaimNum in your customer's database. I imagine running such a query during off-hours every night would suffice. Running a query every 5-30 seconds seems excessive.