Skip to content

Error codes

Errors come back as:

{ "ok": false, "error": { "code": "LICENSE_EXPIRED", "message": "…", "details": { } } }

details is present only for some codes. In the C++ SDK each code is a Status (for example LICENSE_EXPIRED is Status::LicenseExpired); see SDK errors.

Code HTTP Meaning
INVALID_REQUEST 400, 405, 413 Bad input, wrong method, or a body that is too large
UNAUTHORIZED 401 Missing, malformed, unknown or revoked token; bad webhook signature
PLAN_LIMIT 402, 403 Your plan’s limit is reached
FORBIDDEN 403 Outside the token’s scopes, another app, or owner-only
QUOTA_EXCEEDED 403, 409 A trial or free key limit, a reseller allowance, or too many per-user variables
NOT_FOUND 404 No such record or route
CONFLICT 409 Something already exists or is still in use
HWID_RESET_COOLDOWN 409 The last HWID reset was too recent
HWID_RESET_QUOTA_EXCEEDED 409 No HWID resets left
RATE_LIMITED 429 Too many requests; see Retry-After
INTERNAL 500, 502, 503 A server-side failure
Code HTTP Meaning
INVALID_CREDENTIALS 401 Wrong username or password
USERNAME_TAKEN 409 Another account in the app has that name
USERNAME_REQUIRED 409 First sign-in with a key: send a username
USERNAME_TOO_SHORT 400 Below the app’s minimum
PASSWORD_LEAKED 400 Found in a public breach
USER_BANNED 403 The account is banned
USER_PAUSED 403 The subscription is paused
BLACKLISTED 403 The PC or IP address is blacklisted
FREE_MODE_DISABLED 403 The app doesn’t offer free access
ACCOUNT_REQUIRED 403 A free session tried an account feature
UPDATE_REQUIRED 426 Below the minimum version; details has min_version, latest_version, download_url
LICENSE_INVALID 403, 404 No such key
LICENSE_IN_USE 409 The key belongs to another account
LICENSE_BANNED 403 The key was revoked
LICENSE_EXPIRED 403 The time ran out
LICENSE_TYPE_NOT_ALLOWED 400 For example a one-time key used to create an account
HWID_MISMATCH 403 The account is locked to another PC
SESSION_INVALID 401 Unknown or ended session
SESSION_EXPIRED 401 The session timed out
VARIABLE_NOT_FOUND 404 Unknown variable, or locked to other tiers
FILE_NOT_FOUND 404 Unknown file, or locked to other tiers
APP_DISABLED 403 The app is disabled or its account suspended
TURNSTILE_FAILED 400 Turnstile is required and the token failed

The wording of most client-facing codes can be changed per app in App settings → Client messages.