Skip to content

Software Licensing Pro PRO ​

Activation API, per-site seat enforcement and a license-gated update feed for software you sell.

Category: Digital · Enable at: Ambikly → Add-ons → Software Licensing Pro

What it does ​

The runtime layer on top of the license keys the free core mints at purchase: activate, deactivate and check endpoints where the key is the credential, plus a per-product update feed gated on an active activation for the calling site. Seat counting is serialized with a database lock and site identity is normalized to the domain, so URL tricks can’t buy extra seats.

Capabilities ​

  • Public activate / deactivate / check endpoints — the license key is the credential
  • Per-license lock around the seat check, so the limit can’t be raced past
  • Site identity normalized to host, so scheme and trailing slash don’t create extra seats
  • Update feed with version, download URL, changelog and WP/PHP requirements
  • Optional HMAC-SHA256 signature on every response
  • Configurable grace period after expiry
  • Admin revoke, reinstate, clear activations and bulk actions
  • Customer “Licenses” account tab with key, status, activations and expiry

Turn it on ​

  1. Make sure Ambikly Pro is active and your license is activated under Ambikly → Settings → License.
  2. Go to Ambikly → Add-ons, find Software Licensing Pro and switch it on. There is nothing else to install.
  3. Open its settings panel and set the options listed below.
  4. Visit your storefront to confirm the new surface appears: “licenses” account tab.

Settings ​

Open the add-on's settings panel from Ambikly → Add-ons → Software Licensing Pro.

  • HMAC signing secret (optional)
  • Grace period after expiry (days)

Where it appears ​

On the storefront

  • “Licenses” account tab

In the admin

  • Licenses list with search and status filter
  • License detail with per-site activation history
  • Revoke / reinstate / clear activations
  • Bulk actions

For developers ​

REST routes

  • POST /ambikly-pro/v1/licenses/activate
  • POST /ambikly-pro/v1/licenses/deactivate
  • POST /ambikly-pro/v1/licenses/check
  • GET /ambikly-pro/v1/updates/{slug}
  • GET /ambikly-pro/v1/admin/licenses
  • GET /ambikly-pro/v1/admin/licenses/{id}
  • POST /ambikly-pro/v1/admin/licenses/{id}/revoke
  • POST /ambikly-pro/v1/admin/licenses/{id}/reinstate
  • POST /ambikly-pro/v1/admin/licenses/{id}/clear-activations
  • POST /ambikly-pro/v1/admin/licenses/bulk

Every route enforces the same capability checks as the rest of the API — see the REST API guide.

Core hooks it listens to

  • ambikly_account_tabs
  • rest_api_init

The full list is in the hooks reference.

Questions ​

How are the public endpoints protected? ​

The license key is the credential. Throttle them at your firewall or cache layer if abuse is a concern.

Can a customer activate the same site twice to use two seats? ​

No. Site identity is derived from the normalized domain, so http vs https, a trailing slash or an extra path all resolve to one seat.

How are update downloads gated? ​

The feed requires a valid, unexpired license, an active activation for the calling site, and a product slug that matches the license.

Works well with ​

Download Analytics · Subscriptions

Turning it off ​

Switch the add-on off from Ambikly → Add-ons. Its settings and data stay in the database, so turning it back on restores exactly what you had. A lapsed license pauses it the same way — the store keeps selling on the free core, and nothing is deleted.

PROSoftware Licensing Pro is part of Ambikly Pro

One license covers all 35 add-ons — $199 a year or $549 once for a single site. Nothing here is sold separately.

See pricing →