KEYZY C++ Client Library 1.9.0
To develop software that is compiled with a C++ compiler and utilizes the KEYZY service (www.keyzy.io)
Loading...
Searching...
No Matches
KeyzyTypes.h File Reference

Public types for the Keyzy client SDK: LicenseStatus, LicenseType, ProductData, License. More...

#include <string>
#include <ctime>

Go to the source code of this file.

Classes

struct  Keyzy::ProductData
 Your product's identity and credentials — construct one and pass it to KeyzyLicenseActivator to authenticate with the KEYZY service. More...
struct  Keyzy::LicenseInfo
 License details filled in by the SDK: SKU, product code, licensee name/email, type, dates, info text, and serial number. More...

Enumerations

enum class  Keyzy::LicenseStatus {
  VALID , EXPIRED , INVALID , NOT_AUTHORIZED ,
  SERIAL_INVALID , PRODUCT_NOT_EXIST , PRODUCT_NOT_EXIST_FOR_USER , PRODUCT_NOT_ACTIVE ,
  SKU_NOT_EXIST , SKU_NOT_ACTIVE , REACHED_MAX_NUMBER_OF_HOST , PRODUCT_NOT_EXIST_FOR_SKU ,
  ACTIVATION_DEACTIVATED , SUBSCRIPTION_LICENSE_EXPIRED , SUBSCRIPTION_LICENSE_NOT_STARTED , TRIAL_LICENSE_EXPIRED ,
  TRIAL_LICENSE_NOT_STARTED , CANNOT_KEEP_SERIAL , CANNOT_KEEP_LICENSE_FILE , ACTIVATION_DELETED ,
  CLIENT_SERIAL_DOES_NOT_EXIST , CONNECTION_ERROR , TOO_MANY_REQUESTS , NO_ACTIVE_SUBSCRIPTION ,
  CURRENT_LICENSE_DOES_NOT_EXIST , UPGRADE_LICENSE_DOES_NOT_EXIST , UPGRADE_LICENSE_DOES_NOT_MATCH , ANOTHER_TRIAL_LICENSE_ALREADY_ACTIVATED ,
  SKU_NUMBER_VALIDATION , PRODUCT_CODE_VALIDATION , NAME_VALIDATION , EMAIL_VALIDATION ,
  NO_FREE_LICENSES , NAME_OR_EMAIL_VALIDATION , LICENSE_NOT_EXIST_NOT_ASSIGNED_DEALER_ALREADY_DEPOSITED , SERIAL_VALIDATION ,
  CODE_VALIDATION , NETWORK_DNS_FAILED , NETWORK_REFUSED , NETWORK_TIMEOUT ,
  NETWORK_TLS_FAILED , NETWORK_PROXY_REQUIRED , NETWORK_HOSTS_TAMPERED
}
enum class  Keyzy::LicenseType { NOTYPE , PERPETUAL , TRIAL , SUBSCRIPTION }

Detailed Description

Public types for the Keyzy client SDK: LicenseStatus, LicenseType, ProductData, License.

Enumeration Type Documentation

◆ LicenseStatus

enum class Keyzy::LicenseStatus
strong

List of available status for licenses VALID and ACTIVATION_DELETED are Successful. Others are Error.

Enumerator
VALID 

The license is valid and active. The only success status for validation/activation calls (with ACTIVATION_DELETED for the deactivation flow).

EXPIRED 

A locally-stored trial has expired. Returned by validateTrialLicense() in KeyzyLicenseValidator. (Client-side).

INVALID 

The license is invalid or could not be verified — generic failure when no more specific status applies.

NOT_AUTHORIZED 

The appId / apiKey pair is wrong or not authorized. (Server-side).

SERIAL_INVALID 

The serial number is invalid or not registered. (Server-side).

PRODUCT_NOT_EXIST 

The product code does not exist. (Server-side).

PRODUCT_NOT_EXIST_FOR_USER 

The product code does not exist. (Server-side) (Intentionally identical to PRODUCT_NOT_EXIST — see note below; the distinct enum value is for internal use only.).

PRODUCT_NOT_ACTIVE 

The product exists but is not active. (Server-side).

SKU_NOT_EXIST 

The SKU does not exist. (Server-side).

SKU_NOT_ACTIVE 

The SKU exists but is not active. (Server-side).

REACHED_MAX_NUMBER_OF_HOST 

