1. Mollom basics
Figure 1 illustrates how a client interacts with the Mollom service. If a message is received, it is sent to Mollom for checking, after which the client decides to accept or block the content.
The Mollom API currently uses an XML-RPC interface (http://xmlrpc.com). XML-RPC is a simple remote procedure call protocol which uses XML to encode its calls and HTTP as its transport mechanism. XML-RPC libraries for various operating systems and programming languages are available at http://www.xmlrpc.com/directory/1568/implementations. Generic XML-RPC tutorials are available at http://www.xmlrpc.com/directory/1568/tutorialspress. The XML-RPC requests to the Mollom service should follow the HTTP/1.0 standard.
In order to use Mollom, a client needs to request a list of valid servers (see Section 9.1 for more information) to which it then can make Mollom service requests. Each website using Mollom also needs public and private keys, which can be obtained at http://mollom.com.
Each Mollom API request is an HTTP request that species one of the following remote procedure calls:
mollom.getServerList— request a list of Mollom servers that can handle a site's calls.mollom.checkContent— asks Mollom whether the specified message is legitimate.mollom.sendFeedback— tells Mollom that the specified message was spam or otherwise abusive.mollom.getImageCaptcha— requests Mollom to generate an image CAPTCHA.mollom.getAudioCaptcha— requests Mollom to generate an audio CAPTCHA.mollom.checkCaptcha— requests Mollom to verify the result of a CAPTCHA.mollom.getStatistics— retrieves usage statistics from Mollom.mollom.verifyKey— return a status value.mollom.detectLanguage— analyze text and return its most likely language code.mollom.addBlacklistText— add text to your site's custom text blacklist.mollom.removeBlacklistText— remove text from your site's custom text blacklist.mollom.listBlacklistText— return the contents of your site's custom text blacklist.mollom.addBlacklistURL— add a URL to your site's custom URL blacklist.mollom.removeBlacklistURL— remove a URL from your site's custom URL blacklist.mollom.listBlacklistURL— return the contents of your site's custom URL blacklist.

Figure 1: A detailed overview of how a client could use Mollom to check if a message is spam or not. The chart illustrates how the Drupal module for Mollom blocks comment spam.