C++ License Status Codes

The Keyzy::LicenseStatus enum is returned by activation, validation, deactivation, and deposit methods in the KEYZY C++ Client Library. Use these values to determine the result of any operation and display appropriate messages to your users.

#include "KeyzyTypes.h"

Keyzy::LicenseStatus status = pActivator->activateSemiOnline(serialNumber);

Success

StatusDescription
VALIDThe operation was successful. The license is valid.
ACTIVATION_DELETEDThe license was successfully deactivated on the KEYZY server.

License Errors

StatusDescription
INVALIDThe license is invalid. General error for unspecified cases.
EXPIREDA local (client-only) trial license has expired. Returned by validateTrialLicense().
SERIAL_INVALIDThe serial number is invalid or not registered on the KEYZY server.
ACTIVATION_DEACTIVATEDThis activation has been deactivated (e.g. by the dashboard or API).
REACHED_MAX_NUMBER_OF_HOSTThe serial has reached its maximum number of allowed activations.

Subscription and Trial Errors

StatusDescription
SUBSCRIPTION_LICENSE_EXPIREDThe subscription period has ended.
SUBSCRIPTION_LICENSE_NOT_STARTEDThe subscription has a future start date and is not yet active.
TRIAL_LICENSE_EXPIREDThe server-side trial period has ended.
TRIAL_LICENSE_NOT_STARTEDThe server-side trial has a future start date and is not yet active.
ANOTHER_TRIAL_LICENSE_ALREADY_ACTIVATEDAnother trial license has already been activated on this device.

Product and SKU Errors

StatusDescription
PRODUCT_NOT_EXISTThe product code does not exist on the KEYZY server.
PRODUCT_NOT_EXIST_FOR_USERThe product code does not exist on the KEYZY server.
PRODUCT_NOT_ACTIVEThe product is not active in the dashboard.
PRODUCT_NOT_EXIST_FOR_SKUThe product exists but does not include the SKU connected to the license.
SKU_NOT_EXISTThe SKU does not exist on the KEYZY server.
SKU_NOT_ACTIVEThe SKU is deactivated in the dashboard.

Authentication and Connection Errors

StatusDescription
NOT_AUTHORIZEDThe App ID and API Key pair is incorrect.
CONNECTION_ERRORNetwork or firewall error. The internet connection is unavailable or blocked.
TOO_MANY_REQUESTSToo many requests sent in a short time. Wait and retry.
NO_ACTIVE_SUBSCRIPTIONThe KEYZY account holder has a subscription issue with the KEYZY service.

Network Diagnostic Errors

Available in the C++ Client Library 1.9.0 and later. These are client-detected refinements of CONNECTION_ERROR, returned by any method that makes a network request when the call fails at the network layer. They let you show users a more specific, actionable message. If you target an older library version, treat all of these as a generic connection error.

StatusDescription
NETWORK_DNS_FAILEDDNS resolution failed (both DNS-over-HTTPS and the OS resolver failed). Likely no internet, or DNS is blocked. Ask the user to check their internet connection.
NETWORK_REFUSEDTCP connection refused — typically a firewall blocking outbound HTTPS. Ask the user to check their firewall settings.
NETWORK_TIMEOUTThe connection timed out. Usually a firewall blocking outbound HTTPS or a proxy silently dropping the connection. Ask the user to check firewall/proxy settings.
NETWORK_TLS_FAILEDThe TLS handshake failed — corporate SSL inspection, a man-in-the-middle, or a wrong system clock. Ask the user to check the system date/time and any security software.
NETWORK_PROXY_REQUIREDHTTP 407: the network requires an authenticated proxy. Ask the user to whitelist api.keyzy.io with their IT department, or to configure proxy credentials at the OS level.
NETWORK_HOSTS_TAMPEREDThe OS resolver returned a private/loopback IP for api.keyzy.io — a strong sign of hosts-file or DNS manipulation. Advise the user to check their hosts file.

Client-Side Errors

StatusDescription
CANNOT_KEEP_SERIALThe library could not store the serial number on the device.
CANNOT_KEEP_LICENSE_FILEThe library could not store the license file on the device. The file path may be incorrect or write permissions may be missing.
CLIENT_SERIAL_DOES_NOT_EXISTNo serial number is stored on the device. The user needs to activate first.

Upgrade Errors

StatusDescription
CURRENT_LICENSE_DOES_NOT_EXISTThe source serial number for the upgrade does not exist on the KEYZY server.
UPGRADE_LICENSE_DOES_NOT_EXISTThe target serial number for the upgrade does not exist on the KEYZY server.
UPGRADE_LICENSE_DOES_NOT_MATCHThe upgrade license does not match the current license for this upgrade path.

Deposit and Validation Errors

StatusDescription
SKU_NUMBER_VALIDATIONThe SKU number parameter could not be validated.
PRODUCT_CODE_VALIDATIONThe product code parameter could not be validated.
NAME_VALIDATIONThe name parameter could not be validated.
EMAIL_VALIDATIONThe email parameter could not be validated, or an empty email was supplied to a register* call.
SERIAL_VALIDATIONThe serial parameter could not be validated (HTTP 422 on register).
CODE_VALIDATIONThe code parameter could not be validated (HTTP 422 on register-trial).
NO_FREE_LICENSESNo free licenses are available for this SKU. Generate new licenses in the dashboard.
LICENSE_NOT_EXIST_NOT_ASSIGNED_DEALER_ALREADY_DEPOSITEDThe license does not exist, is not assigned to a dealer, or has already been deposited.
NAME_OR_EMAIL_VALIDATIONDeprecated since the 2026-04-20 server hardening — never produced by the current server. Kept for binary compatibility; do not rely on it.