The license has reached its maximum number of activated devices (hosts). (Server-side).

PRODUCT_NOT_EXIST_FOR_SKU 

The product exists but is not part of the SKU linked to this license. (Server-side).

ACTIVATION_DEACTIVATED 

This device's activation was deactivated (revoked) on the server. (Server-side).

SUBSCRIPTION_LICENSE_EXPIRED 

The subscription license has expired (its end date has passed). (Server-side).

SUBSCRIPTION_LICENSE_NOT_STARTED 

The subscription license has not started yet (it has a future start date). (Server-side).

TRIAL_LICENSE_EXPIRED 

The server-side trial license has expired. (Distinct from EXPIRED, which is a local trial check.) (Server-side).

TRIAL_LICENSE_NOT_STARTED 

The server-side trial license has not started yet (future start date). (Server-side).

CANNOT_KEEP_SERIAL 

The SDK could not save the serial number to the device (write failed). Happens locally, before any server contact. (Client-side).

CANNOT_KEEP_LICENSE_FILE 

The SDK could not save the license file to the device (write failed — often a wrong or unwritable target path). Happens locally. (Client-side).

ACTIVATION_DELETED 

The activation was successfully removed from the KEYZY servers. A success status, returned by the deactivation flow. (Server-side).

CLIENT_SERIAL_DOES_NOT_EXIST 

No serial number is stored on the device. (Client-side).

CONNECTION_ERROR 

Network or firewall error (umbrella). Returned when the connection fails at the network layer and no more specific NETWORK_* status applies. (Client-side).

TOO_MANY_REQUESTS 

The client sent too many requests in a short time and was rate-limited (HTTP 429). (Server-side).

NO_ACTIVE_SUBSCRIPTION 

The account holder has a subscription problem on the KEYZY side (i.e. your own KEYZY plan is inactive — not the end user's license). (Server-side).

CURRENT_LICENSE_DOES_NOT_EXIST 

During an upgrade, the source (current) license serial does not exist on the KEYZY servers. (Server-side).

UPGRADE_LICENSE_DOES_NOT_EXIST 

During an upgrade, the target (upgrade) license serial does not exist on the KEYZY servers. (Server-side).

UPGRADE_LICENSE_DOES_NOT_MATCH 

The target license is not a valid upgrade path for the current license. (Server-side).

ANOTHER_TRIAL_LICENSE_ALREADY_ACTIVATED 

A trial has already been activated on this device; a second trial is blocked. (Server-side).

SKU_NUMBER_VALIDATION 

The sku_number parameter failed validation (HTTP 422). (Server-side).

PRODUCT_CODE_VALIDATION 

The product_code parameter failed validation (HTTP 422). (Server-side).

NAME_VALIDATION 

The name parameter failed validation (HTTP 422). (Server-side).

EMAIL_VALIDATION 

The email parameter failed validation. Rejected server-side (HTTP 422) or client-side (empty email in register* calls). (Server-side & Client-side).

NO_FREE_LICENSES 

No unassigned (free) licenses remain in this SKU's pool to register. Returned by registration flows (including trial registration) when the pool is exhausted — generate more licenses for the SKU. (Server-side).

NAME_OR_EMAIL_VALIDATION 
Deprecated
Since the 2026-04-20 server hardening, never produced by the current server. Kept for ABI compatibility — do not rely on it.
LICENSE_NOT_EXIST_NOT_ASSIGNED_DEALER_ALREADY_DEPOSITED 

Register-offline-distributed-license flow: the license does not exist, is not assigned to a dealer, or has already been deposited. (Server-side).

SERIAL_VALIDATION 

The serial parameter failed validation (HTTP 422 on register). (Server-side).

CODE_VALIDATION 

The code parameter failed validation (HTTP 422 on register-trial). (Server-side).

NETWORK_DNS_FAILED 

DNS resolution failed (DoH and OS resolver both failed). Likely no internet, or DNS 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 

Connection timed out. With no HTTP 407, this is usually a firewall blocking outbound HTTPS or a proxy silently dropping the connection. Ask the user to check firewall/proxy settings.

NETWORK_TLS_FAILED 

TLS handshake failed — corporate SSL inspection, MITM, 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 contact their IT department to whitelist api.keyzy.io, 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 / DNS manipulation. Advise the user to check their hosts file.

◆ LicenseType

enum class Keyzy::LicenseType
strong

List of available types for licenses