The gateway
API & validation logs
The endpoints the WordPress plugin calls, and every request flowing through them.
Reference · no auth (the key is the credential)
POST
/api/v1/licenses/activateCalled when a customer submits a key in wp-admin. Upserts the key+domain activation. Unlimited sites — never rejected for count.
Response
{
"activated": true,
"status": "active",
"expires_at": null,
"message": "License activated. Unlimited sites."
}POST
/api/v1/licenses/validateCalled by each site at most once per 12h. Same checks as activate; upserts if the row is missing (backup restores).
Response
{
"valid": true,
"status": "active",
"expires_at": null
}POST
/api/v1/licenses/deactivateBest-effort when a customer removes their key. Marks deactivated_at (history kept). Always succeeds.
Response
{ "deactivated": true }Shared request body (all endpoints)
{
"key": "WF-9K3F-A7Q2-MX81-DD4C",
"site_url": "https://plumberpro.com/",
"domain": "plumberpro.com",
"product": "wolf_forge",
"plugin_version": "2.0.0",
"wp_version": "6.8"
}domain is lowercased and stripped of a leading www. before matching. Always HTTP 200 for business answers; 5xx only on real outages (plugin keeps sites alive 72h).
Rejection responses (HTTP 200, valid:false)
invalidUnknown license key.key not found
revokedThis license has been revoked.kill switch
blockedThis domain is not permitted for this license.per-key or global block
Last 100 calls
Validation log
| Key | Endpoint | Domain | Result | IP | When |
|---|---|---|---|---|---|
| validate | wolfforge.ph | OK | 198.252.105.5 | in 3mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 3mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 3mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 3mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 3mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 3mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| geo/business | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| geo/dataset | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| geo/business | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| geo/dataset | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| geo/business | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| geo/dataset | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| geo/business | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| geo/dataset | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 2mo | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 44d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 44d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 43d | |
| geo/business | wolfforge.ph | OK | 198.252.105.5 | in 43d | |
| geo/dataset | wolfforge.ph | OK | 198.252.105.5 | in 43d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 43d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 42d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 42d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 41d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 41d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 40d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 40d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 39d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 39d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 38d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 38d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 37d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 37d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 36d | |
| geo/business | wolfforge.ph | OK | 198.252.105.5 | in 36d | |
| geo/dataset | wolfforge.ph | OK | 198.252.105.5 | in 36d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 36d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 35d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 35d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 34d | |
| validate | wolfforge.ph | OK | 198.252.105.5 | in 34d |
Events
Webhook configuration
license.created→https://hooks.wolfforge.io/billing/createdlicense.expired→https://hooks.wolfforge.io/dunning/expiredactivation.blocked→https://hooks.wolfforge.io/abuse/blocked
Static mockup — all data simulated. No real customers, keys, or revenue.