Retrieving Descriptor of Limits
Use the get-limit-descriptor operation to retrieve limits descriptor of add-on plans. For details on the limits descriptors, refer to the Representation of Object Descriptors section. For details on limits of service plans, refer to the Limits section.
Request Packet Structure
A request XML packet retrieving add-on plan limits includes the get-limit-descriptor operation node:
<packet>
    <service-plan-addon>
        <get-limit-descriptor>
            ...
        </get-limit-descriptor>
    </service-plan-addon>
</packet>
The get-limit-descriptor node is presented by type
DomainAddonTemplateGetInputType (domain_addon_template.xsd). Its
graphical representation is as follows:

Note: The interactive schema navigator for all request packets is available here: http://plesk.github.io/api-schemas/1.6.9.1/agent_input.svg.
Note: When creating request packets, put nodes and elements in the order they follow in the packet structure.
Response Packet Structure
The get-limit-descriptor node of the output XML packet is of type
DomainAddonTemplateDescriptorOutput (domain_addon_template.xsd)
which is structured as follows:

Note: The interactive schema navigator for all response packets is available here: http://plesk.github.io/api-schemas/1.6.9.1/agent_output.svg.
- 
The result node is required. It wraps the result of the requested get-limit-descriptor operation. Data type: ResultFilterType (
common.xsd). - 
The status node is required. It returns the execution status of the get-limit-descriptor operation. Data type: result_status (
common.xsd). Allowed values:ok|error. - 
The errcode node is optional. Is used to return the error code when the get-limit-descriptor operation fails. Data type: unsignedInt.
 - 
The errtext node is optional. Can be used to return an error message if the get-limit-descriptor operation fails. Data type: string.
 - 
The id node is optional. It is required if the operation succeeds and the results are filtered by ID. It returns an ID of the add-on plan which limits descriptor was displayed. Data type: id_type (
common.xsd). - 
The name node is optional. It is required if the operation succeeds and the results are filtered by name. It returns a name of the add-on plan which limits descriptor was displayed. Data type: string (
common.xsd). - 
The guid node is optional. It is required if the operation succeeds and the results are filtered by GUID. It returns a GUID of the add-on plan which limits descriptor was displayed. Data type: string (
common.xsd). - 
The external-id node is optional. It is required if the operation succeeds and the results are filtered by external ID. It returns the external ID of the add-on plan which limits descriptor was displayed. Data type: string (
common.xsd). - 
The descriptor node is required if the get-limit-descriptor operation succeeds. It specifies object descriptor. For details, refer to the Representation of Object Descriptors section. Data type: string.
Note: This descriptor contains limits extensions. For details, refer to the Representation of Object Descriptors: Property Descriptor > Extension of Limits Descriptor section.
 
Retrieving limits descriptor
The following packet retrieves limits descriptor for a service plan:
<packet>
    <service-plan-addon>
        <get-limit-descriptor>
            <filter>
                <name>base_plan</name>
            </filter>
        </get-limit-descriptor>
    </service-plan-addon>
</packet>
Response:
<packet>
    <service-plan-addon>
        <get-limit-descriptor>
            <result>
                <status>ok</status>
                <name>1 Additional Gigabyte</name>
                <descriptor>
                    <property>
                        <name>max_site</name>
                        <type>int</type>
                        <writable-by>admin</writable-by>
                        <label>limit__max_site</label>
                        <extension>
                            <shared>false</shared>
                        </extension>
                    </property>
                    <property>
                        <name>max_subdom</name>
                        <type>int</type>
                        <writable-by>admin</writable-by>
                        <label>limit__max_subdom</label>
                        <extension>
                            <shared>false</shared>
                        </extension>
                    </property>
                    ...
                </descriptor>
            </result>
        </get-limit-descriptor>
    </service-plan-addon>
</packet>
Note: Data structures that describe a number of properties are omitted to improve the readability of the sample.
A single filter can specify multiple plans, all specified either by ID or by name.
<packet>
    <service-plan-addon>
        <get-limit-descriptor>
            <filter>
                <name>base_plan</name>
                <name>quick_plan</name>
            </filter>
        </get-limit-descriptor>
    </service-plan-addon>
</packet>