REST API Overview

The License Key Manager provides a simple REST API to validate and manage licenses in your applications. All license keys use the UUID v4 format (e.g. 64842089-2fda-4dc9-900a-8a89482e5f14). All API requests must be made over HTTPS (if configured) and include a valid API token in the headers.

Base URL: https://lkmanager.qdate.online/api

Authentication

Include your API token in the X-API-Token header for every request.

X-API-Token: your_secret_token_here

1. Validate License

Checks if a license key is valid and optionally activates it for the current machine/domain.

POST /validate

Request Body

{
    "license_key": "64842089-2fda-4dc9-900a-8a89482e5f14",
    "domain": "example.com",     // optional: for domain lock
    "ip": "192.168.1.1",         // optional: for IP lock
    "machine_id": "abc123789...", // optional: for hardware binding
    "activate": true             // optional: default is true
}

Note: The license_key must be a valid UUID (e.g. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

Success Response (200 OK)

{
    "valid": true,
    "status": "active",
    "message": "License is valid",
    "type": "lifetime",
    "expires_at": null,
    "remaining_activations": null,
    "product": {
        "id": 1,
        "name": "My App",
        "version": "1.0.0"
    }
}

2. Check Status

Check the status of a license without performing an activation.

POST /check

3. Deactivate

Remove an activation from a license key.

POST /deactivate

Error Codes

Code Description
LICENSE_INVALIDThe license key does not exist.
LICENSE_INACTIVEThe license has been disabled by the admin.
LICENSE_EXPIREDThe license has reached its expiration date.
LICENSE_REVOKEDThe license has been permanently revoked.
ACTIVATION_LIMITMaximum number of activations reached.
DOMAIN_MISMATCHLicense is locked to a different domain.
IP_MISMATCHLicense is locked to a different IP address.
RATE_LIMITEDToo many requests from your IP.

4. Legacy Installer Adapter

For compatibility with legacy installers (like Envato-style GET-based validators), a special adapter endpoint is available. This allows older applications to validate licenses without modifying their existing code.

GET /validator/validate.php

Query Parameters

Parameter Description
purchase_codeThe license key to validate (required)
domain_urlThe domain requesting validation (optional)

Example Request

GET https://lkmanager.qdate.online/validator/validate.php?purchase_code=64842089-2fda-4dc9-900a-8a89482e5f14&domain_url=example.com

Success Response

{
    "error": false,
    "message": "License verified successfully"
}

Error Response

{
    "error": true,
    "message": "Invalid license key or domain mismatch."
}