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.