Setyenv · Docs
  • English
  • Español
  • 中文
  • 日本語
  • العربية
  • Deutsch
  • Français
  • हिन्दी
  • Bahasa Indonesia
  • Italiano
  • Nederlands
  • Português
  • Русский
  • Türkçe

Licenses

The endpoints the plugins call to activate, verify and deactivate an Enterprise key. All three are public (no session), rate-limited to 60 requests per minute per IP, and take the key in the URL — either the customer's PFL3.… token or the internal PF-… reference id resolve to the same licence. Bodies are form-encoded.

POST /wp-json/pfw-portal/v1/licenses/{key}/activate

Records this site as one of the licence's domains.

FieldRequiredDescription
site_urlyesThe site's home URL; its domain counts against the domain limit
site_fingerprintyessha256(home URL + a per-site secret) — the site's identity
wp_version, php_version, plugin_versionnoRecorded on the activation

Success (200): {"status":"ok","data":{"activation_id":"…"}} — or {"reactivated":true,…} when this fingerprint was already active.

errorMeaning
license_not_foundNo licence matches the key
license_inactiveThe licence is expired, revoked or pending
license_expiredPast its expiry date
site_limit_reachedEvery domain slot is in use (site_limit says how many)

A site that already runs one plugin of the suite consumes no new slot when the other activates: the limit counts domains, not plugins.

POST /wp-json/pfw-portal/v1/licenses/{key}/verify

The daily check. Body: site_fingerprint (optional — without it the answer describes the licence but site_match is false).

{
  "status": "ok",
  "license_status": "active",
  "expires_at": "2027-05-17 11:33:46",
  "domain_limit": 2,
  "site_match": true,
  "product_slug": "setyenv",
  "product_name": "Setyenv"
}

license_status is active for a licence in good standing (a licence in billing grace reports active too). A failure comes back as {"status":"fail","error":"license_inactive"|"license_expired"|"license_not_found"}. The plugin treats a network error as "no news" — only a definitive answer changes the site's edition.

POST /wp-json/pfw-portal/v1/licenses/{key}/deactivate

Frees this site's slot. Body: site_fingerprint. Errors: activation_not_found, already_deactivated.