Interaction between Plesk and third-party software is based on the client-server programming model.
The server part is presented by Plesk API RPC server (hereinafter called Plesk server or the server) which is a part of Plesk. The client-part software should be created by a third party.
A client-part application forms an XML-based request packet (hereinafter called API RPC packet or the packet), adds a standard HTTP header, and sends it to a Plesk server. On the server side, the packet gets to Plesk server that validates the packet and calls internal Plesk functions to perform the requested operations. Then, it forms the packet containing the performed operation details and sends it back. The client receives this resulting packet (the operation status and, possibly, an error message or operation parameters), retrieves the information, and the interaction ends.
API RPC packet is a simple XML document included to a HTTP message body.
In fact, Plesk API RPC supports two types of packets: