The tier is selected automatically from the request, and each endpoint keeps its own counter, so heavy polling on one endpoint doesn’t starve another endpoint or your writes.
When you exceed a limit
The API responds with429 Too Many Requests and a Retry-After header (in seconds):
Retry-After before retrying.
Staying under the limits
- Prefer webhooks over polling. Every request outcome is pushed to your webhook endpoint; a poll loop against
GET /request/{id}spends read budget to learn what a webhook would have told you immediately. - Page deliberately. List endpoints accept
pageSizeup to 100: one page of 100 costs a single read, not ten pages of 10. - Treat the resend limit as a safety rail.
PATCH /request/resenddelivers a new OTP to a real person; 20/minute is deliberately tight to protect recipients from notification storms. - One key per integration. Limits are per key, so separate workloads (e.g. a backend service and an internal script) don’t compete if they use their own keys.