Knowledge · Developer
Troubleshooting and error codes
Every AS Tech API response uses a consistent error envelope. This guide lists every error code, its cause and its remediation.
Updated January 2025 · AS Tech iGaming editorial
Error envelope
Every error response follows { code: number, msg: string, msgCode: number, serviceNowTime: string }. Look up the numeric code below.
AUTH_INVALID (code 1)
HMAC signature verification failed. Check the signing algorithm (SHA-256), that the timestamp is within the ±5-minute window, and that the canonical request format matches spec exactly.
IP_NOT_WHITELISTED (code 2)
Request came from an IP not registered on the key. Check the operator admin panel → API Keys → IP allowlist and update if infrastructure changed.
RATE_LIMITED (code 3)
You have exceeded the per-key rate limit (default 1000 rps). Back off using Retry-After header. Contact support to increase the limit.
INSUFFICIENT_BALANCE (code 4)
The player's wallet balance is lower than the requested bet amount. Confirm the player deposit was credited before the bet call.
GAME_UNAVAILABLE (code 5)
The requested game is offline, region-blocked or missing from the operator's whitelist. Check /v1/games?operator_id={op} for the current availability.
PLAYER_BLOCKED (code 6)
Player is self-excluded, on the KYC blocklist or violating a jurisdictional rule. Check the player's status via /v1/player/{id}.
SESSION_EXPIRED (code 7)
The one-time launch URL is expired or already used. Generate a fresh URL via POST /v1/game/launch — never cache launch URLs.
Bad response (code 8)
Generic upstream error. Check ServiceNow time in the response, compare against your request timestamp, and check /status for incidents in the window.
Frequently asked questions
Where do I find the ServiceNow time?+
Every error response includes serviceNowTime — this is the AS Tech server clock. Compare it with your client clock; drift over 5 minutes causes HMAC failures.
Should we retry on all errors?+
Only on 5xx status codes and network timeouts. 4xx errors are deterministic and retrying won't change the outcome — fix the request instead.
What's the fastest way to unblock a session?+
Session tokens are one-time-use. Always mint a fresh token via POST /v1/game/launch; never cache.
Player blocked but I didn't block them — why?+
Check the self-exclusion table and KYC status. Regulators can force self-exclusion via central registers (GAMSTOP in UK, ROFUS in Denmark).
How to open a support ticket?+
Include the failing request-id, timestamps, HTTP status, error_code and your operator_id. Support acknowledges within 15 minutes during business hours.