The protocol is based on HTTP/1.1. The same endpoint (URL) is used for all operations. The data is sent using “application/x-www-formurlencoded” encoding.

In order to prevent malicious usage, the protocol access should be authenticated. BASIC HTTP authentication is supported (see the section 2 of RFC 2617). It is required to use HTTPS protocol to protect login/password from being intercepted.

There are two types of the protocol implementation:

Name Description License Billing Conditions Supported Requests
Standard

Intended for managing regular third-party licenses.

Example: an application that scans the server for vulnerabilities and reports them to the administrator.

One license per server/instance. Each active license is a subject for billing with the flat SKU/price.
  1. License Creation/Renewal/Upgrade Request (the PURCHASE, RENEW, and UPGRADE actions)
  2. License Termination Request
With reporting

In addition to what is possible with “standard”, it can be also used to collect resource usage statistics per each license from the ISV endpoint.

Typically this type of protocol is used for licensing access to SaaS applications, where the end customer is billed based on the amount of used resources (so-called “pay-as-you-go” licensing).

Example: an application that stores backups in the cloud (a customer is billed based on the amount of actually consumed disk space).

One license per server/instance. Each license is free and is used for identifying the Plesk server instance for usage tracking. License can be considered as a container for certain resource usage counters. Each such counter is used for billing a customer at the flat SKU/price multiplied by the counter itself.
  1. License Creation/Renewal/Upgrade Request (the PURCHASE, RENEW, and UPGRADE actions)
  2. License Termination Request
  3. Get License Key Info Request