Request body
json
{
"license_key": "XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX",
"fingerprint": "abc123-machine-fingerprint"
}API Endpoint
High-frequency runtime check to confirm license status for a fingerprint.
POST /validate
Use these endpoints for license lifecycle operations. /generate and /revoke require a generated active server API key. Runtime endpoints use license_key plus fingerprint.
curl -X POST http://localhost:8080/validate \
-H "Content-Type: application/json" \
-d '{
"license_key": "XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX",
"fingerprint": "abc123-machine-fingerprint"
}'{
"license_key": "XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX",
"fingerprint": "abc123-machine-fingerprint"
}{
"valid": true,
"status": "active",
"expires_at": "2026-10-20T12:00:00Z",
"reason": ""
}valid
boolean
Whether the license is valid for this fingerprint.
status
"inactive" | "active" | "revoked"
License status returned by validation logic.
expires_at
string | null
RFC3339 timestamp when the license expires, or null for non-expiring licenses.
reason
string (optional)
Present on invalid responses (for example revoked, expired, fingerprint_not_active).
Invalid JSON or missing required fields.
License not found.
Unexpected server or storage error.