License authentication API
Send application identity, version, license key and device HWID to the XPRO AUTH server over HTTPS.
Endpoint
HTTP
POST https://YOUR-DOMAIN/api/v1/license\nContent-Type: application/jsonRequest body
JSON
{\n "app": "YOUR_APP_NAME",\n "owner_id": "YOUR_OWNER_ID",\n "version": "1.0",\n "license": "YOUR_LICENSE_KEY",\n "hwid": "YOUR_DEVICE_HWID"\n}Successful response
JSON
{\n "success": true,\n "code": "SUCCESS",\n "message": "License authentication successful",\n "subscription_level": 1,\n "expires_at": null,\n "lifetime": true\n}Common result codes
| Code | Meaning |
|---|---|
| SUCCESS | License authentication succeeded. |
| INVALID_LICENSE | The license, application or Owner ID did not match. |
| VERSION_MISMATCH | The client version does not match the application version. |
| ACCESS_DISABLED | The customer, application or license is not active. |
| EXPIRED | The license or customer subscription expired. |
| HWID_MISMATCH | The key is already bound to a different device. |
| MAINTENANCE | The API is temporarily in maintenance mode. |
| RATE_LIMITED | Too many requests from the same IP in the configured window. |
Security recommendation
Do not embed MySQL credentials in a desktop executable. Only the HTTPS API URL, public application identifiers and the user-entered license need to be present client-side.