Licensing for iThemes Exchange is a robust application for selling and managing license keys for your products. Licensing focuses on collecting meaningful data and decreasing the barriers between you and your customers. The plugin was built with developers in mind, full WP-CLI support is baked in, but the user interface has been designed so a Ph.D. in computer science isn’t required.


Releasing a new version of your product with Licensing is different from most other software licensing solutions. A release is created for each new version of your product. Each release has a type, major, minor, security or a pre-release. When activating a license key, customers can optionally subscribe to the pre-release track to download alpha or beta versions of your software.

Licensing keeps track of the customers who have updated to your new release and the version they updated from. Additionally, you can quickly email all your customers who haven’t yet updated. While useful for both major and minor releases, this feature really shines when distributing security fixes.

Licensing gives you the power to pause releases. When a release is paused, update notifications will stop being distributed to your customers. Additionally, any download links that have been generated will download the latest stable version of your product. This is a great way to temporarily halt distribution of a release while fixing a critical bug.


Nearly anything you can do in the Licensing admin can be controlled via the command line with WP-CLI. Keys can be disabled, renewed, extended or even created from the cli. Additionally, activation records can be created, deactivated or deleted.

Licensing can be integrated with your build processes by creating and distributing releases via WP-CLI. Release statistics commands are also provided.


Licensing comes with a sample WordPress plugin and theme to make integration with your WordPress products simple. But, the API is flexible enough to be used in other contexts like desktop software.

All API requests are automatically logged and made searchable in the licensing admin interface. Logs are automatically purged after 60 days.


Renewing license keys is extremely simple for your customers. You can configure an unlimited amount of notification emails to be sent to your customers when their license keys are approaching expiration or have already expired. Renewal links bring your customers directly to the Exchange purchase screen.

Optionally, you can provide your customers with a renewal discount that is automatically applied during checkout. Renewal discounts can be configured globally and per-product.

Licensing integrates with the Recurring Payments add-on to automatically renew license keys when they expire.


Being able to make data driven decisions is crucial for elevating your business. Licensing comes with a powerful reporting API. You can view the total renewal revenue generated, licenses created, and the installed versions of your software, among others.

Depending on the type of report, data can be restricted to a specific date period or product. Licensing also provides an API so you can register your own report types.

Partial Feature List

This is just a quick overview of the features in licensing we are most proud of. In-depth feature descriptions are available on our documentation site.

  • In-depth reporting
  • WP-CLI support
  • Secure, auto-expiring download links.
  • License keys can be remotely activated and deactivated by you and your customers.
  • Support for major, minor, security and beta releases.
  • Notify customers on outdated versions.
  • Integrates with Manual Purchases to manually create license keys.
  • Variant activation limits.
  • Recurring payments integration.
  • Guest Checkout support.
  • Renewal reminders sent before or after license expiration.
  • Per-product renewal discounts.
  • Mandrill integration for email delivery.
  • Sample updaters for WordPress plugins and themes.
  • Robust HTTP API that can be used in custom solutions.
  • Customer friendly API error messages.
  • API request logging.
  • Limit changelogs to the last 10 releases (configurable).
  • WordPress Readme support.
  • Customer account area to manage license keys.
  • License keys can be generated from a pre-built list, randomly, or based on a pattern. API to register additional key generators.
  • Inline help and documentation.
  • Rich internal APIs to allow for extensive customization.
  • Development takes place in a public GitHub repo. Dependencies are managed with composer. PHPUnit test coverage.

Have more questions? View the documentation.



Product is currently not available.