Understanding ImpulseMinio licensing
How license keys work for ImpulseMinio — the IMINIO- prefix, auto-captured install domain, the 1-hour cache and 7-day grace, and what happens at expiry.
Last updated 20 days ago
Understanding ImpulseMinio licensing
ImpulseMinio's free tier covers the complete single-region S3 product surface — provisioning, billing, customer dashboard, lifecycle, the Security & Maintenance pipeline. The licensed tier adds multi-region routing, cross-region replication, custom domains, migration, and the multi-provider cap lifts.
This article is about how the license itself works on your install.
Key prefixes
IMINIO-XXXX-XXXX-XXXX— production license. $499/yr, one WHMCS install.IMDEV-XXXX-XXXX-XXXX— dev companion license. Used for staging WHMCS installs alongside production.
If you have both a production and a staging WHMCS, you don't need to buy two licenses. The dev companion key is bound to the same purchase.
The install domain is auto-captured
You don't enter your WHMCS domain when buying a license. On the first successful validation, the licensing endpoint records the domain straight from your install — specifically from tblconfiguration.SystemURL, not $_SERVER['SERVER_NAME'] or gethostname(). That's the domain the license is bound to from then on.
Practical consequence: if you change SystemURL (e.g. move WHMCS to a new domain), the next validation fails because the cached install domain no longer matches. You'll need to move the license through the licensing portal (see "Migrating the license" below).
How validation runs
License validation runs through ImpulseCore's shared licensing client. ImpulseMinio doesn't ship its own validation code — it calls ImpulseCore::* and trusts Core's result.
- The WHMCS licensing API returns XML, not JSON. Core parses the response and exposes a typed result to the module.
- Successful validations are cached for 1 hour. The next call within the hour returns the cached result without hitting the network.
- Licensing-server errors (network blip, upstream outage) honour a 7-day grace on the last good result. Customers don't notice transient failures.
- Every validation — success or failure — writes to Core's audit log, scoped to module
impulseminio. That's where you check if licensing starts misbehaving.
Where the license shows up
- Tools → License in the addon — paste, verify, view current status.
- License badge in the tab strip — grey "Free" or blue "Licensed".
- Core's Overview tab — license status alongside the module registry row.
- Core's audit log — every validation, every failure.
What happens at expiry
- Network blip during a validation. Cached result is honoured for up to 7 days. Customers don't notice.
- Subscription expires (on the licensing server side). The module enters a 14-day soft-expiry mode. Licensed features keep working; the admin UI shows a banner asking you to renew.
- 14-day soft-expiry elapses. New replication jobs, new custom domains, and new region servers are blocked. Existing customer data and configuration stay live and accessible. The Free tier surface still works.
Renew at any point during soft-expiry to restore full functionality without any data loss or customer disruption.
Migrating the license to a new domain
License keys are bound to your WHMCS SystemURL. To move:
- Open the licensing portal at
impulsehosting.com/clientareawith the email the license was issued to. - Use the Reissue / Move License action on the license row, enter the new domain.
- Back in WHMCS on the new server, open Tools → License → Verify License Now — the cached failure clears and the new domain is accepted.
The licensing portal allows one move every 30 days without a support ticket. Frequent moves trigger a manual review.
When validation fails
If validation starts failing and you don't think it should be:
- Check Core's audit log for the last validation row from
impulseminio. The XML error code is logged verbatim. - Confirm
tblconfiguration.SystemURLmatches the domain on file with the licensing portal. - Confirm outbound HTTPS to
impulsehosting.com/modules/servers/licensing/verify.phpis reachable from your WHMCS host. - Click Verify License Now on the addon's Tools tab to force a fresh check (bypasses the 1-hour cache).