Filtering is the way a request XML packet indicates the object (one or several domains) to which an operation is to be applied. Parameters nested in the filter node are called filtering rule.
The filter node is presented by the DomainFilterType complex type (domain_input.xsd). Its graphical representation is as follows:

Two types of filtering are available:
Nodes id and domain-name serve to filter one to many domains individually. 'Individual' filtering is allowed for Plesk Administrator, Plesk resellers and for Plesk clients.
Nodes owner-id and owner-login serve to filter all domains of certain Plesk users at once. This kind of filtering is allowed for Plesk Administrator and Plesk resellers.
Individual filtering
The following packet requests hosting settings of domains specified by their id:
<packet version="1.6.0.0">
<domain>
<get>
<filter>
<id>124</id>
<id>127</id>
</filter>
<dataset>
<hosting/>
</dataset>
</get>
</domain>
</packet>
The following packet is identical except it specifies domains by their names:
<packet version="1.6.0.0">
<domain>
<get>
<filter>
<domain-name>example.com</domain-name>
<domain-name>sample.com</domain-name>
</filter>
<dataset>
<hosting/>
</dataset>
</get>
</domain>
</packet>
The following packet is invalid as both the id node and the domain-name node are used in the same filter:
<packet version="1.6.0.0">
<domain>
<get>
<filter>
<domain-name>example.com</domain-name>
<id>126</id>
</filter>
<dataset>
<hosting/>
</dataset>
</get>
</domain>
</packet>
To fix this issue, use two different <get> sections:
<packet version="1.6.0.0">
<domain>
<get>
<filter>
<domain-name>example.com</domain-name>
</filter>
<dataset>
<hosting/>
</dataset>
</get>
<get>
<filter>
<id>126</id>
</filter>
<dataset>
<hosting/>
</dataset>
</get>
</domain>
</packet>
Group filtering
The following packet removes all domains owned by two Plesk users:
<packet version="1.6.0.0">
<domain>
<del>
<filter>
<owner-id>1324</owner-id>
<owner-id>1325</owner-id>
</filter>
</del>
</domain>
</packet>
The same packet removes domains of JDoe and RRoe Plesk users:
<packet version="1.6.0.0">
<domain>
<del>
<filter>
<owner-login>JDoe</owner-login>
<owner-loginn>RRoe</owner-login>
</filter>
</del>
</domain>
</packet>
The following packet is invalid as it uses both the owner-id node and the owner-login node within one filter:
<packet version="1.6.0.0">
<domain>
<del>
<filter>
<owner-id>1324</owner-id>
<owner-login>RRoe</owner-login>
</filter>
</del>
</domain>
</packet>
To fix this packet, use two different <del> sections:
<packet version="1.6.0.0">
<domain>
<del>
<filter>
<owner-id>1324</owner-id>
</filter>
</del>
<del>
<filter>
<owner-login>RRoe</owner-login>
</filter>
</del>
</domain>
</packet>
The following packet sent by Plesk Administrator removes all domains available in Plesk. If sent by a Plesk client/reseller, it will delete all domains of this client/reseller:
<packet version="1.6.0.0">
<domain>
<del>
<filter/>
</del>
</domain>
</packet>