Use the get-permission-descriptor operation to retrieve permissions descriptors of add-on plans. For details on descriptor, refer to the Representation of Object Descriptors section. For details on permissions of service plans, refer to the Permissions section.

Request Packet Structure

A request XML packet retrieving add-on plan limits includes the get-permission-descriptor operation node:

<packet>
    <service-plan-addon>
        <get-permission-descriptor>
            ...
        </get-permission-descriptor>
    </service-plan-addon>
</packet>

The get-permission-descriptor node is presented by type DomainAddonTemplateGetInputType (domain_addon_template.xsd). Its graphical representation is as follows:

image 68373

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.

  • The filter node is required. It specifies a criteria by which add-on plans will be selected. Data type: DomainAddonTemplateFilterType (domain_addon_template.xsd). See the Available Filters section for details on this node.
  • The owner-id node is optional. It specifies the ID of the add-on plan owner. Data type: integer.
  • The owner-login node is optional. It specifies the username of the add-on plan owner. Data type: string.

Response Packet Structure

The get-permission-descriptor node of the output XML packet is of type DomainAddonTemplateDescriptorOutput (domain_addon_template.xsd) which is structured as follows:

image 68414

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-permission-descriptor operation. Data type: ResultFilterType (common.xsd).

  • The status node is required. It returns the execution status of the get-permission-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-permission-descriptor operation fails. Data type: unsignedInt.

  • The errtext node is optional. Can be used to return an error message if the get-permission-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 permissions 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 permissions 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 permissions 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 permissions descriptor was displayed. Data type: string (common.xsd).

  • The descriptor node is required if the get-permission-descriptor operation succeeds. It specifies object descriptor. For details, refer to the Representation of Object Descriptors section. Data type: string.

    Note: This descriptor contains permissions extensions. For details, refer to the Representation of Object Descriptors: Property Descriptor > Extension of Limits Descriptor section.

Samples

The following packet retrieves limits descriptor for a service plan:

<packet>
    <service-plan-addon>
        <get-permission-descriptor>
            <filter>
                <name>base_plan</name>
            </filter>
        </get-permission-descriptor>
    </service-plan-addon>
</packet>

Response:

<packet>
    <service-plan-addon>
        <get-permission-descriptor>
            <result>
                <status>ok</status>
                <name>1 Additional Gigabyte</name>
                <descriptor>
                    <property>
                        <name>create_domains</name>
                        <type>boolean</type>
                        <default-value>false</default-value>
                        <writable-by>admin</writable-by>
                        <writable-by>reseller</writable-by>
                        <label>cl_perm__create_domains</label>
                        <extension>
                            <level>reseller</level>
                        </extension>
                    </property>
                    <property>
                        <name>manage_phosting</name>
                        <type>boolean</type>
                        <default-value>false</default-value>
                        <writable-by>admin</writable-by>
                        <writable-by>reseller</writable-by>
                        <label>cl_perm__manage_phosting</label>
                        <extension>
                            <level>reseller</level>
                            <level>domain</level>
                        </extension>
                    </property>
                    ...
                    <bind>
                        <ref>allow_insecure_sites</ref>
                        <relevant>
                            <name>manage_phosting</name>
                            <value>true</value>
                        </relevant>
                        <read-only>0</read-only>
                    </bind>
                    ...
                </descriptor>
            </result>
        </get-permission-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-permission-descriptor>
            <filter>
                <name>base_plan</name>
                <name>quick_plan</name>
            </filter>
        </get-permission-descriptor>
    </service-plan-addon>
</packet>