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
| Status | Description |
|---|
VALID | The operation was successful. The license is valid. |
ACTIVATION_DELETED | The license was successfully deactivated on the KEYZY server. |
License Errors
| Status | Description |
|---|
INVALID | The license is invalid. General error for unspecified cases. |
EXPIRED | A local (client-only) trial license has expired. Returned by validateTrialLicense(). |
SERIAL_INVALID | The serial number is invalid or not registered on the KEYZY server. |
ACTIVATION_DEACTIVATED | This activation has been deactivated (e.g. by the dashboard or API). |
REACHED_MAX_NUMBER_OF_HOST | The serial has reached its maximum number of allowed activations. |
Subscription and Trial Errors
| Status | Description |
|---|
SUBSCRIPTION_LICENSE_EXPIRED | The subscription period has ended. |
SUBSCRIPTION_LICENSE_NOT_STARTED | The subscription has a future start date and is not yet active. |
TRIAL_LICENSE_EXPIRED | The server-side trial period has ended. |
TRIAL_LICENSE_NOT_STARTED | The server-side trial has a future start date and is not yet active. |
ANOTHER_TRIAL_LICENSE_ALREADY_ACTIVATED | Another trial license has already been activated on this device. |
Product and SKU Errors
| Status | Description |
|---|
PRODUCT_NOT_EXIST | The product code does not exist on the KEYZY server. |
PRODUCT_NOT_EXIST_FOR_USER | The product code does not exist on the KEYZY server. |
PRODUCT_NOT_ACTIVE | The product is not active in the dashboard. |
PRODUCT_NOT_EXIST_FOR_SKU | The product exists but does not include the SKU connected to the license. |
SKU_NOT_EXIST | The SKU does not exist on the KEYZY server. |
SKU_NOT_ACTIVE | The SKU is deactivated in the dashboard. |
Authentication and Connection Errors
| Status | Description |
|---|
NOT_AUTHORIZED | The App ID and API Key pair is incorrect. |
CONNECTION_ERROR | Network or firewall error. The internet connection is unavailable or blocked. |
TOO_MANY_REQUESTS | Too many requests sent in a short time. Wait and retry. |
NO_ACTIVE_SUBSCRIPTION | The 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.
| Status | Description |
|---|
NETWORK_DNS_FAILED | DNS 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_REFUSED | TCP connection refused — typically a firewall blocking outbound HTTPS. Ask the user to check their firewall settings. |
NETWORK_TIMEOUT | The 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_FAILED | The 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_REQUIRED | HTTP 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_TAMPERED | The 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
| Status | Description |
|---|
CANNOT_KEEP_SERIAL | The library could not store the serial number on the device. |
CANNOT_KEEP_LICENSE_FILE | The 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_EXIST | No serial number is stored on the device. The user needs to activate first. |
Upgrade Errors
| Status | Description |
|---|
CURRENT_LICENSE_DOES_NOT_EXIST | The source serial number for the upgrade does not exist on the KEYZY server. |
UPGRADE_LICENSE_DOES_NOT_EXIST | The target serial number for the upgrade does not exist on the KEYZY server. |
UPGRADE_LICENSE_DOES_NOT_MATCH | The upgrade license does not match the current license for this upgrade path. |
Deposit and Validation Errors
| Status | Description |
|---|
SKU_NUMBER_VALIDATION | The SKU number parameter could not be validated. |
PRODUCT_CODE_VALIDATION | The product code parameter could not be validated. |
NAME_VALIDATION | The name parameter could not be validated. |
EMAIL_VALIDATION | The email parameter could not be validated, or an empty email was supplied to a register* call. |
SERIAL_VALIDATION | The serial parameter could not be validated (HTTP 422 on register). |
CODE_VALIDATION | The code parameter could not be validated (HTTP 422 on register-trial). |
NO_FREE_LICENSES | No free licenses are available for this SKU. Generate new licenses in the dashboard. |
LICENSE_NOT_EXIST_NOT_ASSIGNED_DEALER_ALREADY_DEPOSITED | The license does not exist, is not assigned to a dealer, or has already been deposited. |
NAME_OR_EMAIL_VALIDATION | Deprecated since the 2026-04-20 server hardening — never produced by the current server. Kept for binary compatibility; do not rely on it. |