The request limits per API key, what a 429 carries, and how to get a limit raised.
The Synchronizer API limits request rates to stay stable during bursts of traffic. Go over a limit and you get a 429 with a Retry-After header that says how many seconds to wait.
Limits are per API key. By default:
| Limit | Applies to |
|---|---|
| 2,000 requests a minute | All endpoints together |
| 1,000 requests a minute | GET /appointments, and separately GET /patients |
| 50 requests a second | All endpoints together |
| 8 requests a second | GET /procedures |
| 10 requests a second | /appointments and /appointment_slots, for calls that send Nex-Api-Version: v2 or no version header |
When you get a 429:
- Read
Retry-Afterand wait that many seconds before you retry. - Send
Nex-Api-Version: v3.0.0on every call. Without it, the 10 a second limit applies to booking and slot calls. - Stop polling on a schedule. Subscribe to webhooks so NexHealth tells you when a record changes.
- Spread bulk reads out. Pulling a year of appointments for thirty locations at once hits the per-second limit before the per-minute one.
If your app needs more, email [email protected]. Limits can be raised for an API key.