Verify License
Checks a license's status (exists, not banned, not paused, not expired) without logging it in. Read-only: no device is registered, no session or license login fields are updated, and no usage is tracked.
Endpoint
Parameters
| Field | Description | |
|---|---|---|
| session_id | Required | Active session from a successful Init call. |
| license_key | Required | The license key to check. |
Example Request
{
"session_id": "dc1ce...a3a75",
"license_key": "XXXXX-XXXXX-XXXXX-XXXXX"
}
Responses
License is valid. Returns license details. No devices, session fields, or usage counters are modified.
{
"success": true,
"valid": true,
"message": "License is valid",
"license": {
"license_key": "XXXXX-XXXXX-XXXXX-XXXXX",
"owner_id": "uuid",
"app_name": "MyApp",
"subscription": "Premium",
"subscription_level": 2,
"expiry_date": "2026-12-31 23-59-59",
"days_left": 214,
"max_devices": 2,
"email": "[email protected]",
"last_login": "2026-05-29 10-30-00",
"registered_at": "2026-01-04 09-12-00"
}
}
MISSING_FIELDS - One or more required fields were not sent.
{
"success": false,
"code": "MISSING_FIELDS",
"message": "Required fields are missing"
}
Session check failed. Codes: INVALID_SESSION, SESSION_EXPIRED.
{
"success": false,
"code": "INVALID_SESSION",
"message": "Invalid or expired session"
}
License is blocked. Codes: LICENSE_BANNED, LICENSE_PAUSED, LICENSE_EXPIRED.
{
"success": false,
"code": "LICENSE_EXPIRED",
"message": "This license has expired"
}
LICENSE_NOT_FOUND - No license matched the given key in this app.
{
"success": false,
"code": "LICENSE_NOT_FOUND",
"message": "License not found"
}
INTERNAL - Unexpected server-side error.
{
"success": false,
"code": "INTERNAL",
"message": "An internal server error occurred"
}
Verify vs. Login
Use /api/v2/licenses/verify when you only need to know whether a license is currently usable
(e.g. periodic background re-checks). It does not register a device, does not enforce
max_devices, and does not update sid, ip_address, or last_login
on the license. Use License Key Login (/api/v2/licenses) for the actual
activation flow, which registers the device and updates the session.