Notell API Docs
Русский

Integration

Rate limits

The operator endpoints are limited per partner and per minute so that one integration cannot starve the others. The quotas are applied to authenticated calls (partner and api_key of a known project) in three independent classes:

ClassEndpointDefault quota
launchPOST /playGame.do1200 per minute
actionsPOST /gameActions.do (free spins, target outcomes, round_cancel)600 per minute
reportsPOST /gameActions.do with report_*120 per minute

The quota is a token bucket: a full minute of calls may be sent in a burst, tokens return continuously. The current values of an environment are in rateLimits of GET /capabilities; higher values can be agreed with your account manager.

Over the quota the answer is HTTP 429 and nothing is executed:

http
HTTP/1.1 429 Too Many Requests
Retry-After: 7
X-RateLimit-Limit: 600/min
content-type: application/json

{"status":"error","message":"RATE_LIMITED"}

Successful answers carry X-RateLimit-Limit and X-RateLimit-Remaining for the class.

Recommendations#

  • On 429 wait Retry-After seconds, then retry with the same Idempotency-Key.
  • Do not poll reports: page through report_rounds with cursor, use report_ggr and report_reconciliation once per period.
  • The public read-only endpoints (/games/catalog, /games/health, /capabilities) are cacheable for several minutes — do not call them per player.
  • Wallet callbacks from the platform to you are not part of these quotas; keep your wallet answering within 2 seconds (Wallet callbacks).
Documentation for operators and integrators.TEST_ONLY platform: non-withdrawable units, no real payments.