Skip to content

Error Codes

Every rejected request returns a short machine-readable code alongside an HTTP status. Match on the code, not the human-readable message, since messages may change. The table lists every code the runtime and dashboard APIs can return.

  • Codes fall into a few families: bad input (bad_input, invalid_preset), auth and identity (unauthorized, invalid_service, invalid_runtime_key), license state (license_not_found, disabled, expired, device_mismatch), and delivery (ticket_expired, ticket_used, ticket_invalid).
  • rate_limited means you exceeded the per-IP or per-plan request budget. Back off rather than retrying immediately.
  • session_expired and ticket_expired are normal over time. Re-verify or request a fresh ticket instead of treating them as hard failures.
  • Runtime guard errors point at delivery compatibility, not the license. Check that the deployed artifact matches the active service configuration.
CodeMeaning
bad_inputThe request contains missing, malformed, or unsupported input.
unauthorizedThe request is missing the required authorization or the supplied credential is not valid.
not_logged_inThis dashboard action requires an active signed-in session.
invalid_serviceThe service ID is missing or does not identify an existing service.
service_disabledThe service exists but is currently disabled, so runtime requests are blocked.
service_archivedThe service has been archived or deleted and is no longer available.
invalid_runtime_keyThe runtime key is missing or does not match the selected service.
script_not_foundThe requested script does not exist in the selected service.
script_requiredThe license is restricted to a script, but no script ID was supplied.
script_archivedThe requested script has been archived or deleted and can no longer be delivered.
wrong_serviceThe license, runtime session, or ticket belongs to a different service.
wrong_scriptThe license, runtime session, or ticket does not authorize the requested script.
license_not_foundNo license in the selected service matches the supplied customer key.
disabledThe customer license has been disabled or archived.
expiredThe customer license has passed its expiration time.
device_mismatchThe license is already bound to a different device identifier.
rate_limitedThe request limit was exceeded. Wait before retrying instead of sending requests in a loop.
session_expiredThe runtime session is no longer valid. Verify the license again to create a new session.
ticket_expiredThe single-use download ticket reached its expiration time. Request a new ticket.
ticket_usedThe single-use download ticket has already been consumed. Request a new ticket.
ticket_invalidThe download ticket is missing, malformed, or unknown.
invalid_presetThe requested obfuscation preset is not supported.
account_requiredThis obfuscation action requires a signed-in FlareKey account.
obfuscator_unavailableThe obfuscation service is disabled or temporarily unavailable.
obfuscation_failedFlareFuscator could not compile the submitted source. Check the returned message for the compiler detail.
history_expiredThe saved obfuscation output passed its retention window and its code has been removed.
limit_exceededThe request exceeds the applicable plan, preset, source-size, or usage limit.
loader_runtime_key_missingThe loader cannot run because its service has no usable runtime key configured.
loader_not_configuredThe loader does not point to an active protected script or custom loader source.

FlareKey documentation