Starting with version 1.5.0.0, Plesk API RPC protocol supports descriptors - containers that store info on properties of Plesk business logic objects. There are two kinds of descriptors: object descriptors and property descriptors. Property descriptor is comprised of parameters that specify an object property. There can be only one property descriptor for each property. Every object descriptor is composed of a set of property descriptors and correlation between properties of the object.

The basic goal of descriptors is to make object properties independent of a protocol version. Now to retrieve the properties, you can retrieve object descriptor that shows properties available for a current user in the current version of Plesk. This provides more flexible and convenient mechanism of adaptation third-party applications to changes in Plesk business model.
All descriptors can be divided into the following three groups:
On the server level one can retrieve general information on availability and possible limitations of specified services. They are not linked to any specific object.
The client-level descriptors contain data of a specified client. The domain-level descriptors contain info on a specific domain (domain administrator) or group of domains belonging to a specified client. That is why descriptors might be changed if Plesk objects are changed. For instance, if Microsoft Frontpage is not installed, it will be grayed in hosing settings. But if Administrator installs the application, the hosting settings descriptor will be changed, and Frontpage support in hosting settings will be editable.
Note: It is recommended to keep descriptors in a local directory and update them only when Plesk objects change. This can be traced using the event_log operator.
The old model of description is also supported in 1.5.0.0.v. of API RPC.
For more information on descriptors representation in the protocol, refer to the Representation of Object Descriptors section in the Plesk API RPC Reference.