Dashboard
Total Licenses
Active
Expiring in 30d
Expired

⏰ Expiring Soon

CustomerExpiryDays LeftStatusLast SeenAction
Loading…

🔑 All Licenses

All ✅ Active ⏰ Expiring ❌ Expired 🚫 Revoked
Customer License Key Expiry Status Activations Actions
Loading…

✨ Generate New License

ℹ️ Ask customer to open PMP MedzMart → copy their Hardware ID from the activation screen.
1 Month 3 Months 6 Months 1 Year 2 Years ♾ Lifetime

ℹ️ How It Works

1. Customer opens PMP MedzMart → copies their Hardware ID and sends it to you.

2. You fill in the form and click Generate — the license is saved to this server instantly.

3. Customer enters the key in PMP. PMP contacts this server on each startup to verify.

4. You can activate / deactivate / extend from the Licenses tab — no need to touch the customer's PC.

⚠️ Customer PC needs internet at least once a week for validation.

🔌 Validation Endpoint

Point PMP MedzMart to this URL:

http://your-server:3000/api/validate

Configure VALIDATION_URL in PMP's config file.

📋 Audit Log

📋
Loading…

🔌 API Reference

These endpoints let PMP MedzMart communicate with this license server. The validation endpoint is public. All other endpoints require an admin JWT token.

Public

POST/api/validate
// Request body
{
  "customer": "Ahmed Pharmacy",
  "hwid": "A1B2-C3D4-E5F6-G7H8",
  "license_key": "XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX"
}
// Success response
{ "valid": true, "message": "License verified",
  "expiry": "2027-01-01", "days_remaining": 180 }

Admin (requires Bearer JWT)

POST/api/admin/login
GET/api/admin/licenses
POST/api/admin/licenses
GET/api/admin/audit
GET/api/admin/export/csv
🔒 The admin JWT token expires in 8 hours. Log out and log back in to get a fresh token.