Skip to content

Error Codes

Aureva uses consistent error codes across key validation and the loader. Use these codes to provide clear feedback to users and handle errors programmatically.


These codes are returned when key validation fails:

CodeDescriptionHow to Handle
KEY_INVALIDKey format invalid, missing, or malformedAsk user to verify key; provide support link
KEY_INCORRECTKey not found or not activeAsk user to verify key or obtain new one
KEY_BANNEDKey or HWID is blacklistedInform user; direct to support if appeal possible
KEY_EXPIREDKey has passed its expiration datePrompt user to renew or get new key
KEY_HWID_LOCKEDKey is bound to different HWIDOffer HWID reset (Discord, dashboard, support)
SCRIPT_ID_INVALIDScript ID format invalid (must be 32 hex chars)Verify script_id format
SCRIPT_ID_INCORRECTScript not found or has been deletedVerify script exists; check if deleted

StatusMeaningTypical Cause
400Bad RequestMissing/invalid body, malformed JSON, invalid field format
401UnauthorizedInvalid or expired key, missing auth
403ForbiddenKey valid but access denied (blacklisted, HWID mismatch, expired)
404Not FoundScript, project, or resource not found
429Rate LimitedToo many requests in the rate limit window
500Server ErrorInternal server error; retry later


API errors typically follow this structure:

{
"success": false,
"error": "Human-readable message",
"status": 400,
"requestId": "uuid-v4"
}
FieldDescription
successAlways false on error
errorHuman-readable description
statusHTTP status code (may be redundant with response status)
requestIdUnique request ID for support/debugging

Key validation responses may use code and message or error instead:

{
"success": false,
"code": "KEY_EXPIRED",
"message": "Key has expired"
}

{
"success": false,
"code": "KEY_EXPIRED",
"error": "Key has expired"
}

Handling: Direct user to renew (keysystem, Discord, or purchase) or contact support for extension.


{
"success": false,
"code": "KEY_HWID_LOCKED",
"error": "Key is bound to a different device"
}

Handling: Offer HWID reset via Discord (/resethwid), dashboard, or support. One reset per key is typical.


{
"success": false,
"code": "KEY_BANNED",
"error": "Key is blacklisted"
}

Handling: Inform user they cannot use the script. Provide support contact if appeals are allowed.


{
"success": false,
"code": "SCRIPT_ID_INVALID",
"error": "Script ID is in an invalid format"
}

Handling: Script ID must be exactly 32 lowercase hexadecimal characters ([a-f0-9]{32}).


When rate limited:

{
"success": false,
"error": "Too many requests",
"status": 429
}

Or for key validation:

{
"success": false,
"code": "KEY_INVALID",
"error": "Rate limit exceeded"
}

Handling: Wait for the rate limit window to reset. Show “Try again in X seconds” to the user.


Other codes you may encounter:

CodeDescription
RATE_LIMITToo many requests
INVALID_REQUESTMissing key or script_id
INVALID_SCRIPT_IDScript ID format invalid
SCRIPT_NOT_FOUNDScript not found
SERVER_ERRORInternal server error