All paths are relative to https://your-site.com/wp-json/wplm/v1.
| Method | Endpoint | Purpose |
|---|
| POST | /validate | Validate a key (+ optional fingerprint). Returns a signed payload. |
| POST | /activate | Activate a device (key + fingerprint + meta). |
| POST | /deactivate | Deactivate a device (frees a seat). |
| POST | /heartbeat | Device keep-alive / renew a floating lease. |
| GET | /crl | Signed certificate revocation list for offline clients. |
| GET | /public-key | Ed25519 public key for client-side signature verification. |
curl -X POST https://your-site.com/wp-json/wplm/v1/validate \
-H "Content-Type: application/json" \
-d '{ "license_key": "ABCD-EFGH-IJKL-MNOP", "fingerprint": "abc123" }'
| Method | Endpoint | Purpose |
|---|
| GET | /licenses | List (paginate, filter by status/product/order/user). |
| POST | /licenses | Create a license (optionally from a generator). |
| GET | /licenses/{key} | Retrieve one license + its devices. |
| PUT | /licenses/{key} | Update writable fields. |
| DELETE | /licenses/{key} | Delete a license. |
| POST | /licenses/{key}/renew | Extend expiry / reset relative validity. |
| POST | /licenses/{key}/suspend | Suspend (temporary hold). |
| POST | /licenses/{key}/revoke | Revoke (reversible). |
| POST | /licenses/{key}/reinstate | Reinstate a suspended/revoked license. |
| POST | /licenses/{key}/terminate | Terminate (irreversible — requires a confirm flag). |
| Method | Endpoint | Purpose |
|---|
| GET | /licenses/{key}/machines | List devices bound to a license. |
| GET | /machines/{id} | Retrieve a device + its components. |
| DELETE | /machines/{id} | Remove/deactivate a device. |
| POST | /machines/{id}/revoke | Revoke a single device. |
| Method | Endpoint | Purpose |
|---|
| GET | /generators | List generators. |
| POST | /generators | Create a generator. |
| GET | /generators/{id} | Retrieve a generator. |
| PUT | /generators/{id} | Update a generator. |
| DELETE | /generators/{id} | Delete a generator. |
| POST | /generators/{id}/generate | Bulk-generate N keys into the pool. |
| Method | Endpoint | Purpose |
|---|
| GET | /releases | List software releases. |
| POST | /releases | Publish a new version. |
| GET | /updates/check | Licensed client checks for a newer version. |
| GET | /updates/download | Token-gated download of a release artifact. |
| Method | Endpoint | Purpose |
|---|
| GET | /subscriptions | List (filter by status/user/product). |
| POST | /subscriptions | Create a subscription. |
| GET | /subscriptions/{id} | Retrieve a subscription + items + bound license. |
| PUT | /subscriptions/{id} | Update schedule / amount / method. |
| POST | /subscriptions/{id}/pause | Put on-hold (suspends the license). |
| POST | /subscriptions/{id}/resume | Reactivate. |
| POST | /subscriptions/{id}/cancel | Cancel now or at period end. |
| POST | /subscriptions/{id}/switch | Upgrade/downgrade with proration. |
| POST | /subscriptions/{id}/renew | Charge a renewal now (early renew). |
| GET | /subscriptions/{id}/renewals | List renewal/switch history. |
| Method | Endpoint | Purpose |
|---|
| GET / POST | /webhooks | List / register webhooks. |
| DELETE | /webhooks/{id} | Delete a webhook. |
| POST | /webhooks/{id}/ping | Send a test delivery. |
| GET / POST | /api-keys | List / create API keys. |
| GET | /analytics/overview | Dashboard aggregates. |
| GET | /analytics/validations | Validations time-series. |
| GET | /analytics/anomalies | Current anomaly flags. |
| GET | /analytics/expiring | Licenses expiring soon. |