<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://api-wiki.apps.rackspace.com/api-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matt.Brown&amp;*</id>
		<title>Rackspace Email &amp; Apps API - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://api-wiki.apps.rackspace.com/api-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Matt.Brown&amp;*"/>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Special:Contributions/Matt.Brown"/>
		<updated>2026-04-21T05:32:34Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Main_Page&amp;diff=784</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Main_Page&amp;diff=784"/>
				<updated>2020-12-02T23:21:29Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Fix copy/pasted URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Rackspace Email Rest API provides most of the functions of the Control Panel through a REST-based [http://en.wikipedia.org/wiki/Web_service web API]. Whether it is adding a new customer account, adding mailboxes, or any other of the supported features the API allows your application to administer the changes regardless of your application's language or nature. For more information on RESTful web services refer to the following sites:&lt;br /&gt;
&lt;br /&gt;
[http://www.peej.co.uk/articles/restfully-delicious.html Paul James's Homepage: A RESTful Web service, an example]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Representational_State_Transfer#External_links Wikipedia: Representational State Transfer - External Links]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The API is accessible to all with access to Control Panel, including resellers, business customers, enterprise customers, and indirect customers. However, not all operations are available to non-resellers. See the [[Rest_API#Operations|Operations]] section for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Rackspace Email Soap API Homepage has been moved to [[Soap_API| here]].&lt;br /&gt;
&lt;br /&gt;
== Operations ==&lt;br /&gt;
&lt;br /&gt;
The following pages detail the operations that the API supports. The operations are grouped into sections based on the entity/object types that each operation interacts with. Non-resellers do not have access to all functions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Resource&lt;br /&gt;
!Example URI&lt;br /&gt;
!Business User Access&lt;br /&gt;
|-&lt;br /&gt;
| [[Customer_(Rest_API)| Customer]]&lt;br /&gt;
| /customers/123456789&lt;br /&gt;
| [[Customer_(Rest_API)#Create_Login_Tokens | Create Login Tokens]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Admin_(Rest_API)| Admin]]&lt;br /&gt;
| /customers/123456789/admins/my_admin&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_(Rest_API)| Domain]]&lt;br /&gt;
| /customers/123456789/domains/example.com&lt;br /&gt;
| [[Domain_(Rest_API)#Index| Index]], [[Domain_(Rest_API)#Show| Show]], [[Domain_(Rest_API)#Split Domain Routing| Split Domain Routing]], [[Domain_(Rest_API)#Archiving SSO Login URL| Archiving SSO Login URL]], [[Domain_(Rest_API)#Domain_Public_Folders_.28Reseller_Only.29|Domain Public Folders]], [[Domain_(Rest_API)#Domain Email Everyone| Email Everyone ]], [[Domain_(Rest_API)#Show_Domain_Catch-All_Address | Catch-All Address]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_Spam_(Rest_API)| Domain Spam Settings]]&lt;br /&gt;
| /customers/123456789/domains/example.com/spam/settings&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_Webmail_Settings_(Rest_API)| Domain Webmail Settings]]&lt;br /&gt;
| /customers/123456789/domains/example.com/webmailSettings&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Rackspace_Mailbox_(Rest_API)|  Rackspace Email Mailbox]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/rs/mailboxes/john.smith&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Rackspace_Mailbox_Spam_(Rest_API)| Rackspace Email Mailbox Spam Settings]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/rs/mailboxes/john.smith/spam&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Rackspace_Storage_Notification_(Rest_API)| Rackspace Storage Notification Settings]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/rs/storageNotification&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Rackspace_Alias(Rest_API)|  Rackspace Email Alias]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/rs/mailboxes/john.smith/alias&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Mailbox_(Rest_API)| Exchange Mailbox]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Mailbox_Spam_(Rest_API)| Exchange Mailbox Spam Settings]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/mailboxes/john.smith/spam&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Contact_(Rest_API)| Exchange Contact]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/contacts/john.smith&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Distribution_List_(Rest_API)| Exchange Distribution List]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/distributionlists/group.name&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Resource_Mailbox_(Rest_API)| Exchange Resource Mailbox]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/resources/conference.room&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Skype_For_Business_(Rest_API)| Exchange Skype For Business]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/lync/users&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Public_Folders_(Rest_API)| Exchange Public Folders]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/publicFolders&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[SharePoint_(Rest_API)| SharePoint]]&lt;br /&gt;
| /customers/123456789/sharepoint/settings&lt;br /&gt;
| [[SharePoint_(Rest_API)#Show | Show]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The examples shown in the operation pages are written in Ruby and extensively use the helper functions shown in the Ruby Examples below.&lt;br /&gt;
&lt;br /&gt;
== Quick Start ==&lt;br /&gt;
&lt;br /&gt;
'''What you need:'''&lt;br /&gt;
* A Rackspace Email and Apps Control Panel admin account&lt;br /&gt;
* A HTTP class library that supports TLS 1.2 or greater, and the HTTP methods: GET, POST, PUT, DELETE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Making your first API call, an Show Customer request:'''&lt;br /&gt;
# Obtain your API keys&lt;br /&gt;
#:* Login to [https://cp.rackspace.com Control Panel]&lt;br /&gt;
#:* Click the drop down in the top right next to your admin id/account number.&lt;br /&gt;
#:* Click Admins &amp;amp; Contacts&lt;br /&gt;
#:* Click API Keys&lt;br /&gt;
# Set up your client's HTTP request&lt;br /&gt;
#:* Set up your client to make calls to a URL beginning with &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
#:* Populate the Accept, User-Agent and X-Api-Signature HTTP request headers correctly. This is explained in detail [[#HTTP Headers|here]].&lt;br /&gt;
# Make a GET request to /customers/me.&lt;br /&gt;
#:* The complete URI will be &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/me/domains&amp;lt;/nowiki&amp;gt;. Use your HTTP library to retrieve the HTTP response code, 'x-error-message' HTTP response header and HTTP response body so that they may be displayed to help debug and determine success.&lt;br /&gt;
'''From here:'''&lt;br /&gt;
* Learn about the operations you'll be implementing at the subpages [[#Operations|here]].&lt;br /&gt;
&lt;br /&gt;
== Accessing the API ==&lt;br /&gt;
&lt;br /&gt;
Your application should need to make HTTP requests over TLS 1.2 or greater (HTTPS) to our API servers. Most programming languages have this functionality built into their core libraries. In addition to the common GET and POST HTTP methods, the library used will also need to support PUT and DELETE.&lt;br /&gt;
&lt;br /&gt;
For some language's libraries, simply using an URL that starts with https:// will cause the library to use TLS. In some other libraries however some options specific to the library may have to be configured to utilize TLS. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All API calls should be directed to a URL in the following format:&lt;br /&gt;
&amp;lt;pre&amp;gt;https://api.emailsrvr.com/(version)/(resource)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;https://api.emailsrvr.com/v1/customers/12345678/domains/customerbusiness.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Versions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Supported Versions''&lt;br /&gt;
!''URL''&lt;br /&gt;
!''Version Documentation''&lt;br /&gt;
|-&lt;br /&gt;
| v1 (current)&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| http://api-wiki.apps.rackspace.com/api-wiki/index.php/Main_Page&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The API version number is a component of the URL that is used to access the API. For example, to access the root of the API, the URL is https://api.emailsrvr.com/v1/. Bug fixes and minor non-breaking changes will be made without changing the version number. When major features or breaking changes are introduced, the version number will be incremented. It is not yet determined how many versions are going to be supported at any one time.&lt;br /&gt;
&lt;br /&gt;
'''Using the discontinued v0 API?'''&lt;br /&gt;
&lt;br /&gt;
* If your client consumes v0 of the Admin REST API for Exchange Distribution Lists or Exchange Resource Mailboxes routes, the client must be updated to consume the new behavior in v1.&lt;br /&gt;
* If your client does not consume the v0 Admin REST API for Exchange Distribution Lists and Exchange Resource Mailboxes, you simply need to update the base URL (i.e. https://api.emailsrvr.com/v0/…) from v0 to v1. There were no changes to the behavior of the other entities in the API, only their location changed. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Non-breaking Changes''&lt;br /&gt;
!''Breaking Changes''&lt;br /&gt;
|-&lt;br /&gt;
| Adding new fields or attributes to form fields sent&lt;br /&gt;
| Changing or deleting any fields in form fields sent&lt;br /&gt;
|-&lt;br /&gt;
| Adding fields in returned data&lt;br /&gt;
| Changing or removing fields in returned data&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Changing the URI of any resource&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
To gain access to the API, your request must include a properly constructed X-Api-Signature HTTP header. Details on what to put in the header are below. To construct the header, you must have the following keys that are generated from the [https://cp.rackspace.com/MyAccount/Administrators/ApiKeys API Keys] page.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Key Name&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
|-&lt;br /&gt;
| User Key&lt;br /&gt;
| A public key that corresponds to your admin id&lt;br /&gt;
| ''eGbq9/2hcZsRlr1JV1Pi''&lt;br /&gt;
|-&lt;br /&gt;
| Secret Key&lt;br /&gt;
| A shared secret key&lt;br /&gt;
| ''QHOvchm/40czXhJ1OxfxK7jDHr3t''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An unsuccessful authentication will result in a 403 HTTP code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== X-Api-Signature Header ====&lt;br /&gt;
&lt;br /&gt;
Format is as follows:&lt;br /&gt;
&amp;lt;'''User Key'''&amp;gt;:&amp;lt;'''Timestamp'''&amp;gt;:&amp;lt;'''SHA1 Hash'''&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:46VIwd66mOFGG8IkbgnLlXnfnkU=''&lt;br /&gt;
&lt;br /&gt;
Remember to include the colons between the data strings!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''User Key''':&amp;lt;br&amp;gt;&lt;br /&gt;
This is the public key issued by the Control Panel browser interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Timestamp''':&amp;lt;br&amp;gt;&lt;br /&gt;
The format is YYYYMMDDHHmmss. All values besides year are zero-padded to two spaces. For example, March 08th 2001 at 2:37.25pm would be ''20010308143725''.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|YYYY&lt;br /&gt;
|Four-digit year&lt;br /&gt;
|-&lt;br /&gt;
| MM&lt;br /&gt;
| Month&lt;br /&gt;
|-&lt;br /&gt;
| DD&lt;br /&gt;
| Day&lt;br /&gt;
|-&lt;br /&gt;
| HH&lt;br /&gt;
| Hour in 24h format&lt;br /&gt;
|-&lt;br /&gt;
| mm&lt;br /&gt;
| Minute&lt;br /&gt;
|-&lt;br /&gt;
| ss&lt;br /&gt;
| Second&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SHA1 Hash''':&lt;br /&gt;
&lt;br /&gt;
A SHA1 (Secure Hash Algorithm) hash must be applied to a string with the following information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;'''User Key'''&amp;gt;&amp;lt;'''User Agent'''&amp;gt;&amp;lt;'''Timestamp'''&amp;gt;&amp;lt;'''Secret Key'''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the 'User Agent' must be the exact same as what is specified in the User-Agent HTTP header. Using the above example data, the string before hashing is:&amp;lt;br&amp;gt;''eGbq9/2hcZsRlr1JV1PiRackspace Management Interface20010308143725QHOvchm/40czXhJ1OxfxK7jDHr3t''&lt;br /&gt;
&lt;br /&gt;
Resulting base-64 SHA1 Hash:&amp;lt;br&amp;gt;''46VIwd66mOFGG8IkbgnLlXnfnkU=''&lt;br /&gt;
&lt;br /&gt;
Be sure to encode the binary hash, not the hex hash, into base-64. The resulting string should be 28 characters long.&lt;br /&gt;
&lt;br /&gt;
== Using the API ==&lt;br /&gt;
&lt;br /&gt;
=== Requests ===&lt;br /&gt;
&lt;br /&gt;
HTTP requests should be sent to the server with the correct URL, HTTP method, HTTP headers and form data (if needed). The URL specifies the resource, the HTTP method specifies what operation is done on the resource, and form data is used to specify the details of the resource when the resource is added or edited.&lt;br /&gt;
&lt;br /&gt;
The URLs, corresponding HTTP methods, and necessary form data for the desired operations are detailed in the [[#Operations|operation pages]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you're getting the HTTP status code 417 see [[Handling HTTP code 417:  Expectation failed]]&lt;br /&gt;
&lt;br /&gt;
==== URL ====&lt;br /&gt;
&lt;br /&gt;
The URLs are specifies the resource or resource collection. Objects are organized in a tree collection, starting with customers at the top, then domains, then domain objects next (such as mailboxes, contacts, and distribution lists) and so on. The URLs of the resources and collections accessible are found on the operation pages.&lt;br /&gt;
&lt;br /&gt;
==== HTTP Method ====&lt;br /&gt;
&lt;br /&gt;
It is the HTTP method that specifies what operation will be done on the resource. For example, to get the details of a mailbox a HTTP GET will be done on /customers/12345678/domains/example.com/ex/mailboxes/john.smith. If the mailbox does not exist, a HTTP POST to the same URL with the necessary form data will add the mailbox. Then, a HTTP PUT to the same URL will edit mailbox. And to delete the mailbox, an HTTP DELETE would be used.&lt;br /&gt;
&lt;br /&gt;
The types of operations a certain method performs is outlined below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''HTTP Method''&lt;br /&gt;
!''Operations''&lt;br /&gt;
!''Response''&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2|GET&lt;br /&gt;
|Index - returns a list of the resources&lt;br /&gt;
|rowspan=2|XML or JSON formatted data&lt;br /&gt;
|-&lt;br /&gt;
|Show - returns the details of the resource&lt;br /&gt;
|-&lt;br /&gt;
|POST&lt;br /&gt;
|Add - adds a new resource&lt;br /&gt;
|rowspan=3|Response code and error message (if applicable) only&lt;br /&gt;
|-&lt;br /&gt;
|PUT&lt;br /&gt;
|Edit - changes the details of the resource&lt;br /&gt;
|-&lt;br /&gt;
|DELETE&lt;br /&gt;
|Delete - deletes the resource&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== HTTP Headers ====&lt;br /&gt;
&lt;br /&gt;
All requests to the API must then include HTTP headers with the following information:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Header Name''&lt;br /&gt;
!''Description''&lt;br /&gt;
!''Example Header Value''&lt;br /&gt;
|-&lt;br /&gt;
| Accept&lt;br /&gt;
| The requested content type (required for Index and Show actions). Fill this with either 'text/xml' or 'application/json'. See [[#Formats|Response Formats]]&lt;br /&gt;
| ''text/xml''&lt;br /&gt;
|-&lt;br /&gt;
| User-Agent&lt;br /&gt;
| An identifier you choose for your client software&lt;br /&gt;
| ''Rackspace Management Interface''&lt;br /&gt;
|-&lt;br /&gt;
| X-Api-Signature&lt;br /&gt;
| An authentication string explained in detail [[#X-Api-Signature_Header|here]]&lt;br /&gt;
| ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Form Data ====&lt;br /&gt;
&lt;br /&gt;
When using Add and Edit operations, the details of the resource are sent to the API server via HTTP form data. Your HTTP library should include methods for sending form data along with an HTTP request. The library should by default send the data in the HTTP request body using the 'application/x-www-form-urlencoded' data format.&lt;br /&gt;
&lt;br /&gt;
==== Index Filter/Search ====&lt;br /&gt;
&lt;br /&gt;
The results of Index actions can be filtered/searched. The index URLs can take either one of the query strings: &amp;quot;?startswith=xx&amp;quot; or &amp;quot;?contains=xx,&amp;quot; where &amp;quot;xx&amp;quot; is the key word. If the request specifies more than one of these two query strings, a 400 HTTP error will be returned. Different fields will be searched depending on the resource type, see below.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;quot;0-9&amp;quot; is a reserved key word for query string &amp;quot;startswith.&amp;quot; It represents any result starting with numbers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Index Actions''&lt;br /&gt;
!''Where the key word will be searched''&lt;br /&gt;
|-&lt;br /&gt;
| Customer&lt;br /&gt;
| Customer name, account number, reference number&lt;br /&gt;
|-&lt;br /&gt;
| Domain&lt;br /&gt;
| Domain name&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox&lt;br /&gt;
| Mailbox name, mailbox display name, custom ID field&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| Contact display name, external email&lt;br /&gt;
|-&lt;br /&gt;
| Group&lt;br /&gt;
| Group name, group display name&lt;br /&gt;
|-&lt;br /&gt;
| Mobile Service&lt;br /&gt;
| Associated mailbox name, mailbox display name&lt;br /&gt;
|-&lt;br /&gt;
| Lync Users&lt;br /&gt;
| Mailbox name (NOTE: Does not support the startsWith search parameter)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Throttling ====&lt;br /&gt;
&lt;br /&gt;
The server limits the number of requests allowed per user in a certain period of time.  The number of requests made are logged per minute. Calls that were made correctly with a user's API key, but not completed for any reason, including those exceeding the throttle limit, are included in this count.&lt;br /&gt;
&lt;br /&gt;
If a user is over the throttling limit then a 403 HTTP code will be returned with an &amp;quot;Exceeded request limits&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Operation Category''&lt;br /&gt;
!''Request Limit''&lt;br /&gt;
|-&lt;br /&gt;
| GET&lt;br /&gt;
| 120 per minute&lt;br /&gt;
|-&lt;br /&gt;
| PUT, POST, DELETE&lt;br /&gt;
| 90 per minute&lt;br /&gt;
|-&lt;br /&gt;
| POST, PUT, DELETE on a domain&lt;br /&gt;
| 2 per minute&lt;br /&gt;
|-&lt;br /&gt;
| POST, DELETE on alternate domains&lt;br /&gt;
| 2 per minute&lt;br /&gt;
|-&lt;br /&gt;
| Enabling public folders for a domain&lt;br /&gt;
| 1 per 5 minutes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Index of Exchange Mailboxes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    GET /v1/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100 HTTP/1.1&lt;br /&gt;
    Host: api.emailsrvr.com&lt;br /&gt;
    User-Agent: Rackspace Management Interface&lt;br /&gt;
    X-Api-Signature: eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=&lt;br /&gt;
    Accept: text/xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Adding New Exchange Mailbox:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    POST /v1/customers/12345678/domains/example.com/ex/mailboxes/john.smith HTTP/1.1&lt;br /&gt;
    Host: api.emailsrvr.com&lt;br /&gt;
    User-Agent: Rackspace Management Interface&lt;br /&gt;
    X-Api-Signature: eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=&lt;br /&gt;
    Content-Length: 53&lt;br /&gt;
        [Content length: 53]&lt;br /&gt;
    Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
 &lt;br /&gt;
Line-based text data: application/x-www-form-urlencoded&lt;br /&gt;
    size=2048&amp;amp;displayName=John%20Smith&amp;amp;password=abcABC123&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Responses ===&lt;br /&gt;
&lt;br /&gt;
==== HTTP Status Code ====&lt;br /&gt;
&lt;br /&gt;
On a successfully executed request, a 200 HTTP Code is returned. If the request was unsuccessful however, an HTTP error code in the 400s or 500s will be returned.&lt;br /&gt;
&lt;br /&gt;
==== HTTP Response Body ====&lt;br /&gt;
&lt;br /&gt;
If the request is an Index or Show request, the request data will be returned in the format specified in the HTTP Body.&lt;br /&gt;
&lt;br /&gt;
===== Formats =====&lt;br /&gt;
&lt;br /&gt;
Requests for data (index and show requests) are returned with XML or JSON data based on what your application populates the [[#HTTP_Headers|HTTP Accept headers]] with.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For XML, populate the header with 'text/xml' (ex: Headers![&amp;quot;Accept&amp;quot;] = &amp;quot;text/xml&amp;quot;). The XML document returned will conform to a published XSD (XML Schema Document). There are many ways to parse the data in an XML document, but we have found that the [http://www.w3schools.com/XPath/default.asp XPath] tree-style traversal has served our purposes. In any case, your application will likely need to use a class library for your chosen method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For JSON, populate the header with 'application/json' (ex: Headers![&amp;quot;Accept&amp;quot;] = &amp;quot;application/json&amp;quot;). As with XML, a library will likely be needed to parse the data.&lt;br /&gt;
&lt;br /&gt;
==== HTTP Headers ====&lt;br /&gt;
&lt;br /&gt;
The only data returned in the header is the error message (if any).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Header Name''&lt;br /&gt;
!''Description''&lt;br /&gt;
!''Example Header Value''&lt;br /&gt;
|-&lt;br /&gt;
| x-error-message&lt;br /&gt;
| The error message. See [[#Errors|Errors]].&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Errors ====&lt;br /&gt;
&lt;br /&gt;
See [[Errors]].&lt;br /&gt;
&lt;br /&gt;
==== Paging ====&lt;br /&gt;
&lt;br /&gt;
The results of Index actions are split into pages to lessen potentially high resource usage. The index URLs have a query string with parameters in the format &amp;quot;?size=xx&amp;amp;offset=xx.&amp;quot; If a query parameter is omitted, the default value is used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Query Parameter''&lt;br /&gt;
!''Default''&lt;br /&gt;
!''Maximum''&lt;br /&gt;
!''Notes''&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| 50&lt;br /&gt;
| 250&lt;br /&gt;
| This is the number of elements per page.&lt;br /&gt;
|-&lt;br /&gt;
| offset&lt;br /&gt;
| 0&lt;br /&gt;
| N/A&lt;br /&gt;
| This is the number of items to offset away from the first item in the list.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Example =====&lt;br /&gt;
&lt;br /&gt;
A PHP Example of paging can be found [[PHP_Examples_(Rest_API)| here]].&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Cache-Control: private&lt;br /&gt;
Content-Type: text/xml; charset=utf-8&lt;br /&gt;
Server: Microsoft-IIS/7.0&lt;br /&gt;
Date: Fri, 04 Dec 2009 19:08:11 GMT&lt;br /&gt;
Content-Length: 430&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;domainList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:domainList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;1&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;domains&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;customer.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;123456&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;rsemail&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
  &amp;lt;/domains&amp;gt;&lt;br /&gt;
&amp;lt;/domainList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 404 Not Found&lt;br /&gt;
Cache-Control: private&lt;br /&gt;
Server: Microsoft-IIS/7.0&lt;br /&gt;
x-error-message: Customer Not Found&lt;br /&gt;
Date: Fri, 04 Dec 2009 19:13:59 GMT&lt;br /&gt;
Content-Length: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 400 Bad Request&lt;br /&gt;
Cache-Control: private&lt;br /&gt;
Server: Microsoft-IIS/7.0&lt;br /&gt;
x-error-message: Missing required field: type&lt;br /&gt;
Date: Fri, 04 Dec 2009 19:17:29 GMT&lt;br /&gt;
Content-Length: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Ruby ===&lt;br /&gt;
&lt;br /&gt;
This examples is written in [http://www.ruby-lang.org/en/ Ruby]. To make the examples shorter, helper methods have been written. These methods are part of a NetMethods module. The contents of the NetMethods module is listed below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require  'server.rb'&lt;br /&gt;
&lt;br /&gt;
server = Server.new&lt;br /&gt;
&lt;br /&gt;
response = server.get  '/customers', server.xml_format&lt;br /&gt;
&lt;br /&gt;
#fields = Hash['serviceType' =&amp;gt;  'exchange', 'exchangeMaxNumMailboxes' =&amp;gt; '4']&lt;br /&gt;
#response =  server.post '/customers/me/domains/newdomain.com', fields&lt;br /&gt;
&lt;br /&gt;
puts response.code&lt;br /&gt;
puts response['x-error-message']&lt;br /&gt;
puts response.body&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'test/unit/assertions'&lt;br /&gt;
require 'net/http'&lt;br /&gt;
require 'date'&lt;br /&gt;
require 'date/format'&lt;br /&gt;
require 'digest/sha1'&lt;br /&gt;
require 'base64'&lt;br /&gt;
require 'time'&lt;br /&gt;
&lt;br /&gt;
class Server&lt;br /&gt;
  include Test::Unit::Assertions&lt;br /&gt;
  &lt;br /&gt;
  def initialize(server='api.emailsrvr.com', version_prefix='/v1', user_key='xxxxxxxxxxxxxxxxxxxx', secret_hash='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')&lt;br /&gt;
    @server = server&lt;br /&gt;
    @version_prefix = version_prefix&lt;br /&gt;
    @user_key = user_key&lt;br /&gt;
    @secret_hash = secret_hash&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
# Response Type Enums&lt;br /&gt;
&lt;br /&gt;
  def xml_format&lt;br /&gt;
    'text/xml'&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def json_format&lt;br /&gt;
    'application/json'&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# HTTP Request Verbs&lt;br /&gt;
#  &lt;br /&gt;
  def get(url_string, format)&lt;br /&gt;
    uri = full_uri(url_string)&lt;br /&gt;
    headers = prepared_headers&lt;br /&gt;
    headers['Accept'] = format&lt;br /&gt;
    request = Net::HTTP::Get.new(request_uri(uri), headers)&lt;br /&gt;
    http_response = make_request request, uri&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def delete(url_string)&lt;br /&gt;
    uri = full_uri(url_string)&lt;br /&gt;
    request = Net::HTTP::Delete.new(request_uri(uri), prepared_headers)&lt;br /&gt;
    http_response = make_request request, uri&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def put(url_string, fields_hash)&lt;br /&gt;
    uri = full_uri(url_string)&lt;br /&gt;
    request = Net::HTTP::Put.new(request_uri(uri), prepared_headers)&lt;br /&gt;
    request.set_form_data(fields_hash)&lt;br /&gt;
    http_response = make_request request, uri&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def post(url_string, fields_hash)&lt;br /&gt;
    uri = full_uri(url_string)&lt;br /&gt;
    request = Net::HTTP::Post.new(request_uri(uri), prepared_headers)&lt;br /&gt;
    request.set_form_data(fields_hash)&lt;br /&gt;
    http_response = make_request request, uri&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
#&lt;br /&gt;
# HTTP Request Helpers&lt;br /&gt;
# &lt;br /&gt;
  def make_request request, uri&lt;br /&gt;
    response = Net::HTTP::start(uri.host, uri.port)  do |http|&lt;br /&gt;
      http.request request&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    response&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def full_uri url_string&lt;br /&gt;
    URI.parse('http://' + @server + @version_prefix + url_string)&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def request_uri uri&lt;br /&gt;
    request = uri.path&lt;br /&gt;
    if ! uri.query.nil?&lt;br /&gt;
      request = request + '?' + uri.query&lt;br /&gt;
    end&lt;br /&gt;
    request&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def prepared_headers&lt;br /&gt;
    headers = Hash.new&lt;br /&gt;
    headers.merge! headers_auth_creds(@user_key, @secret_hash)&lt;br /&gt;
    headers['Accept'] = xml_format&lt;br /&gt;
    headers&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def headers_auth_creds apiKey, secretKey&lt;br /&gt;
    userAgent = 'Ruby Test Client'&lt;br /&gt;
    timestamp = DateTime.now.strftime('%Y%m%d%H%M%S')&lt;br /&gt;
    &lt;br /&gt;
    data_to_sign = apiKey + userAgent + timestamp + secretKey&lt;br /&gt;
    &lt;br /&gt;
    hash = Base64.encode64(Digest::SHA1.digest(data_to_sign))&lt;br /&gt;
    signature = apiKey + &amp;quot;:&amp;quot; + timestamp + &amp;quot;:&amp;quot; + hash&lt;br /&gt;
    &lt;br /&gt;
    headers = Hash['User-Agent' =&amp;gt; userAgent, 'X-Api-Signature' =&amp;gt; signature]&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== C# ===&lt;br /&gt;
&lt;br /&gt;
This examples is written in [http://msdn.microsoft.com/en-us/vcsharp/default.aspx C#].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Text;&lt;br /&gt;
&lt;br /&gt;
namespace RestApiClient&lt;br /&gt;
{&lt;br /&gt;
    public class RestApiClient&lt;br /&gt;
    {&lt;br /&gt;
        private HttpWebRequest request;&lt;br /&gt;
        private HttpWebResponse response;&lt;br /&gt;
        private string baseUrl;&lt;br /&gt;
        private string apiKey;&lt;br /&gt;
        private string secretKey;&lt;br /&gt;
&lt;br /&gt;
        public RestApiClient(string baseUrl, string apiKey, string secretKey)&lt;br /&gt;
        {&lt;br /&gt;
            this.baseUrl = baseUrl;&lt;br /&gt;
            this.apiKey = apiKey;&lt;br /&gt;
            this.secretKey = secretKey;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public HttpWebResponse Get(string url, string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request = (System.Net.HttpWebRequest)HttpWebRequest.Create(this.baseUrl + url);&lt;br /&gt;
            request.Method = &amp;quot;GET&amp;quot;;&lt;br /&gt;
            SignMessage();&lt;br /&gt;
            AssignFormat(format);&lt;br /&gt;
            return GetResponseContent();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public HttpWebResponse Post(string url, string data, string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request = (System.Net.HttpWebRequest)HttpWebRequest.Create(this.baseUrl + url);&lt;br /&gt;
            request.Method = &amp;quot;POST&amp;quot;;&lt;br /&gt;
            SignMessage();&lt;br /&gt;
            AssignFormat(format);&lt;br /&gt;
            SendFormData(data);&lt;br /&gt;
            return GetResponseContent();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public HttpWebResponse Put(string url, string data, string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request = (System.Net.HttpWebRequest)HttpWebRequest.Create(this.baseUrl + url);&lt;br /&gt;
            request.Method = &amp;quot;PUT&amp;quot;;&lt;br /&gt;
            SignMessage();&lt;br /&gt;
            AssignFormat(format);&lt;br /&gt;
            SendFormData(data);&lt;br /&gt;
            return GetResponseContent();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public HttpWebResponse Delete(string url, string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request = (System.Net.HttpWebRequest)HttpWebRequest.Create(this.baseUrl + url);&lt;br /&gt;
            request.Method = &amp;quot;DELETE&amp;quot;;&lt;br /&gt;
            SignMessage();&lt;br /&gt;
            AssignFormat(format);&lt;br /&gt;
            return GetResponseContent();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private void SendFormData(string data)&lt;br /&gt;
        {&lt;br /&gt;
            UTF8Encoding encoding = new UTF8Encoding();&lt;br /&gt;
            byte[] byteData = encoding.GetBytes(data);&lt;br /&gt;
            this.request.ContentType = &amp;quot;application/x-www-form-urlencoded&amp;quot;;&lt;br /&gt;
            request.ContentLength = byteData.Length;&lt;br /&gt;
            Stream requestStream = request.GetRequestStream();&lt;br /&gt;
            requestStream.Write(byteData, 0, byteData.Length);&lt;br /&gt;
            requestStream.Close();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private HttpWebResponse GetResponseContent()&lt;br /&gt;
        {&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                return (HttpWebResponse)request.GetResponse();&lt;br /&gt;
            }&lt;br /&gt;
            catch (WebException e)&lt;br /&gt;
            {&lt;br /&gt;
                return (HttpWebResponse)e.Response;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private void SignMessage()&lt;br /&gt;
        {&lt;br /&gt;
            var userAgent = &amp;quot;C# Client Library&amp;quot;;&lt;br /&gt;
            this.request.UserAgent = userAgent;&lt;br /&gt;
            var dateTime = DateTime.UtcNow.ToString(&amp;quot;yyyyMMddHHmmss&amp;quot;);&lt;br /&gt;
            var dataToSign = apiKey + userAgent + dateTime + secretKey;&lt;br /&gt;
            var hash = SHA1.Create();&lt;br /&gt;
            var signedBytes = hash.ComputeHash(Encoding.UTF8.GetBytes(dataToSign));&lt;br /&gt;
            var signature = Convert.ToBase64String(signedBytes);&lt;br /&gt;
&lt;br /&gt;
            request.Headers[&amp;quot;X-Api-Signature&amp;quot;] = apiKey + &amp;quot;:&amp;quot; + dateTime + &amp;quot;:&amp;quot; + signature;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private void AssignFormat(string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request.Accept = format;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&lt;br /&gt;
The PHP Example can be found [[PHP_Examples_(Rest_API)| here]].&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Main_Page&amp;diff=783</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Main_Page&amp;diff=783"/>
				<updated>2020-12-02T23:21:00Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Add Domain Webmail Settings Section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Rackspace Email Rest API provides most of the functions of the Control Panel through a REST-based [http://en.wikipedia.org/wiki/Web_service web API]. Whether it is adding a new customer account, adding mailboxes, or any other of the supported features the API allows your application to administer the changes regardless of your application's language or nature. For more information on RESTful web services refer to the following sites:&lt;br /&gt;
&lt;br /&gt;
[http://www.peej.co.uk/articles/restfully-delicious.html Paul James's Homepage: A RESTful Web service, an example]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Representational_State_Transfer#External_links Wikipedia: Representational State Transfer - External Links]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The API is accessible to all with access to Control Panel, including resellers, business customers, enterprise customers, and indirect customers. However, not all operations are available to non-resellers. See the [[Rest_API#Operations|Operations]] section for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Rackspace Email Soap API Homepage has been moved to [[Soap_API| here]].&lt;br /&gt;
&lt;br /&gt;
== Operations ==&lt;br /&gt;
&lt;br /&gt;
The following pages detail the operations that the API supports. The operations are grouped into sections based on the entity/object types that each operation interacts with. Non-resellers do not have access to all functions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Resource&lt;br /&gt;
!Example URI&lt;br /&gt;
!Business User Access&lt;br /&gt;
|-&lt;br /&gt;
| [[Customer_(Rest_API)| Customer]]&lt;br /&gt;
| /customers/123456789&lt;br /&gt;
| [[Customer_(Rest_API)#Create_Login_Tokens | Create Login Tokens]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Admin_(Rest_API)| Admin]]&lt;br /&gt;
| /customers/123456789/admins/my_admin&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_(Rest_API)| Domain]]&lt;br /&gt;
| /customers/123456789/domains/example.com&lt;br /&gt;
| [[Domain_(Rest_API)#Index| Index]], [[Domain_(Rest_API)#Show| Show]], [[Domain_(Rest_API)#Split Domain Routing| Split Domain Routing]], [[Domain_(Rest_API)#Archiving SSO Login URL| Archiving SSO Login URL]], [[Domain_(Rest_API)#Domain_Public_Folders_.28Reseller_Only.29|Domain Public Folders]], [[Domain_(Rest_API)#Domain Email Everyone| Email Everyone ]], [[Domain_(Rest_API)#Show_Domain_Catch-All_Address | Catch-All Address]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_Spam_(Rest_API)| Domain Spam Settings]]&lt;br /&gt;
| /customers/123456789/domains/example.com/spam/settings&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_Webmail_Settings_(Rest_API)| Domain Webmail Settings]]&lt;br /&gt;
| /customers/123456789/domains/example.com/spam/settings&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Rackspace_Mailbox_(Rest_API)|  Rackspace Email Mailbox]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/rs/mailboxes/john.smith&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Rackspace_Mailbox_Spam_(Rest_API)| Rackspace Email Mailbox Spam Settings]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/rs/mailboxes/john.smith/spam&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Rackspace_Storage_Notification_(Rest_API)| Rackspace Storage Notification Settings]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/rs/storageNotification&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Rackspace_Alias(Rest_API)|  Rackspace Email Alias]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/rs/mailboxes/john.smith/alias&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Mailbox_(Rest_API)| Exchange Mailbox]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Mailbox_Spam_(Rest_API)| Exchange Mailbox Spam Settings]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/mailboxes/john.smith/spam&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Contact_(Rest_API)| Exchange Contact]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/contacts/john.smith&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Distribution_List_(Rest_API)| Exchange Distribution List]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/distributionlists/group.name&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Resource_Mailbox_(Rest_API)| Exchange Resource Mailbox]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/resources/conference.room&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Skype_For_Business_(Rest_API)| Exchange Skype For Business]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/lync/users&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[Exchange_Public_Folders_(Rest_API)| Exchange Public Folders]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/publicFolders&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| [[SharePoint_(Rest_API)| SharePoint]]&lt;br /&gt;
| /customers/123456789/sharepoint/settings&lt;br /&gt;
| [[SharePoint_(Rest_API)#Show | Show]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The examples shown in the operation pages are written in Ruby and extensively use the helper functions shown in the Ruby Examples below.&lt;br /&gt;
&lt;br /&gt;
== Quick Start ==&lt;br /&gt;
&lt;br /&gt;
'''What you need:'''&lt;br /&gt;
* A Rackspace Email and Apps Control Panel admin account&lt;br /&gt;
* A HTTP class library that supports TLS 1.2 or greater, and the HTTP methods: GET, POST, PUT, DELETE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Making your first API call, an Show Customer request:'''&lt;br /&gt;
# Obtain your API keys&lt;br /&gt;
#:* Login to [https://cp.rackspace.com Control Panel]&lt;br /&gt;
#:* Click the drop down in the top right next to your admin id/account number.&lt;br /&gt;
#:* Click Admins &amp;amp; Contacts&lt;br /&gt;
#:* Click API Keys&lt;br /&gt;
# Set up your client's HTTP request&lt;br /&gt;
#:* Set up your client to make calls to a URL beginning with &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
#:* Populate the Accept, User-Agent and X-Api-Signature HTTP request headers correctly. This is explained in detail [[#HTTP Headers|here]].&lt;br /&gt;
# Make a GET request to /customers/me.&lt;br /&gt;
#:* The complete URI will be &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/customers/me/domains&amp;lt;/nowiki&amp;gt;. Use your HTTP library to retrieve the HTTP response code, 'x-error-message' HTTP response header and HTTP response body so that they may be displayed to help debug and determine success.&lt;br /&gt;
'''From here:'''&lt;br /&gt;
* Learn about the operations you'll be implementing at the subpages [[#Operations|here]].&lt;br /&gt;
&lt;br /&gt;
== Accessing the API ==&lt;br /&gt;
&lt;br /&gt;
Your application should need to make HTTP requests over TLS 1.2 or greater (HTTPS) to our API servers. Most programming languages have this functionality built into their core libraries. In addition to the common GET and POST HTTP methods, the library used will also need to support PUT and DELETE.&lt;br /&gt;
&lt;br /&gt;
For some language's libraries, simply using an URL that starts with https:// will cause the library to use TLS. In some other libraries however some options specific to the library may have to be configured to utilize TLS. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All API calls should be directed to a URL in the following format:&lt;br /&gt;
&amp;lt;pre&amp;gt;https://api.emailsrvr.com/(version)/(resource)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;https://api.emailsrvr.com/v1/customers/12345678/domains/customerbusiness.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Versions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Supported Versions''&lt;br /&gt;
!''URL''&lt;br /&gt;
!''Version Documentation''&lt;br /&gt;
|-&lt;br /&gt;
| v1 (current)&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v1/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| http://api-wiki.apps.rackspace.com/api-wiki/index.php/Main_Page&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The API version number is a component of the URL that is used to access the API. For example, to access the root of the API, the URL is https://api.emailsrvr.com/v1/. Bug fixes and minor non-breaking changes will be made without changing the version number. When major features or breaking changes are introduced, the version number will be incremented. It is not yet determined how many versions are going to be supported at any one time.&lt;br /&gt;
&lt;br /&gt;
'''Using the discontinued v0 API?'''&lt;br /&gt;
&lt;br /&gt;
* If your client consumes v0 of the Admin REST API for Exchange Distribution Lists or Exchange Resource Mailboxes routes, the client must be updated to consume the new behavior in v1.&lt;br /&gt;
* If your client does not consume the v0 Admin REST API for Exchange Distribution Lists and Exchange Resource Mailboxes, you simply need to update the base URL (i.e. https://api.emailsrvr.com/v0/…) from v0 to v1. There were no changes to the behavior of the other entities in the API, only their location changed. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Non-breaking Changes''&lt;br /&gt;
!''Breaking Changes''&lt;br /&gt;
|-&lt;br /&gt;
| Adding new fields or attributes to form fields sent&lt;br /&gt;
| Changing or deleting any fields in form fields sent&lt;br /&gt;
|-&lt;br /&gt;
| Adding fields in returned data&lt;br /&gt;
| Changing or removing fields in returned data&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Changing the URI of any resource&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authentication ===&lt;br /&gt;
&lt;br /&gt;
To gain access to the API, your request must include a properly constructed X-Api-Signature HTTP header. Details on what to put in the header are below. To construct the header, you must have the following keys that are generated from the [https://cp.rackspace.com/MyAccount/Administrators/ApiKeys API Keys] page.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Key Name&lt;br /&gt;
!Description&lt;br /&gt;
!Example&lt;br /&gt;
|-&lt;br /&gt;
| User Key&lt;br /&gt;
| A public key that corresponds to your admin id&lt;br /&gt;
| ''eGbq9/2hcZsRlr1JV1Pi''&lt;br /&gt;
|-&lt;br /&gt;
| Secret Key&lt;br /&gt;
| A shared secret key&lt;br /&gt;
| ''QHOvchm/40czXhJ1OxfxK7jDHr3t''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An unsuccessful authentication will result in a 403 HTTP code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== X-Api-Signature Header ====&lt;br /&gt;
&lt;br /&gt;
Format is as follows:&lt;br /&gt;
&amp;lt;'''User Key'''&amp;gt;:&amp;lt;'''Timestamp'''&amp;gt;:&amp;lt;'''SHA1 Hash'''&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:46VIwd66mOFGG8IkbgnLlXnfnkU=''&lt;br /&gt;
&lt;br /&gt;
Remember to include the colons between the data strings!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''User Key''':&amp;lt;br&amp;gt;&lt;br /&gt;
This is the public key issued by the Control Panel browser interface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Timestamp''':&amp;lt;br&amp;gt;&lt;br /&gt;
The format is YYYYMMDDHHmmss. All values besides year are zero-padded to two spaces. For example, March 08th 2001 at 2:37.25pm would be ''20010308143725''.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|YYYY&lt;br /&gt;
|Four-digit year&lt;br /&gt;
|-&lt;br /&gt;
| MM&lt;br /&gt;
| Month&lt;br /&gt;
|-&lt;br /&gt;
| DD&lt;br /&gt;
| Day&lt;br /&gt;
|-&lt;br /&gt;
| HH&lt;br /&gt;
| Hour in 24h format&lt;br /&gt;
|-&lt;br /&gt;
| mm&lt;br /&gt;
| Minute&lt;br /&gt;
|-&lt;br /&gt;
| ss&lt;br /&gt;
| Second&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SHA1 Hash''':&lt;br /&gt;
&lt;br /&gt;
A SHA1 (Secure Hash Algorithm) hash must be applied to a string with the following information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;'''User Key'''&amp;gt;&amp;lt;'''User Agent'''&amp;gt;&amp;lt;'''Timestamp'''&amp;gt;&amp;lt;'''Secret Key'''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the 'User Agent' must be the exact same as what is specified in the User-Agent HTTP header. Using the above example data, the string before hashing is:&amp;lt;br&amp;gt;''eGbq9/2hcZsRlr1JV1PiRackspace Management Interface20010308143725QHOvchm/40czXhJ1OxfxK7jDHr3t''&lt;br /&gt;
&lt;br /&gt;
Resulting base-64 SHA1 Hash:&amp;lt;br&amp;gt;''46VIwd66mOFGG8IkbgnLlXnfnkU=''&lt;br /&gt;
&lt;br /&gt;
Be sure to encode the binary hash, not the hex hash, into base-64. The resulting string should be 28 characters long.&lt;br /&gt;
&lt;br /&gt;
== Using the API ==&lt;br /&gt;
&lt;br /&gt;
=== Requests ===&lt;br /&gt;
&lt;br /&gt;
HTTP requests should be sent to the server with the correct URL, HTTP method, HTTP headers and form data (if needed). The URL specifies the resource, the HTTP method specifies what operation is done on the resource, and form data is used to specify the details of the resource when the resource is added or edited.&lt;br /&gt;
&lt;br /&gt;
The URLs, corresponding HTTP methods, and necessary form data for the desired operations are detailed in the [[#Operations|operation pages]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you're getting the HTTP status code 417 see [[Handling HTTP code 417:  Expectation failed]]&lt;br /&gt;
&lt;br /&gt;
==== URL ====&lt;br /&gt;
&lt;br /&gt;
The URLs are specifies the resource or resource collection. Objects are organized in a tree collection, starting with customers at the top, then domains, then domain objects next (such as mailboxes, contacts, and distribution lists) and so on. The URLs of the resources and collections accessible are found on the operation pages.&lt;br /&gt;
&lt;br /&gt;
==== HTTP Method ====&lt;br /&gt;
&lt;br /&gt;
It is the HTTP method that specifies what operation will be done on the resource. For example, to get the details of a mailbox a HTTP GET will be done on /customers/12345678/domains/example.com/ex/mailboxes/john.smith. If the mailbox does not exist, a HTTP POST to the same URL with the necessary form data will add the mailbox. Then, a HTTP PUT to the same URL will edit mailbox. And to delete the mailbox, an HTTP DELETE would be used.&lt;br /&gt;
&lt;br /&gt;
The types of operations a certain method performs is outlined below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''HTTP Method''&lt;br /&gt;
!''Operations''&lt;br /&gt;
!''Response''&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2|GET&lt;br /&gt;
|Index - returns a list of the resources&lt;br /&gt;
|rowspan=2|XML or JSON formatted data&lt;br /&gt;
|-&lt;br /&gt;
|Show - returns the details of the resource&lt;br /&gt;
|-&lt;br /&gt;
|POST&lt;br /&gt;
|Add - adds a new resource&lt;br /&gt;
|rowspan=3|Response code and error message (if applicable) only&lt;br /&gt;
|-&lt;br /&gt;
|PUT&lt;br /&gt;
|Edit - changes the details of the resource&lt;br /&gt;
|-&lt;br /&gt;
|DELETE&lt;br /&gt;
|Delete - deletes the resource&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== HTTP Headers ====&lt;br /&gt;
&lt;br /&gt;
All requests to the API must then include HTTP headers with the following information:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Header Name''&lt;br /&gt;
!''Description''&lt;br /&gt;
!''Example Header Value''&lt;br /&gt;
|-&lt;br /&gt;
| Accept&lt;br /&gt;
| The requested content type (required for Index and Show actions). Fill this with either 'text/xml' or 'application/json'. See [[#Formats|Response Formats]]&lt;br /&gt;
| ''text/xml''&lt;br /&gt;
|-&lt;br /&gt;
| User-Agent&lt;br /&gt;
| An identifier you choose for your client software&lt;br /&gt;
| ''Rackspace Management Interface''&lt;br /&gt;
|-&lt;br /&gt;
| X-Api-Signature&lt;br /&gt;
| An authentication string explained in detail [[#X-Api-Signature_Header|here]]&lt;br /&gt;
| ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Form Data ====&lt;br /&gt;
&lt;br /&gt;
When using Add and Edit operations, the details of the resource are sent to the API server via HTTP form data. Your HTTP library should include methods for sending form data along with an HTTP request. The library should by default send the data in the HTTP request body using the 'application/x-www-form-urlencoded' data format.&lt;br /&gt;
&lt;br /&gt;
==== Index Filter/Search ====&lt;br /&gt;
&lt;br /&gt;
The results of Index actions can be filtered/searched. The index URLs can take either one of the query strings: &amp;quot;?startswith=xx&amp;quot; or &amp;quot;?contains=xx,&amp;quot; where &amp;quot;xx&amp;quot; is the key word. If the request specifies more than one of these two query strings, a 400 HTTP error will be returned. Different fields will be searched depending on the resource type, see below.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;quot;0-9&amp;quot; is a reserved key word for query string &amp;quot;startswith.&amp;quot; It represents any result starting with numbers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Index Actions''&lt;br /&gt;
!''Where the key word will be searched''&lt;br /&gt;
|-&lt;br /&gt;
| Customer&lt;br /&gt;
| Customer name, account number, reference number&lt;br /&gt;
|-&lt;br /&gt;
| Domain&lt;br /&gt;
| Domain name&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox&lt;br /&gt;
| Mailbox name, mailbox display name, custom ID field&lt;br /&gt;
|-&lt;br /&gt;
| Contact&lt;br /&gt;
| Contact display name, external email&lt;br /&gt;
|-&lt;br /&gt;
| Group&lt;br /&gt;
| Group name, group display name&lt;br /&gt;
|-&lt;br /&gt;
| Mobile Service&lt;br /&gt;
| Associated mailbox name, mailbox display name&lt;br /&gt;
|-&lt;br /&gt;
| Lync Users&lt;br /&gt;
| Mailbox name (NOTE: Does not support the startsWith search parameter)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Throttling ====&lt;br /&gt;
&lt;br /&gt;
The server limits the number of requests allowed per user in a certain period of time.  The number of requests made are logged per minute. Calls that were made correctly with a user's API key, but not completed for any reason, including those exceeding the throttle limit, are included in this count.&lt;br /&gt;
&lt;br /&gt;
If a user is over the throttling limit then a 403 HTTP code will be returned with an &amp;quot;Exceeded request limits&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Operation Category''&lt;br /&gt;
!''Request Limit''&lt;br /&gt;
|-&lt;br /&gt;
| GET&lt;br /&gt;
| 120 per minute&lt;br /&gt;
|-&lt;br /&gt;
| PUT, POST, DELETE&lt;br /&gt;
| 90 per minute&lt;br /&gt;
|-&lt;br /&gt;
| POST, PUT, DELETE on a domain&lt;br /&gt;
| 2 per minute&lt;br /&gt;
|-&lt;br /&gt;
| POST, DELETE on alternate domains&lt;br /&gt;
| 2 per minute&lt;br /&gt;
|-&lt;br /&gt;
| Enabling public folders for a domain&lt;br /&gt;
| 1 per 5 minutes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Index of Exchange Mailboxes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    GET /v1/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100 HTTP/1.1&lt;br /&gt;
    Host: api.emailsrvr.com&lt;br /&gt;
    User-Agent: Rackspace Management Interface&lt;br /&gt;
    X-Api-Signature: eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=&lt;br /&gt;
    Accept: text/xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Adding New Exchange Mailbox:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    POST /v1/customers/12345678/domains/example.com/ex/mailboxes/john.smith HTTP/1.1&lt;br /&gt;
    Host: api.emailsrvr.com&lt;br /&gt;
    User-Agent: Rackspace Management Interface&lt;br /&gt;
    X-Api-Signature: eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=&lt;br /&gt;
    Content-Length: 53&lt;br /&gt;
        [Content length: 53]&lt;br /&gt;
    Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
 &lt;br /&gt;
Line-based text data: application/x-www-form-urlencoded&lt;br /&gt;
    size=2048&amp;amp;displayName=John%20Smith&amp;amp;password=abcABC123&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Responses ===&lt;br /&gt;
&lt;br /&gt;
==== HTTP Status Code ====&lt;br /&gt;
&lt;br /&gt;
On a successfully executed request, a 200 HTTP Code is returned. If the request was unsuccessful however, an HTTP error code in the 400s or 500s will be returned.&lt;br /&gt;
&lt;br /&gt;
==== HTTP Response Body ====&lt;br /&gt;
&lt;br /&gt;
If the request is an Index or Show request, the request data will be returned in the format specified in the HTTP Body.&lt;br /&gt;
&lt;br /&gt;
===== Formats =====&lt;br /&gt;
&lt;br /&gt;
Requests for data (index and show requests) are returned with XML or JSON data based on what your application populates the [[#HTTP_Headers|HTTP Accept headers]] with.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For XML, populate the header with 'text/xml' (ex: Headers![&amp;quot;Accept&amp;quot;] = &amp;quot;text/xml&amp;quot;). The XML document returned will conform to a published XSD (XML Schema Document). There are many ways to parse the data in an XML document, but we have found that the [http://www.w3schools.com/XPath/default.asp XPath] tree-style traversal has served our purposes. In any case, your application will likely need to use a class library for your chosen method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For JSON, populate the header with 'application/json' (ex: Headers![&amp;quot;Accept&amp;quot;] = &amp;quot;application/json&amp;quot;). As with XML, a library will likely be needed to parse the data.&lt;br /&gt;
&lt;br /&gt;
==== HTTP Headers ====&lt;br /&gt;
&lt;br /&gt;
The only data returned in the header is the error message (if any).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Header Name''&lt;br /&gt;
!''Description''&lt;br /&gt;
!''Example Header Value''&lt;br /&gt;
|-&lt;br /&gt;
| x-error-message&lt;br /&gt;
| The error message. See [[#Errors|Errors]].&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Errors ====&lt;br /&gt;
&lt;br /&gt;
See [[Errors]].&lt;br /&gt;
&lt;br /&gt;
==== Paging ====&lt;br /&gt;
&lt;br /&gt;
The results of Index actions are split into pages to lessen potentially high resource usage. The index URLs have a query string with parameters in the format &amp;quot;?size=xx&amp;amp;offset=xx.&amp;quot; If a query parameter is omitted, the default value is used.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Query Parameter''&lt;br /&gt;
!''Default''&lt;br /&gt;
!''Maximum''&lt;br /&gt;
!''Notes''&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| 50&lt;br /&gt;
| 250&lt;br /&gt;
| This is the number of elements per page.&lt;br /&gt;
|-&lt;br /&gt;
| offset&lt;br /&gt;
| 0&lt;br /&gt;
| N/A&lt;br /&gt;
| This is the number of items to offset away from the first item in the list.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Example =====&lt;br /&gt;
&lt;br /&gt;
A PHP Example of paging can be found [[PHP_Examples_(Rest_API)| here]].&lt;br /&gt;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Cache-Control: private&lt;br /&gt;
Content-Type: text/xml; charset=utf-8&lt;br /&gt;
Server: Microsoft-IIS/7.0&lt;br /&gt;
Date: Fri, 04 Dec 2009 19:08:11 GMT&lt;br /&gt;
Content-Length: 430&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;domainList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:domainList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;0&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;50&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;total&amp;gt;1&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;domains&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;customer.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;123456&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;rsemail&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
  &amp;lt;/domains&amp;gt;&lt;br /&gt;
&amp;lt;/domainList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 404 Not Found&lt;br /&gt;
Cache-Control: private&lt;br /&gt;
Server: Microsoft-IIS/7.0&lt;br /&gt;
x-error-message: Customer Not Found&lt;br /&gt;
Date: Fri, 04 Dec 2009 19:13:59 GMT&lt;br /&gt;
Content-Length: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 400 Bad Request&lt;br /&gt;
Cache-Control: private&lt;br /&gt;
Server: Microsoft-IIS/7.0&lt;br /&gt;
x-error-message: Missing required field: type&lt;br /&gt;
Date: Fri, 04 Dec 2009 19:17:29 GMT&lt;br /&gt;
Content-Length: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Ruby ===&lt;br /&gt;
&lt;br /&gt;
This examples is written in [http://www.ruby-lang.org/en/ Ruby]. To make the examples shorter, helper methods have been written. These methods are part of a NetMethods module. The contents of the NetMethods module is listed below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require  'server.rb'&lt;br /&gt;
&lt;br /&gt;
server = Server.new&lt;br /&gt;
&lt;br /&gt;
response = server.get  '/customers', server.xml_format&lt;br /&gt;
&lt;br /&gt;
#fields = Hash['serviceType' =&amp;gt;  'exchange', 'exchangeMaxNumMailboxes' =&amp;gt; '4']&lt;br /&gt;
#response =  server.post '/customers/me/domains/newdomain.com', fields&lt;br /&gt;
&lt;br /&gt;
puts response.code&lt;br /&gt;
puts response['x-error-message']&lt;br /&gt;
puts response.body&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require 'test/unit/assertions'&lt;br /&gt;
require 'net/http'&lt;br /&gt;
require 'date'&lt;br /&gt;
require 'date/format'&lt;br /&gt;
require 'digest/sha1'&lt;br /&gt;
require 'base64'&lt;br /&gt;
require 'time'&lt;br /&gt;
&lt;br /&gt;
class Server&lt;br /&gt;
  include Test::Unit::Assertions&lt;br /&gt;
  &lt;br /&gt;
  def initialize(server='api.emailsrvr.com', version_prefix='/v1', user_key='xxxxxxxxxxxxxxxxxxxx', secret_hash='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')&lt;br /&gt;
    @server = server&lt;br /&gt;
    @version_prefix = version_prefix&lt;br /&gt;
    @user_key = user_key&lt;br /&gt;
    @secret_hash = secret_hash&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
# Response Type Enums&lt;br /&gt;
&lt;br /&gt;
  def xml_format&lt;br /&gt;
    'text/xml'&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def json_format&lt;br /&gt;
    'application/json'&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# HTTP Request Verbs&lt;br /&gt;
#  &lt;br /&gt;
  def get(url_string, format)&lt;br /&gt;
    uri = full_uri(url_string)&lt;br /&gt;
    headers = prepared_headers&lt;br /&gt;
    headers['Accept'] = format&lt;br /&gt;
    request = Net::HTTP::Get.new(request_uri(uri), headers)&lt;br /&gt;
    http_response = make_request request, uri&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def delete(url_string)&lt;br /&gt;
    uri = full_uri(url_string)&lt;br /&gt;
    request = Net::HTTP::Delete.new(request_uri(uri), prepared_headers)&lt;br /&gt;
    http_response = make_request request, uri&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def put(url_string, fields_hash)&lt;br /&gt;
    uri = full_uri(url_string)&lt;br /&gt;
    request = Net::HTTP::Put.new(request_uri(uri), prepared_headers)&lt;br /&gt;
    request.set_form_data(fields_hash)&lt;br /&gt;
    http_response = make_request request, uri&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def post(url_string, fields_hash)&lt;br /&gt;
    uri = full_uri(url_string)&lt;br /&gt;
    request = Net::HTTP::Post.new(request_uri(uri), prepared_headers)&lt;br /&gt;
    request.set_form_data(fields_hash)&lt;br /&gt;
    http_response = make_request request, uri&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
#&lt;br /&gt;
# HTTP Request Helpers&lt;br /&gt;
# &lt;br /&gt;
  def make_request request, uri&lt;br /&gt;
    response = Net::HTTP::start(uri.host, uri.port)  do |http|&lt;br /&gt;
      http.request request&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    response&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def full_uri url_string&lt;br /&gt;
    URI.parse('http://' + @server + @version_prefix + url_string)&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def request_uri uri&lt;br /&gt;
    request = uri.path&lt;br /&gt;
    if ! uri.query.nil?&lt;br /&gt;
      request = request + '?' + uri.query&lt;br /&gt;
    end&lt;br /&gt;
    request&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def prepared_headers&lt;br /&gt;
    headers = Hash.new&lt;br /&gt;
    headers.merge! headers_auth_creds(@user_key, @secret_hash)&lt;br /&gt;
    headers['Accept'] = xml_format&lt;br /&gt;
    headers&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  def headers_auth_creds apiKey, secretKey&lt;br /&gt;
    userAgent = 'Ruby Test Client'&lt;br /&gt;
    timestamp = DateTime.now.strftime('%Y%m%d%H%M%S')&lt;br /&gt;
    &lt;br /&gt;
    data_to_sign = apiKey + userAgent + timestamp + secretKey&lt;br /&gt;
    &lt;br /&gt;
    hash = Base64.encode64(Digest::SHA1.digest(data_to_sign))&lt;br /&gt;
    signature = apiKey + &amp;quot;:&amp;quot; + timestamp + &amp;quot;:&amp;quot; + hash&lt;br /&gt;
    &lt;br /&gt;
    headers = Hash['User-Agent' =&amp;gt; userAgent, 'X-Api-Signature' =&amp;gt; signature]&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== C# ===&lt;br /&gt;
&lt;br /&gt;
This examples is written in [http://msdn.microsoft.com/en-us/vcsharp/default.aspx C#].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Text;&lt;br /&gt;
&lt;br /&gt;
namespace RestApiClient&lt;br /&gt;
{&lt;br /&gt;
    public class RestApiClient&lt;br /&gt;
    {&lt;br /&gt;
        private HttpWebRequest request;&lt;br /&gt;
        private HttpWebResponse response;&lt;br /&gt;
        private string baseUrl;&lt;br /&gt;
        private string apiKey;&lt;br /&gt;
        private string secretKey;&lt;br /&gt;
&lt;br /&gt;
        public RestApiClient(string baseUrl, string apiKey, string secretKey)&lt;br /&gt;
        {&lt;br /&gt;
            this.baseUrl = baseUrl;&lt;br /&gt;
            this.apiKey = apiKey;&lt;br /&gt;
            this.secretKey = secretKey;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public HttpWebResponse Get(string url, string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request = (System.Net.HttpWebRequest)HttpWebRequest.Create(this.baseUrl + url);&lt;br /&gt;
            request.Method = &amp;quot;GET&amp;quot;;&lt;br /&gt;
            SignMessage();&lt;br /&gt;
            AssignFormat(format);&lt;br /&gt;
            return GetResponseContent();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public HttpWebResponse Post(string url, string data, string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request = (System.Net.HttpWebRequest)HttpWebRequest.Create(this.baseUrl + url);&lt;br /&gt;
            request.Method = &amp;quot;POST&amp;quot;;&lt;br /&gt;
            SignMessage();&lt;br /&gt;
            AssignFormat(format);&lt;br /&gt;
            SendFormData(data);&lt;br /&gt;
            return GetResponseContent();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public HttpWebResponse Put(string url, string data, string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request = (System.Net.HttpWebRequest)HttpWebRequest.Create(this.baseUrl + url);&lt;br /&gt;
            request.Method = &amp;quot;PUT&amp;quot;;&lt;br /&gt;
            SignMessage();&lt;br /&gt;
            AssignFormat(format);&lt;br /&gt;
            SendFormData(data);&lt;br /&gt;
            return GetResponseContent();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public HttpWebResponse Delete(string url, string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request = (System.Net.HttpWebRequest)HttpWebRequest.Create(this.baseUrl + url);&lt;br /&gt;
            request.Method = &amp;quot;DELETE&amp;quot;;&lt;br /&gt;
            SignMessage();&lt;br /&gt;
            AssignFormat(format);&lt;br /&gt;
            return GetResponseContent();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private void SendFormData(string data)&lt;br /&gt;
        {&lt;br /&gt;
            UTF8Encoding encoding = new UTF8Encoding();&lt;br /&gt;
            byte[] byteData = encoding.GetBytes(data);&lt;br /&gt;
            this.request.ContentType = &amp;quot;application/x-www-form-urlencoded&amp;quot;;&lt;br /&gt;
            request.ContentLength = byteData.Length;&lt;br /&gt;
            Stream requestStream = request.GetRequestStream();&lt;br /&gt;
            requestStream.Write(byteData, 0, byteData.Length);&lt;br /&gt;
            requestStream.Close();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private HttpWebResponse GetResponseContent()&lt;br /&gt;
        {&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                return (HttpWebResponse)request.GetResponse();&lt;br /&gt;
            }&lt;br /&gt;
            catch (WebException e)&lt;br /&gt;
            {&lt;br /&gt;
                return (HttpWebResponse)e.Response;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private void SignMessage()&lt;br /&gt;
        {&lt;br /&gt;
            var userAgent = &amp;quot;C# Client Library&amp;quot;;&lt;br /&gt;
            this.request.UserAgent = userAgent;&lt;br /&gt;
            var dateTime = DateTime.UtcNow.ToString(&amp;quot;yyyyMMddHHmmss&amp;quot;);&lt;br /&gt;
            var dataToSign = apiKey + userAgent + dateTime + secretKey;&lt;br /&gt;
            var hash = SHA1.Create();&lt;br /&gt;
            var signedBytes = hash.ComputeHash(Encoding.UTF8.GetBytes(dataToSign));&lt;br /&gt;
            var signature = Convert.ToBase64String(signedBytes);&lt;br /&gt;
&lt;br /&gt;
            request.Headers[&amp;quot;X-Api-Signature&amp;quot;] = apiKey + &amp;quot;:&amp;quot; + dateTime + &amp;quot;:&amp;quot; + signature;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private void AssignFormat(string format)&lt;br /&gt;
        {&lt;br /&gt;
            this.request.Accept = format;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&lt;br /&gt;
The PHP Example can be found [[PHP_Examples_(Rest_API)| here]].&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_Webmail_Settings_(Rest_API)&amp;diff=782</id>
		<title>Domain Webmail Settings (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_Webmail_Settings_(Rest_API)&amp;diff=782"/>
				<updated>2020-12-02T21:31:48Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Fix HTTP Verb&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== v1 - Current==&lt;br /&gt;
&lt;br /&gt;
This resource supports reading and setting various Webmail Settings on a specified domain.&lt;br /&gt;
 &lt;br /&gt;
'''These settings are only used for domains that have Rackspace Email services'''. Changing these values will have no effect on Exchange only domains.&lt;br /&gt;
&lt;br /&gt;
=== Data Model ===&lt;br /&gt;
&lt;br /&gt;
==== Webmail Settings ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Verbs''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| ChatEnabled&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether the Webmail Chat feature is enabled for the domain and shows up in Webmail&lt;br /&gt;
|-&lt;br /&gt;
| DropboxEnabled&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether the Dropbox feature is enabled for the domain and shows up in Webmail &lt;br /&gt;
|-&lt;br /&gt;
| PasswordResetEnabled&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether users are allowed to set up their own reset scheme. Regardless of setting, account admins may always reset their password through the Control Panel or API.&lt;br /&gt;
|-&lt;br /&gt;
| User24HourTime&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether to show time in 24 hour time. Setting this to false results in 12 hour time being shown in Webmail.&lt;br /&gt;
|-&lt;br /&gt;
| MultiFactorSetting&lt;br /&gt;
| String&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Determines whether users are allowed to or are forced to set up Multi-Factor Authentication for their mailbox. Valid options are &amp;quot;on&amp;quot;, &amp;quot;off&amp;quot;, or &amp;quot;forced&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| DropboxEnabled&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether the Dropbox feature is enabled for the domain and shows up in Webmail &lt;br /&gt;
|-&lt;br /&gt;
| Language&lt;br /&gt;
| String&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Determines the default language of the Webmail interface for mailboxes. The supported list of language codes is appended below this table.&lt;br /&gt;
|-&lt;br /&gt;
| DateFormat&lt;br /&gt;
| String&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Determines the formatting of dates in Webmail. Valid options are &amp;quot;1&amp;quot; for mm/dd/yy or &amp;quot;2&amp;quot; for dd/mm/yy.&lt;br /&gt;
|-&lt;br /&gt;
| TimeZone&lt;br /&gt;
| String&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Determines the default timezone of the Webmail interface for mailboxes. The supported list of timezone strings is appended below this table.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Supported languages for Webmail are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Language''&lt;br /&gt;
!''Language Code''&lt;br /&gt;
|-&lt;br /&gt;
| English&lt;br /&gt;
| en_US&lt;br /&gt;
|-&lt;br /&gt;
| Spanish&lt;br /&gt;
| es_ES&lt;br /&gt;
|-&lt;br /&gt;
| French&lt;br /&gt;
| fr_FR&lt;br /&gt;
|-&lt;br /&gt;
| Chinese&lt;br /&gt;
| zh_CN&lt;br /&gt;
|-&lt;br /&gt;
| German&lt;br /&gt;
| de_DE&lt;br /&gt;
|-&lt;br /&gt;
| Greek&lt;br /&gt;
| de_DE&lt;br /&gt;
|-&lt;br /&gt;
| Italian&lt;br /&gt;
| it_IT&lt;br /&gt;
|-&lt;br /&gt;
| Japanese&lt;br /&gt;
| ja_JP&lt;br /&gt;
|-&lt;br /&gt;
| Polish&lt;br /&gt;
| pl_PL&lt;br /&gt;
|-&lt;br /&gt;
| Portuguese&lt;br /&gt;
| pt_BR&lt;br /&gt;
|-&lt;br /&gt;
| Thai&lt;br /&gt;
| th_TH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Supported timezones for Webmail are any valid PHP timezones: https://www.php.net/manual/en/timezones.php&lt;br /&gt;
&lt;br /&gt;
PHP supports various formats, some examples include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Etc/GMT+10&lt;br /&gt;
  Etc/UTC&lt;br /&gt;
  US/Eastern&lt;br /&gt;
  EST&lt;br /&gt;
  America/Buenos_Aires&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Read ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Verb&lt;br /&gt;
| GET&lt;br /&gt;
|-&lt;br /&gt;
! URL Format&lt;br /&gt;
| /v1/customers/{customer account number}/domains/{domain name}/webmailSettings/&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Returns Webmail Settings for the specified domain.&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
| [[#Webmail_Settings|Webmail Settings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Codes&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Condition&lt;br /&gt;
|-&lt;br /&gt;
| 200 OK&lt;br /&gt;
| The information was successfully retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| The domain does not exist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Request:&lt;br /&gt;
GET https://api.emailsrvr.com/v1/domains/example.com/webmailSettings&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
200 OK&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;ChatEnabled&amp;quot;: true,&lt;br /&gt;
  &amp;quot;DropboxEnabled&amp;quot;: true,&lt;br /&gt;
  &amp;quot;PasswordResetEnabled&amp;quot;: false,&lt;br /&gt;
  &amp;quot;Use24HourTime&amp;quot;: true,&lt;br /&gt;
  &amp;quot;MultiFactorSetting&amp;quot;: &amp;quot;forced&amp;quot;,&lt;br /&gt;
  &amp;quot;Language&amp;quot;: &amp;quot;en_US&amp;quot;,&lt;br /&gt;
  &amp;quot;DateFormat&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;TimeZone&amp;quot;: &amp;quot;US/Eastern&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Verb&lt;br /&gt;
| PUT&lt;br /&gt;
|-&lt;br /&gt;
! URL Format&lt;br /&gt;
| /v1/customers/{customer account number}/domains/{domain name}/webmailSettings&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Updates the webmail settings for a particular domain&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
| [[#Webmail_Settings|Webmail Settings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Codes&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Condition&lt;br /&gt;
|-&lt;br /&gt;
| 204 No Content&lt;br /&gt;
| The request has been accepted and will be processed.&lt;br /&gt;
|-&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| The domain does not exist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Request:&lt;br /&gt;
PUT https://api.emailsrvr.com/v1/domains/example.com/webmailSettings&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;ChatEnabled&amp;quot;: true,&lt;br /&gt;
    &amp;quot;DropboxEnabled&amp;quot;: true,&lt;br /&gt;
    &amp;quot;PasswordResetEnabled&amp;quot;: false,&lt;br /&gt;
    &amp;quot;Use24HourTime&amp;quot;: true,&lt;br /&gt;
    &amp;quot;MultiFactorSetting&amp;quot;: &amp;quot;forced&amp;quot;,&lt;br /&gt;
    &amp;quot;Language&amp;quot;: &amp;quot;es_ES&amp;quot;,&lt;br /&gt;
    &amp;quot;DateFormat&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;TimeZone&amp;quot;: &amp;quot;US/Eastern&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
204 No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It also supports partial payloads, for example, just changing the Multi-Factor Authentication setting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Request:&lt;br /&gt;
PUT https://api.emailsrvr.com/v1/domains/example.com/webmailSettings&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;MultiFactorSetting&amp;quot;: &amp;quot;on&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
204 No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_Webmail_Settings_(Rest_API)&amp;diff=781</id>
		<title>Domain Webmail Settings (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_Webmail_Settings_(Rest_API)&amp;diff=781"/>
				<updated>2020-12-02T21:31:09Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Add Domain Webmail Settings Section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== v1 - Current==&lt;br /&gt;
&lt;br /&gt;
This resource supports reading and setting various Webmail Settings on a specified domain.&lt;br /&gt;
 &lt;br /&gt;
'''These settings are only used for domains that have Rackspace Email services'''. Changing these values will have no effect on Exchange only domains.&lt;br /&gt;
&lt;br /&gt;
=== Data Model ===&lt;br /&gt;
&lt;br /&gt;
==== Webmail Settings ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Verbs''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| ChatEnabled&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether the Webmail Chat feature is enabled for the domain and shows up in Webmail&lt;br /&gt;
|-&lt;br /&gt;
| DropboxEnabled&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether the Dropbox feature is enabled for the domain and shows up in Webmail &lt;br /&gt;
|-&lt;br /&gt;
| PasswordResetEnabled&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether users are allowed to set up their own reset scheme. Regardless of setting, account admins may always reset their password through the Control Panel or API.&lt;br /&gt;
|-&lt;br /&gt;
| User24HourTime&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether to show time in 24 hour time. Setting this to false results in 12 hour time being shown in Webmail.&lt;br /&gt;
|-&lt;br /&gt;
| MultiFactorSetting&lt;br /&gt;
| String&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Determines whether users are allowed to or are forced to set up Multi-Factor Authentication for their mailbox. Valid options are &amp;quot;on&amp;quot;, &amp;quot;off&amp;quot;, or &amp;quot;forced&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| DropboxEnabled&lt;br /&gt;
| Bool&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Whether the Dropbox feature is enabled for the domain and shows up in Webmail &lt;br /&gt;
|-&lt;br /&gt;
| Language&lt;br /&gt;
| String&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Determines the default language of the Webmail interface for mailboxes. The supported list of language codes is appended below this table.&lt;br /&gt;
|-&lt;br /&gt;
| DateFormat&lt;br /&gt;
| String&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Determines the formatting of dates in Webmail. Valid options are &amp;quot;1&amp;quot; for mm/dd/yy or &amp;quot;2&amp;quot; for dd/mm/yy.&lt;br /&gt;
|-&lt;br /&gt;
| TimeZone&lt;br /&gt;
| String&lt;br /&gt;
| GET, PUT&lt;br /&gt;
| Determines the default timezone of the Webmail interface for mailboxes. The supported list of timezone strings is appended below this table.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Supported languages for Webmail are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Language''&lt;br /&gt;
!''Language Code''&lt;br /&gt;
|-&lt;br /&gt;
| English&lt;br /&gt;
| en_US&lt;br /&gt;
|-&lt;br /&gt;
| Spanish&lt;br /&gt;
| es_ES&lt;br /&gt;
|-&lt;br /&gt;
| French&lt;br /&gt;
| fr_FR&lt;br /&gt;
|-&lt;br /&gt;
| Chinese&lt;br /&gt;
| zh_CN&lt;br /&gt;
|-&lt;br /&gt;
| German&lt;br /&gt;
| de_DE&lt;br /&gt;
|-&lt;br /&gt;
| Greek&lt;br /&gt;
| de_DE&lt;br /&gt;
|-&lt;br /&gt;
| Italian&lt;br /&gt;
| it_IT&lt;br /&gt;
|-&lt;br /&gt;
| Japanese&lt;br /&gt;
| ja_JP&lt;br /&gt;
|-&lt;br /&gt;
| Polish&lt;br /&gt;
| pl_PL&lt;br /&gt;
|-&lt;br /&gt;
| Portuguese&lt;br /&gt;
| pt_BR&lt;br /&gt;
|-&lt;br /&gt;
| Thai&lt;br /&gt;
| th_TH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Supported timezones for Webmail are any valid PHP timezones: https://www.php.net/manual/en/timezones.php&lt;br /&gt;
&lt;br /&gt;
PHP supports various formats, some examples include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Etc/GMT+10&lt;br /&gt;
  Etc/UTC&lt;br /&gt;
  US/Eastern&lt;br /&gt;
  EST&lt;br /&gt;
  America/Buenos_Aires&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Read ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Verb&lt;br /&gt;
| GET&lt;br /&gt;
|-&lt;br /&gt;
! URL Format&lt;br /&gt;
| /v1/customers/{customer account number}/domains/{domain name}/webmailSettings/&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Returns Webmail Settings for the specified domain.&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
| [[#Webmail_Settings|Webmail Settings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Codes&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Condition&lt;br /&gt;
|-&lt;br /&gt;
| 200 OK&lt;br /&gt;
| The information was successfully retrieved.&lt;br /&gt;
|-&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| The domain does not exist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Request:&lt;br /&gt;
GET https://api.emailsrvr.com/v1/domains/example.com/webmailSettings&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
200 OK&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;ChatEnabled&amp;quot;: true,&lt;br /&gt;
  &amp;quot;DropboxEnabled&amp;quot;: true,&lt;br /&gt;
  &amp;quot;PasswordResetEnabled&amp;quot;: false,&lt;br /&gt;
  &amp;quot;Use24HourTime&amp;quot;: true,&lt;br /&gt;
  &amp;quot;MultiFactorSetting&amp;quot;: &amp;quot;forced&amp;quot;,&lt;br /&gt;
  &amp;quot;Language&amp;quot;: &amp;quot;en_US&amp;quot;,&lt;br /&gt;
  &amp;quot;DateFormat&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
  &amp;quot;TimeZone&amp;quot;: &amp;quot;US/Eastern&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Verb&lt;br /&gt;
| POST&lt;br /&gt;
|-&lt;br /&gt;
! URL Format&lt;br /&gt;
| /v1/customers/{customer account number}/domains/{domain name}/webmailSettings&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Updates the webmail settings for a particular domain&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
| [[#Webmail_Settings|Webmail Settings]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HTTP Codes&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Condition&lt;br /&gt;
|-&lt;br /&gt;
| 204 No Content&lt;br /&gt;
| The request has been accepted and will be processed.&lt;br /&gt;
|-&lt;br /&gt;
| 404 Not Found&lt;br /&gt;
| The domain does not exist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Request:&lt;br /&gt;
PUT https://api.emailsrvr.com/v1/domains/example.com/webmailSettings&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;ChatEnabled&amp;quot;: true,&lt;br /&gt;
    &amp;quot;DropboxEnabled&amp;quot;: true,&lt;br /&gt;
    &amp;quot;PasswordResetEnabled&amp;quot;: false,&lt;br /&gt;
    &amp;quot;Use24HourTime&amp;quot;: true,&lt;br /&gt;
    &amp;quot;MultiFactorSetting&amp;quot;: &amp;quot;forced&amp;quot;,&lt;br /&gt;
    &amp;quot;Language&amp;quot;: &amp;quot;es_ES&amp;quot;,&lt;br /&gt;
    &amp;quot;DateFormat&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;TimeZone&amp;quot;: &amp;quot;US/Eastern&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
204 No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It also supports partial payloads, for example, just changing the Multi-Factor Authentication setting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Request:&lt;br /&gt;
PUT https://api.emailsrvr.com/v1/domains/example.com/webmailSettings&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;MultiFactorSetting&amp;quot;: &amp;quot;on&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
204 No Content&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_Spam_(Rest_API)&amp;diff=780</id>
		<title>Exchange Mailbox Spam (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_Spam_(Rest_API)&amp;diff=780"/>
				<updated>2020-10-14T22:20:20Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Update route names and get XML payload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Spam Settings ===&lt;br /&gt;
&lt;br /&gt;
==== Show ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the  spam settings associated with the mailbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Show operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/settings'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MailboxSpamSettings xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:MailboxSpamSettings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;filterLevel&amp;gt;on&amp;lt;/filterLevel&amp;gt;&lt;br /&gt;
  &amp;lt;sendToDomainQuarantine&amp;gt;false&amp;lt;/sendToDomainQuarantine&amp;gt;&lt;br /&gt;
  &amp;lt;quarantineOwner /&amp;gt;&lt;br /&gt;
&amp;lt;/MailboxSpamSettings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;filterLevel&amp;quot;:&amp;quot;on&amp;quot;,&amp;quot;sendToDomainQuarantine&amp;quot;:false,&amp;quot;quarantineOwner&amp;quot;:&amp;quot;&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation will modify  the mailbox spam setting. Only 'filterlevel' is the required form field.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| filterlevel&lt;br /&gt;
| string&lt;br /&gt;
| Spam filter  status, must be 'on' or 'off' or 'exclusive' (Required)&lt;br /&gt;
|-&lt;br /&gt;
|  sendtodomainquarantine&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates  whether or not send spam to domain quarantine&lt;br /&gt;
|-&lt;br /&gt;
|  quarantineowner&lt;br /&gt;
| string&lt;br /&gt;
| The email  address that quarantine notifications be sent to&lt;br /&gt;
|-&lt;br /&gt;
|  removeQuarantineOwner&lt;br /&gt;
| boolean&lt;br /&gt;
| Set this flag to &amp;quot;true&amp;quot; to remove quarantine owner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Form field &amp;quot;filterlevel&amp;quot; is  always required. &amp;lt;br&amp;gt;&lt;br /&gt;
When  &amp;quot;filterlevel&amp;quot; is &amp;quot;on&amp;quot;, spam will be sent to mailbox quarantine as  default, unless &amp;quot;sendtodomainquarantine&amp;quot; is set to &amp;quot;true&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
Changing &amp;quot;filterlevel&amp;quot; to  &amp;quot;off&amp;quot; will force &amp;quot;sendtodomainquarantine&amp;quot; to be &amp;quot;false&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
When &amp;quot;filterlevel&amp;quot; is  &amp;quot;exclusive&amp;quot;, spam will be sent to mailbox quarantine as default, unless  &amp;quot;sendtodomainquarantine&amp;quot; is set to &amp;quot;true&amp;quot;. In addition, mailbox will  only receive email from addresses and IPs on its safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/settings',&lt;br /&gt;
{ &lt;br /&gt;
  'filterlevel' =&amp;gt; 'off'&lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid  input for form field 'filterlevel'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid  filterLevel, input must be: on/off/exclusive&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email  address blocklist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/blocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;blocklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:blocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/blocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@spam.com&amp;quot;,&amp;quot;name2@spam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or  domain to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post   '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/blocklist/anyone@spam.com',  {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid  email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered current domain&lt;br /&gt;
| 400&lt;br /&gt;
| Adding  example.com would blocklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or  domain from the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete   '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/blocklist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid  email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the  current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
|  abc@junkmail.com is not found on the blocklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /ex/mailboxes/(mailbox name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the blocklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/jane.doe/spam/blocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/ipblocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP blocklist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipblocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml  version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipBlocklist  xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:ipBlocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipBlocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;216.12.34.1&amp;quot;,&amp;quot;216.12.34.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/ipblocklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/blocklist/216.12.34.1',  {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/ipblocklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the  blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipblocklist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP  is not on the current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1  is not found on the blocklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /ex/mailboxes/(mailbox name)/spam/ipblocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the blocklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/jane.doe/spam/ipblocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email  address safelist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/safelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;safelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:safelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/safelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@notspam.com&amp;quot;,&amp;quot;name2@notspam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or  domain to the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post   '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/safelist/anyone@yahoo.com',  {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid  email address: abc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or  domain from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete   '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/safelist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid  email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the  current safelist&lt;br /&gt;
| 400&lt;br /&gt;
|  anyone@yahoo.com is not found on the safelist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /ex/mailboxes/(mailbox name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/jane.doe/spam/safelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP  safelist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipsafelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipSafelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:ipSafelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipSafelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;192.168.0.1&amp;quot;,&amp;quot;192.168.0.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/ipsafelist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the ipsafelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipsafelist/216.12.34.1',  {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip  address: 123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/ipsafelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the  safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipsafelist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP  is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1  is not found on the safelist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /ex/mailboxes/(mailbox name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/jane.doe/spam/ipsafelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_Spam_(Rest_API)&amp;diff=779</id>
		<title>Exchange Mailbox Spam (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_Spam_(Rest_API)&amp;diff=779"/>
				<updated>2020-10-14T21:24:39Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Update route names and get XML payload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Spam Settings ===&lt;br /&gt;
&lt;br /&gt;
==== Show ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the  spam settings associated with the mailbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Show operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/settings'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;MailboxSpamSettings xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:MailboxSpamSettings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;filterLevel&amp;gt;on&amp;lt;/filterLevel&amp;gt;&lt;br /&gt;
  &amp;lt;sendToDomainQuarantine&amp;gt;false&amp;lt;/sendToDomainQuarantine&amp;gt;&lt;br /&gt;
  &amp;lt;quarantineOwner /&amp;gt;&lt;br /&gt;
&amp;lt;/MailboxSpamSettings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;filterLevel&amp;quot;:&amp;quot;on&amp;quot;,&amp;quot;sendToDomainQuarantine&amp;quot;:false,&amp;quot;quarantineOwner&amp;quot;:&amp;quot;&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation will modify  the mailbox spam setting. Only 'filterlevel' is the required form field.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| filterlevel&lt;br /&gt;
| string&lt;br /&gt;
| Spam filter  status, must be 'on' or 'off' or 'exclusive' (Required)&lt;br /&gt;
|-&lt;br /&gt;
|  sendtodomainquarantine&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates  whether or not send spam to domain quarantine&lt;br /&gt;
|-&lt;br /&gt;
|  quarantineowner&lt;br /&gt;
| string&lt;br /&gt;
| The email  address that quarantine notifications be sent to&lt;br /&gt;
|-&lt;br /&gt;
|  removeQuarantineOwner&lt;br /&gt;
| boolean&lt;br /&gt;
| Set this flag to &amp;quot;true&amp;quot; to remove quarantine owner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Form field &amp;quot;filterlevel&amp;quot; is  always required. &amp;lt;br&amp;gt;&lt;br /&gt;
When  &amp;quot;filterlevel&amp;quot; is &amp;quot;on&amp;quot;, spam will be sent to mailbox quarantine as  default, unless &amp;quot;sendtodomainquarantine&amp;quot; is set to &amp;quot;true&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
Changing &amp;quot;filterlevel&amp;quot; to  &amp;quot;off&amp;quot; will force &amp;quot;sendtodomainquarantine&amp;quot; to be &amp;quot;false&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
When &amp;quot;filterlevel&amp;quot; is  &amp;quot;exclusive&amp;quot;, spam will be sent to mailbox quarantine as default, unless  &amp;quot;sendtodomainquarantine&amp;quot; is set to &amp;quot;true&amp;quot;. In addition, mailbox will  only receive email from addresses and IPs on its safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/settings',&lt;br /&gt;
{ &lt;br /&gt;
  'filterlevel' =&amp;gt; 'off'&lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid  input for form field 'filterlevel'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid  filterLevel, input must be: on/off/exclusive&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email  address blocklist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/blocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;blocklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:blocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/blocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@spam.com&amp;quot;,&amp;quot;name2@spam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or  domain to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post   '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/blocklist/anyone@spam.com',  {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid  email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered current domain&lt;br /&gt;
| 400&lt;br /&gt;
| Adding  example.com would blocklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or  domain from the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete   '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/blocklist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid  email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the  current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
|  abc@junkmail.com is not found on the blocklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /ex/mailboxes/(mailbox name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the blocklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/jane.doe/spam/blocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Blacklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/ipblacklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP  blacklist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipblacklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml  version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipBlacklist  xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:ipBlacklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipBlacklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;216.12.34.1&amp;quot;,&amp;quot;216.12.34.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/ipblacklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the blacklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/blacklist/216.12.34.1',  {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/ipblacklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the  blacklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipblacklist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP  is not on the current blacklist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1  is not found on the blacklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /ex/mailboxes/(mailbox name)/spam/ipblacklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the blacklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/jane.doe/spam/ipblacklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email  address safelist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/safelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;safelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:safelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/safelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@notspam.com&amp;quot;,&amp;quot;name2@notspam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or  domain to the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post   '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/safelist/anyone@yahoo.com',  {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid  email address: abc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or  domain from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete   '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/safelist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid  email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the  current safelist&lt;br /&gt;
| 400&lt;br /&gt;
|  anyone@yahoo.com is not found on the safelist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /ex/mailboxes/(mailbox name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/jane.doe/spam/safelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP  safelist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only  supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipsafelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipSafelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;  xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;  xmlns=&amp;quot;urn:xml:ipSafelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipSafelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;192.168.0.1&amp;quot;,&amp;quot;192.168.0.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/ipsafelist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the ipsafelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipsafelist/216.12.34.1',  {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered  invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip  address: 123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE]  https://api.emailsrvr.com/v1/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/ipsafelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the  safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete  '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/spam/ipsafelist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP  is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1  is not found on the safelist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /ex/mailboxes/(mailbox name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/jane.doe/spam/ipsafelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rackspace_Mailbox_Spam_(Rest_API)&amp;diff=778</id>
		<title>Rackspace Mailbox Spam (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rackspace_Mailbox_Spam_(Rest_API)&amp;diff=778"/>
				<updated>2020-10-14T21:16:04Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Update route names and get XML payload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Spam Settings ===&lt;br /&gt;
&lt;br /&gt;
==== Show ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the spam settings associated with the mailbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/settings'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;rsMailboxSpamSetting xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; &lt;br /&gt;
xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:RSMailboxSpamSetting&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;filterLevel&amp;gt;on&amp;lt;/filterLevel&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailSettings&amp;gt;&lt;br /&gt;
    &amp;lt;spamHandling&amp;gt;toFolder&amp;lt;/spamHandling&amp;gt;&lt;br /&gt;
    &amp;lt;hasFolderCleaner&amp;gt;false&amp;lt;/hasFolderCleaner&amp;gt;&lt;br /&gt;
    &amp;lt;spamFolderAgeLimit&amp;gt;0&amp;lt;/spamFolderAgeLimit&amp;gt;&lt;br /&gt;
    &amp;lt;spamFolderNumLimit&amp;gt;0&amp;lt;/spamFolderNumLimit&amp;gt;&lt;br /&gt;
    &amp;lt;spamForwardingAddress /&amp;gt;&lt;br /&gt;
  &amp;lt;/rsEmailSettings&amp;gt;&lt;br /&gt;
&amp;lt;/rsMailboxSpamSetting&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &amp;quot;filterLevel&amp;quot;:&amp;quot;on&amp;quot;,&lt;br /&gt;
  &amp;quot;rsEmailSettings&amp;quot;:{&lt;br /&gt;
      &amp;quot;hasFolderCleaner&amp;quot;:false,&lt;br /&gt;
      &amp;quot;spamFolderAgeLimit&amp;quot;:0,&lt;br /&gt;
      &amp;quot;spamFolderNumLimit&amp;quot;:0,&lt;br /&gt;
      &amp;quot;spamForwardingAddress&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;spamHandling&amp;quot;:&amp;quot;toFolder&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/rs/mailboxes/(mailbox name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation will modify the mailbox spam settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| filterLevel&lt;br /&gt;
| string&lt;br /&gt;
| This is a required field. Spam filter status: 'on', 'off', or 'exclusive'. Exclusive mode allows only email cleared by the Safelist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamHandling&lt;br /&gt;
| string&lt;br /&gt;
| The string 'toFolder' will deliver the email to the user's Spam folder, 'delete' will delete the mail immediately, 'labelSubject' will prepend [SPAM] to the email's subject line, and 'toAddress' will send the email to a specified folder instead.&lt;br /&gt;
&lt;br /&gt;
Valid Field Combinations: &lt;br /&gt;
&lt;br /&gt;
(toFolder =&amp;gt; hasFolderCleaner, spamFolderAgeLimit, spamFolderNumLimit)&lt;br /&gt;
&lt;br /&gt;
(toAddress =&amp;gt; spamForwardingAddress)&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.hasFolderCleaner&lt;br /&gt;
| string&lt;br /&gt;
| This field is effective when rsEmail.spamHandling option is set to 'toFolder'. This field controls how the spam that is delivered o the spam folder is handled. There are currently two options supported for handling spam. First option is to set a limit after which the spam gets deleted. One can set limit on the number of days or on the number of spam emails. Second option is to never automatically delete the spam. For both these options to be enabled the rsEmail.hasFolderCleaner field should be set to 'true'.&lt;br /&gt;
The folder cleaner fields (hasFolderCleaner, spamFolderAgeLimit, spamFolderNumLimit) are allowed&lt;br /&gt;
only when the spamHandling field is set to 'toFolder'. In order to never delete the spam set the spamFolderAgeLimit and spamFolderNumLimit fields to 0.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamFolderAgeLimit&lt;br /&gt;
| string&lt;br /&gt;
| The number of days a message stays in the Spam folder before its deleted. This field is effective only when rsEmail.spamHandling is set to 'toFolder', and 'rs.hasFolderCleaner' is set to 'true'. This field cannot have negative value.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamFolderNumLimit&lt;br /&gt;
| string&lt;br /&gt;
| The maximum number of emails the Spam folder holds. This field is effective only when rsEmail.spamHandling is set to 'toFolder', and 'rs.hasFolderCleaner' is set to 'true'. This field cannot have negative value.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| The email address that Spam emails will be redirected to. This field is required when the spamHandling field is set to 'toAddress'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/100018/domains/resellerallservices.net/rs/mailboxes/unittestexist/spam/settings', &lt;br /&gt;
{&lt;br /&gt;
      'filterLevel' =&amp;gt; 'on',  &lt;br /&gt;
      'rsEmail.spamHandling' =&amp;gt; 'toFolder',&lt;br /&gt;
      'rsEmail.hasFolderCleaner' =&amp;gt; 'true',&lt;br /&gt;
      'rsEmail.spamFolderAgeLimit' =&amp;gt; '7',&lt;br /&gt;
      'rsEmail.spamFolderNumLimit' =&amp;gt; '100',&lt;br /&gt;
}, Formats.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for form field 'filterLevel'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid FilterLevel: Input must be: on/off/exclusive&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for form field 'spamHandling'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid RSEmail SpamHandling: Input must be: toFolder/delete/labelSubject/toAddress&lt;br /&gt;
|-&lt;br /&gt;
| Invalid email address in spam forwarding address&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid email address&lt;br /&gt;
|-&lt;br /&gt;
| Empty forwarding address&lt;br /&gt;
| 400&lt;br /&gt;
| Spam Forwarding Address cannot be empty for spam handling policy: toAddress&lt;br /&gt;
|-&lt;br /&gt;
| Invalid value for field 'spamFolderAgeLimit'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid RSEmail SpamCleanupOption: -1. rsEmail.spamFolderAgeLimit should be non-negative&lt;br /&gt;
|-&lt;br /&gt;
| Invalid value for field 'spamFolderNumLimit'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid RSEmail SpamCleanupOption: -1. rsEmail.spamNumberLimit should be non-negative.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid field combination&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid field combination: Folder cleaner options cannot be specified with spam handling policy: delete.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid field combination&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid field combination: Folder cleaner options cannot be specified with spam handling policy: labelSubject.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid field combination&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid field combination: Folder cleaner options cannot be specified with spam handling policy: toAddress.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email address blocklist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/blocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;blocklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:blocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/blocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@spam.com&amp;quot;,&amp;quot;name2@spam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or domain to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/blocklist/anyone@spam.com', {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered current domain&lt;br /&gt;
| 400&lt;br /&gt;
| Adding example.com would blocklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /rs/mailboxes/(mailbox name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or domain from the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/blocklist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
| abc@junkmail.com is not found on the blocklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /rs/mailboxes/(mailbox name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the blocklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/rs/mailboxes/jane.doe/spam/blocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/ipblocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP blocklist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipblocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipBlocklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:ipBlocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipBlocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;216.12.34.1&amp;quot;,&amp;quot;216.12.34.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/ipblocklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/blocklist/216.12.34.1', {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /rs/mailboxes/(mailbox name)/spam/ipblocklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipblocklist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP is not on the current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1 is not found on the blocklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /rs/mailboxes/(mailbox name)/spam/ipblocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the blocklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/rs/mailboxes/jane.doe/spam/ipblocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email address safelist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/safelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;safelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:safelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/safelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@notspam.com&amp;quot;,&amp;quot;name2@notspam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or domain to the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/safelist/anyone@yahoo.com', {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /rs/mailboxes/(mailbox name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or domain from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/safelist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| anyone@yahoo.com is not found on the safelist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /rs/mailboxes/(mailbox name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/rs/mailboxes/jane.doe/spam/safelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP safelist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipsafelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipSafelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:ipSafelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipSafelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;192.168.0.1&amp;quot;,&amp;quot;192.168.0.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/ipsafelist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the ipsafelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipsafelist/216.12.34.1', {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /rs/mailboxes/(mailbox name)/spam/ipsafelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipsafelist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1 is not found on the safelist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /rs/mailboxes/(mailbox name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/rs/mailboxes/jane.doe/spam/ipsafelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rackspace_Mailbox_Spam_(Rest_API)&amp;diff=777</id>
		<title>Rackspace Mailbox Spam (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rackspace_Mailbox_Spam_(Rest_API)&amp;diff=777"/>
				<updated>2020-10-14T21:10:25Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Update route names and get XML payload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Spam Settings ===&lt;br /&gt;
&lt;br /&gt;
==== Show ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the spam settings associated with the mailbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/settings'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;rsMailboxSpamSetting xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; &lt;br /&gt;
xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:RSMailboxSpamSetting&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;filterLevel&amp;gt;on&amp;lt;/filterLevel&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailSettings&amp;gt;&lt;br /&gt;
    &amp;lt;spamHandling&amp;gt;toFolder&amp;lt;/spamHandling&amp;gt;&lt;br /&gt;
    &amp;lt;hasFolderCleaner&amp;gt;false&amp;lt;/hasFolderCleaner&amp;gt;&lt;br /&gt;
    &amp;lt;spamFolderAgeLimit&amp;gt;0&amp;lt;/spamFolderAgeLimit&amp;gt;&lt;br /&gt;
    &amp;lt;spamFolderNumLimit&amp;gt;0&amp;lt;/spamFolderNumLimit&amp;gt;&lt;br /&gt;
    &amp;lt;spamForwardingAddress /&amp;gt;&lt;br /&gt;
  &amp;lt;/rsEmailSettings&amp;gt;&lt;br /&gt;
&amp;lt;/rsMailboxSpamSetting&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{ &amp;quot;filterLevel&amp;quot;:&amp;quot;on&amp;quot;,&lt;br /&gt;
  &amp;quot;rsEmailSettings&amp;quot;:{&lt;br /&gt;
      &amp;quot;hasFolderCleaner&amp;quot;:false,&lt;br /&gt;
      &amp;quot;spamFolderAgeLimit&amp;quot;:0,&lt;br /&gt;
      &amp;quot;spamFolderNumLimit&amp;quot;:0,&lt;br /&gt;
      &amp;quot;spamForwardingAddress&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;spamHandling&amp;quot;:&amp;quot;toFolder&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/rs/mailboxes/(mailbox name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation will modify the mailbox spam settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| filterLevel&lt;br /&gt;
| string&lt;br /&gt;
| This is a required field. Spam filter status: 'on', 'off', or 'exclusive'. Exclusive mode allows only email cleared by the Safelist.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamHandling&lt;br /&gt;
| string&lt;br /&gt;
| The string 'toFolder' will deliver the email to the user's Spam folder, 'delete' will delete the mail immediately, 'labelSubject' will prepend [SPAM] to the email's subject line, and 'toAddress' will send the email to a specified folder instead.&lt;br /&gt;
&lt;br /&gt;
Valid Field Combinations: &lt;br /&gt;
&lt;br /&gt;
(toFolder =&amp;gt; hasFolderCleaner, spamFolderAgeLimit, spamFolderNumLimit)&lt;br /&gt;
&lt;br /&gt;
(toAddress =&amp;gt; spamForwardingAddress)&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.hasFolderCleaner&lt;br /&gt;
| string&lt;br /&gt;
| This field is effective when rsEmail.spamHandling option is set to 'toFolder'. This field controls how the spam that is delivered o the spam folder is handled. There are currently two options supported for handling spam. First option is to set a limit after which the spam gets deleted. One can set limit on the number of days or on the number of spam emails. Second option is to never automatically delete the spam. For both these options to be enabled the rsEmail.hasFolderCleaner field should be set to 'true'.&lt;br /&gt;
The folder cleaner fields (hasFolderCleaner, spamFolderAgeLimit, spamFolderNumLimit) are allowed&lt;br /&gt;
only when the spamHandling field is set to 'toFolder'. In order to never delete the spam set the spamFolderAgeLimit and spamFolderNumLimit fields to 0.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamFolderAgeLimit&lt;br /&gt;
| string&lt;br /&gt;
| The number of days a message stays in the Spam folder before its deleted. This field is effective only when rsEmail.spamHandling is set to 'toFolder', and 'rs.hasFolderCleaner' is set to 'true'. This field cannot have negative value.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamFolderNumLimit&lt;br /&gt;
| string&lt;br /&gt;
| The maximum number of emails the Spam folder holds. This field is effective only when rsEmail.spamHandling is set to 'toFolder', and 'rs.hasFolderCleaner' is set to 'true'. This field cannot have negative value.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| The email address that Spam emails will be redirected to. This field is required when the spamHandling field is set to 'toAddress'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/100018/domains/resellerallservices.net/rs/mailboxes/unittestexist/spam/settings', &lt;br /&gt;
{&lt;br /&gt;
      'filterLevel' =&amp;gt; 'on',  &lt;br /&gt;
      'rsEmail.spamHandling' =&amp;gt; 'toFolder',&lt;br /&gt;
      'rsEmail.hasFolderCleaner' =&amp;gt; 'true',&lt;br /&gt;
      'rsEmail.spamFolderAgeLimit' =&amp;gt; '7',&lt;br /&gt;
      'rsEmail.spamFolderNumLimit' =&amp;gt; '100',&lt;br /&gt;
}, Formats.xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for form field 'filterLevel'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid FilterLevel: Input must be: on/off/exclusive&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for form field 'spamHandling'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid RSEmail SpamHandling: Input must be: toFolder/delete/labelSubject/toAddress&lt;br /&gt;
|-&lt;br /&gt;
| Invalid email address in spam forwarding address&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid email address&lt;br /&gt;
|-&lt;br /&gt;
| Empty forwarding address&lt;br /&gt;
| 400&lt;br /&gt;
| Spam Forwarding Address cannot be empty for spam handling policy: toAddress&lt;br /&gt;
|-&lt;br /&gt;
| Invalid value for field 'spamFolderAgeLimit'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid RSEmail SpamCleanupOption: -1. rsEmail.spamFolderAgeLimit should be non-negative&lt;br /&gt;
|-&lt;br /&gt;
| Invalid value for field 'spamFolderNumLimit'&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid RSEmail SpamCleanupOption: -1. rsEmail.spamNumberLimit should be non-negative.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid field combination&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid field combination: Folder cleaner options cannot be specified with spam handling policy: delete.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid field combination&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid field combination: Folder cleaner options cannot be specified with spam handling policy: labelSubject.&lt;br /&gt;
|-&lt;br /&gt;
| Invalid field combination&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid field combination: Folder cleaner options cannot be specified with spam handling policy: toAddress.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email address blocklist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/blocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;blocklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:blocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/blocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@spam.com&amp;quot;,&amp;quot;name2@spam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or domain to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/blocklist/anyone@spam.com', {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered current domain&lt;br /&gt;
| 400&lt;br /&gt;
| Adding example.com would blocklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /rs/mailboxes/(mailbox name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or domain from the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/blocklist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
| abc@junkmail.com is not found on the blocklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /rs/mailboxes/(mailbox name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the blocklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/rs/mailboxes/jane.doe/spam/blocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Blacklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/ipblacklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP blacklist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipblacklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipBlacklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:ipBlacklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipBlacklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;216.12.34.1&amp;quot;,&amp;quot;216.12.34.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/ipblacklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the blacklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/blacklist/216.12.34.1', {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /rs/mailboxes/(mailbox name)/spam/ipblacklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the blacklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipblacklist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP is not on the current blacklist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1 is not found on the blacklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /rs/mailboxes/(mailbox name)/spam/ipblacklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the blacklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/rs/mailboxes/jane.doe/spam/ipblacklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email address safelist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/safelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;safelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:safelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/safelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@notspam.com&amp;quot;,&amp;quot;name2@notspam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or domain to the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/safelist/anyone@yahoo.com', {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /rs/mailboxes/(mailbox name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or domain from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/safelist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| anyone@yahoo.com is not found on the safelist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /rs/mailboxes/(mailbox name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/rs/mailboxes/jane.doe/spam/safelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP safelist associated with the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipsafelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipSafelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:ipSafelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipSafelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;192.168.0.1&amp;quot;,&amp;quot;192.168.0.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /rs/mailboxes/(mailbox name)/spam/ipsafelist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the ipsafelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipsafelist/216.12.34.1', {}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /rs/mailboxes/(mailbox name)/spam/ipsafelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/rs/mailboxes/alex.smith/spam/ipsafelist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1 is not found on the safelist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
               /rs/mailboxes/(mailbox name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/rs/mailboxes/jane.doe/spam/ipsafelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_Spam_(Rest_API)&amp;diff=776</id>
		<title>Domain Spam (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_Spam_(Rest_API)&amp;diff=776"/>
				<updated>2020-10-14T21:03:46Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Update route names and get XML payload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Spam Settings ===&lt;br /&gt;
&lt;br /&gt;
==== Show Spam Setting ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the spam settings associated with the domain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Show operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/settings'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;domainSpamSettings xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:DomainSpamSettings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;filterLevel&amp;gt;on&amp;lt;/filterLevel&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailSettings&amp;gt;&lt;br /&gt;
    &amp;lt;spamHandling&amp;gt;toAddress&amp;lt;/spamHandling&amp;gt;&lt;br /&gt;
    &amp;lt;hasFolderCleaner&amp;gt;false&amp;lt;/hasFolderCleaner&amp;gt;&lt;br /&gt;
    &amp;lt;spamFolderAgeLimit&amp;gt;0&amp;lt;/spamFolderAgeLimit&amp;gt;&lt;br /&gt;
    &amp;lt;spamFolderNumLimit&amp;gt;0&amp;lt;/spamFolderNumLimit&amp;gt;&lt;br /&gt;
    &amp;lt;spamForwardingAddress&amp;gt;someone@mail.com&amp;lt;/spamForwardingAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/rsEmailSettings&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeSettings&amp;gt;&lt;br /&gt;
    &amp;lt;forwardToDomainQuarantine&amp;gt;on&amp;lt;/forwardToDomainQuarantine&amp;gt;&lt;br /&gt;
    &amp;lt;quarantineOwner&amp;gt;someone@mail.com&amp;lt;/quarantineOwner&amp;gt;&lt;br /&gt;
    &amp;lt;defaultQuarantineOwner&amp;gt;someone@mail.com&amp;lt;/defaultQuarantineOwner&amp;gt;&lt;br /&gt;
  &amp;lt;/exchangeSettings&amp;gt;&lt;br /&gt;
&amp;lt;/domainSpamSettings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;filterLevel&amp;quot;:&amp;quot;on&amp;quot;,&amp;quot;rsEmailSettings&amp;quot;:{&amp;quot;spamHandling&amp;quot;:&amp;quot;toAddress&amp;quot;,&amp;quot;hasFolderCleaner&amp;quot;:false,&amp;quot;spamFolderAgeLimit&amp;quot;:0,&amp;quot;spamFolderNumLimit&amp;quot;:0,&amp;quot;spamForwardingAddress&amp;quot;:&amp;quot;someone@mail.com&amp;quot;},&amp;quot;exchangeSettings&amp;quot;:{&amp;quot;forwardToDomainQuarantine&amp;quot;:&amp;quot;on&amp;quot;,&amp;quot;quarantineOwner&amp;quot;:&amp;quot;someone@mail.com&amp;quot;,&amp;quot;defaultQuarantineOwner&amp;quot;:&amp;quot;someone@mail.com&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
==== Edit Spam Setting ====&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edits the domain Spam Settings.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| filterLevel&lt;br /&gt;
| string&lt;br /&gt;
| Spam filter status, must be 'on' or 'off' or 'exclusive' (Required)&lt;br /&gt;
|-&lt;br /&gt;
| overrideUserSettings&lt;br /&gt;
| boolean&lt;br /&gt;
| Set this flag to &amp;quot;true&amp;quot; to override preferences for all users regardless of their own preferences. Otherwise, it sets preferences only for users who have not set their own.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamHandling&lt;br /&gt;
| string&lt;br /&gt;
| Change settings for Rackspace Email Handling. For the options, see the table below.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.hasFolderCleaner&lt;br /&gt;
| boolean&lt;br /&gt;
| Turns on/off Spam Folder Cleaner. Requires &amp;quot;rsEmail.spamHandling&amp;quot; to be set to &amp;quot;toFolder&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamFolderAgeLimit&lt;br /&gt;
| int&lt;br /&gt;
| The number of days that email stays the &amp;quot;Spam&amp;quot; folder before being deleted. Requires &amp;quot;rsEmail.hasFolderCleaner&amp;quot; to be set to &amp;quot;true&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamFolderNumLimit&lt;br /&gt;
| int&lt;br /&gt;
| The max number of emails that will be kept in the &amp;quot;Spam&amp;quot; folder. Requires &amp;quot;rsEmail.hasFolderCleaner&amp;quot; to be set to &amp;quot;true&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| The address that spams will be forwarded to. Requires &amp;quot;rsEmail.spamHandling&amp;quot; to be set to &amp;quot;toAddress&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.forwardToDomainQuarantine&lt;br /&gt;
| string&lt;br /&gt;
| Change settings for Exchange Handling. For the options, see the table below.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.quarantineOwner&lt;br /&gt;
| string&lt;br /&gt;
| The address that domain quarantine notifications will be sent to.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.removeQuarantineOwner&lt;br /&gt;
| boolean&lt;br /&gt;
| Set this flag to &amp;quot;true&amp;quot; to remove domain quarantine owner.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.defaultQuarantineOwner&lt;br /&gt;
| string&lt;br /&gt;
| The address that quarantine notifications will be sent to. This applies to new users and users that have not changed their settings to override.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.removeDefaultQuarantineOwner&lt;br /&gt;
| boolean&lt;br /&gt;
| Set this flag to &amp;quot;true&amp;quot; to remove default domain quarantine owner.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rackspace Email Handling Options:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Value''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| toFolder&lt;br /&gt;
| Deliver to Spam folder&lt;br /&gt;
|-&lt;br /&gt;
| delete&lt;br /&gt;
| Delete the email immediately&lt;br /&gt;
|-&lt;br /&gt;
| labelSubject&lt;br /&gt;
| Include &amp;quot;[SPAM]&amp;quot; at the beginning of the subject line&lt;br /&gt;
|-&lt;br /&gt;
| toAddress&lt;br /&gt;
| Deliver to the email address that is specified by &amp;quot;rsEmail.spamForwardingAddress&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exchange Handling Options:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Value''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| on&lt;br /&gt;
| Send all spam to domain quarantine&lt;br /&gt;
|-&lt;br /&gt;
| off&lt;br /&gt;
| Send spam to recipient's quarantine&lt;br /&gt;
|-&lt;br /&gt;
| nonuser&lt;br /&gt;
| Send non-user spam (Contacts, Resources, etc.) to domain quarantine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/me/domains/example.com/spam/settings', &lt;br /&gt;
{&lt;br /&gt;
  'filterLevel' =&amp;gt; 'on',&lt;br /&gt;
  'rsEmail.spamHandling' =&amp;gt; 'toFolder',&lt;br /&gt;
  'rsEmail.hasFolderCleaner' =&amp;gt; 'true',&lt;br /&gt;
  'rsEmail.spamFolderAgeLimit' =&amp;gt; '7',&lt;br /&gt;
  'rsEmail.spamFolderNumLimit' =&amp;gt; '100',&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for Filter Level&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid FilterLevel: high. Input must be: on/off/exclusive&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for RSEmail SpamHandling&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid RSEmail SpamHandling: nonuser. Input must be: toFolder/delete/labelSubject/toAddress&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for Exchange ForwardToDomainQuarantine&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid input for Exchange ForwardToDomainQuarantine: delete. Input must be: on/off/nonuser&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the email address blocklist associated with the domain. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/blocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;blocklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:blocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/blocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@spam.com&amp;quot;,&amp;quot;name2@spam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or domain to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/spam/blocklist/anyone@spam.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered current domain&lt;br /&gt;
| 400&lt;br /&gt;
| Adding example.com would blocklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or domain from the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/spam/blocklist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
| abc@junkmail.com is not found on the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the blcklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/spam/blocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index IP Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipblocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP blocklist associated with the domain. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/ipblocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipBlocklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:ipBlocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipBlocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;216.12.34.1&amp;quot;,&amp;quot;216.12.34.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add IP Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipblocklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/spam/blocklist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete IP Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipblocklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/spam/ipblocklist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP is not on the current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1 is not found on the blocklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit IP Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipblocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the blocklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/spam/ipblocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email address safelist associated with the domain. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/safelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;safelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:safelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/safelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@notspam.com&amp;quot;,&amp;quot;name2@notspam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or domain to the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/spam/safelist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or domain from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/spam/safelist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| anyone@yahoo.com is not found on the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/spam/safelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index IP Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP safelist associated with the domain. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/ipsafelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipSafelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:ipSafelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipSafelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;192.168.0.1&amp;quot;,&amp;quot;192.168.0.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add IP Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipsafelist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/spam/safelist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete IP Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipsafelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/spam/ipsafelist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1 is not found on the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit IP Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/spam/ipsafelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_Spam_(Rest_API)&amp;diff=775</id>
		<title>Domain Spam (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_Spam_(Rest_API)&amp;diff=775"/>
				<updated>2020-10-14T20:47:30Z</updated>
		
		<summary type="html">&lt;p&gt;Matt.Brown: Update route names and get XML payload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== v1 - Current ==&lt;br /&gt;
&lt;br /&gt;
=== Spam Settings ===&lt;br /&gt;
&lt;br /&gt;
==== Show Spam Setting ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the spam settings associated with the domain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Show operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/settings'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;domainSpamSettings xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:DomainSpamSettings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;filterLevel&amp;gt;on&amp;lt;/filterLevel&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailSettings&amp;gt;&lt;br /&gt;
    &amp;lt;spamHandling&amp;gt;toAddress&amp;lt;/spamHandling&amp;gt;&lt;br /&gt;
    &amp;lt;hasFolderCleaner&amp;gt;false&amp;lt;/hasFolderCleaner&amp;gt;&lt;br /&gt;
    &amp;lt;spamFolderAgeLimit&amp;gt;0&amp;lt;/spamFolderAgeLimit&amp;gt;&lt;br /&gt;
    &amp;lt;spamFolderNumLimit&amp;gt;0&amp;lt;/spamFolderNumLimit&amp;gt;&lt;br /&gt;
    &amp;lt;spamForwardingAddress&amp;gt;someone@mail.com&amp;lt;/spamForwardingAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/rsEmailSettings&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeSettings&amp;gt;&lt;br /&gt;
    &amp;lt;forwardToDomainQuarantine&amp;gt;on&amp;lt;/forwardToDomainQuarantine&amp;gt;&lt;br /&gt;
    &amp;lt;quarantineOwner&amp;gt;someone@mail.com&amp;lt;/quarantineOwner&amp;gt;&lt;br /&gt;
    &amp;lt;defaultQuarantineOwner&amp;gt;someone@mail.com&amp;lt;/defaultQuarantineOwner&amp;gt;&lt;br /&gt;
  &amp;lt;/exchangeSettings&amp;gt;&lt;br /&gt;
&amp;lt;/domainSpamSettings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;filterLevel&amp;quot;:&amp;quot;on&amp;quot;,&amp;quot;rsEmailSettings&amp;quot;:{&amp;quot;spamHandling&amp;quot;:&amp;quot;toAddress&amp;quot;,&amp;quot;hasFolderCleaner&amp;quot;:false,&amp;quot;spamFolderAgeLimit&amp;quot;:0,&amp;quot;spamFolderNumLimit&amp;quot;:0,&amp;quot;spamForwardingAddress&amp;quot;:&amp;quot;someone@mail.com&amp;quot;},&amp;quot;exchangeSettings&amp;quot;:{&amp;quot;forwardToDomainQuarantine&amp;quot;:&amp;quot;on&amp;quot;,&amp;quot;quarantineOwner&amp;quot;:&amp;quot;someone@mail.com&amp;quot;,&amp;quot;defaultQuarantineOwner&amp;quot;:&amp;quot;someone@mail.com&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
==== Edit Spam Setting ====&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/settings&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edits the domain Spam Settings.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| filterLevel&lt;br /&gt;
| string&lt;br /&gt;
| Spam filter status, must be 'on' or 'off' or 'exclusive' (Required)&lt;br /&gt;
|-&lt;br /&gt;
| overrideUserSettings&lt;br /&gt;
| boolean&lt;br /&gt;
| Set this flag to &amp;quot;true&amp;quot; to override preferences for all users regardless of their own preferences. Otherwise, it sets preferences only for users who have not set their own.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamHandling&lt;br /&gt;
| string&lt;br /&gt;
| Change settings for Rackspace Email Handling. For the options, see the table below.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.hasFolderCleaner&lt;br /&gt;
| boolean&lt;br /&gt;
| Turns on/off Spam Folder Cleaner. Requires &amp;quot;rsEmail.spamHandling&amp;quot; to be set to &amp;quot;toFolder&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamFolderAgeLimit&lt;br /&gt;
| int&lt;br /&gt;
| The number of days that email stays the &amp;quot;Spam&amp;quot; folder before being deleted. Requires &amp;quot;rsEmail.hasFolderCleaner&amp;quot; to be set to &amp;quot;true&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamFolderNumLimit&lt;br /&gt;
| int&lt;br /&gt;
| The max number of emails that will be kept in the &amp;quot;Spam&amp;quot; folder. Requires &amp;quot;rsEmail.hasFolderCleaner&amp;quot; to be set to &amp;quot;true&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| rsEmail.spamForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| The address that spams will be forwarded to. Requires &amp;quot;rsEmail.spamHandling&amp;quot; to be set to &amp;quot;toAddress&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.forwardToDomainQuarantine&lt;br /&gt;
| string&lt;br /&gt;
| Change settings for Exchange Handling. For the options, see the table below.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.quarantineOwner&lt;br /&gt;
| string&lt;br /&gt;
| The address that domain quarantine notifications will be sent to.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.removeQuarantineOwner&lt;br /&gt;
| boolean&lt;br /&gt;
| Set this flag to &amp;quot;true&amp;quot; to remove domain quarantine owner.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.defaultQuarantineOwner&lt;br /&gt;
| string&lt;br /&gt;
| The address that quarantine notifications will be sent to. This applies to new users and users that have not changed their settings to override.&lt;br /&gt;
|-&lt;br /&gt;
| exchange.removeDefaultQuarantineOwner&lt;br /&gt;
| boolean&lt;br /&gt;
| Set this flag to &amp;quot;true&amp;quot; to remove default domain quarantine owner.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rackspace Email Handling Options:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Value''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| toFolder&lt;br /&gt;
| Deliver to Spam folder&lt;br /&gt;
|-&lt;br /&gt;
| delete&lt;br /&gt;
| Delete the email immediately&lt;br /&gt;
|-&lt;br /&gt;
| labelSubject&lt;br /&gt;
| Include &amp;quot;[SPAM]&amp;quot; at the beginning of the subject line&lt;br /&gt;
|-&lt;br /&gt;
| toAddress&lt;br /&gt;
| Deliver to the email address that is specified by &amp;quot;rsEmail.spamForwardingAddress&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exchange Handling Options:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Value''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| on&lt;br /&gt;
| Send all spam to domain quarantine&lt;br /&gt;
|-&lt;br /&gt;
| off&lt;br /&gt;
| Send spam to recipient's quarantine&lt;br /&gt;
|-&lt;br /&gt;
| nonuser&lt;br /&gt;
| Send non-user spam (Contacts, Resources, etc.) to domain quarantine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/me/domains/example.com/spam/settings', &lt;br /&gt;
{&lt;br /&gt;
  'filterLevel' =&amp;gt; 'on',&lt;br /&gt;
  'rsEmail.spamHandling' =&amp;gt; 'toFolder',&lt;br /&gt;
  'rsEmail.hasFolderCleaner' =&amp;gt; 'true',&lt;br /&gt;
  'rsEmail.spamFolderAgeLimit' =&amp;gt; '7',&lt;br /&gt;
  'rsEmail.spamFolderNumLimit' =&amp;gt; '100',&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for Filter Level&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid FilterLevel: high. Input must be: on/off/exclusive&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for RSEmail SpamHandling&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid RSEmail SpamHandling: nonuser. Input must be: toFolder/delete/labelSubject/toAddress&lt;br /&gt;
|-&lt;br /&gt;
| Invalid input for Exchange ForwardToDomainQuarantine&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid input for Exchange ForwardToDomainQuarantine: delete. Input must be: on/off/nonuser&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Blocklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the email address blocklist associated with the domain. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/blocklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;blocklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:blocklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@spam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/blocklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@spam.com&amp;quot;,&amp;quot;name2@spam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or domain to the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/spam/blocklist/anyone@spam.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered current domain&lt;br /&gt;
| 400&lt;br /&gt;
| Adding example.com would blocklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/blocklist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or domain from the blocklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/spam/blocklist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the current blocklist&lt;br /&gt;
| 400&lt;br /&gt;
| abc@junkmail.com is not found on the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit Blocklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/blocklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the blcklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/spam/blocklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IP Blacklist ===&lt;br /&gt;
&lt;br /&gt;
==== Index IP Blacklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipblacklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP blacklist associated with the domain. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/ipblacklist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipBlacklist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:ipBlacklist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;216.12.34.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipBlacklist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;216.12.34.1&amp;quot;,&amp;quot;216.12.34.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add IP Blacklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipblacklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the blacklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/spam/blacklist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete IP Blacklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipblacklist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the blacklist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/spam/ipblacklist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP is not on the current blacklist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1 is not found on the blacklist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit IP Blacklist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipblacklist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the blacklist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/spam/ipblacklist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns email address safelist associated with the domain. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/safelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;safelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:safelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name1@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;name2@notspam.com&amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/safelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;name1@notspam.com&amp;quot;,&amp;quot;name2@notspam.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an email address or domain to the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/spam/safelist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/safelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an email address or domain from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/spam/safelist/anyone@yahoo.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid email or domain&lt;br /&gt;
| 400&lt;br /&gt;
| invalid email address: abc&lt;br /&gt;
|-&lt;br /&gt;
| Entered email or domain is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| anyone@yahoo.com is not found on the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/safelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit email addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of email addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in domains, but not in the TLD (.com, .net, etc). You cannot use wildcards in email addresses. For example, the following are allowed: @%.example.com, @examp%.com.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/spam/safelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '@%.example.com,abc@example.com',&lt;br /&gt;
  'removeList' =&amp;gt; '@examp%.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
==== Index IP Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns IP safelist associated with the domain. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The Index operation only supports the GET HTTP verb.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/example.com/spam/ipsafelist'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ipSafelist xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns=&amp;quot;urn:xml:ipSafelist&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;addresses&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.1&amp;lt;/ip&amp;gt;&lt;br /&gt;
    &amp;lt;ip&amp;gt;192.168.0.2&amp;lt;/ip&amp;gt;&lt;br /&gt;
  &amp;lt;/addresses&amp;gt;&lt;br /&gt;
&amp;lt;/ipSafelist&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;addresses&amp;quot;:[&amp;quot;192.168.0.1&amp;quot;,&amp;quot;192.168.0.2&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
==== Add IP Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipsafelist/(ip address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an IP to the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/12345678/domains/example.com/spam/safelist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete IP Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipsafelist/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes an IP from the safelist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/spam/ipsafelist/216.12.34.1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Entered invalid IP address&lt;br /&gt;
| 400&lt;br /&gt;
| invalid ip address: 123&lt;br /&gt;
|-&lt;br /&gt;
| Entered IP is not on the current safelist&lt;br /&gt;
| 400&lt;br /&gt;
| 216.12.34.1 is not found on the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Edit IP Safelist ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)/spam/ipsafelist&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Edit IP addresses on the safelist.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| addList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to add to the list&lt;br /&gt;
|-&lt;br /&gt;
| removeList&lt;br /&gt;
| string&lt;br /&gt;
| Comma separated list of IP addresses to remove from the list&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
You can use a '%' as a wildcard in the last octets to specify IP ranges. For example: 216.12.34.%, 216.12.%.%, 216.%.%.%.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/spam/ipsafelist',&lt;br /&gt;
{&lt;br /&gt;
  'addList' =&amp;gt; '216.12.34.%,216.12.%.%',&lt;br /&gt;
  'removeList' =&amp;gt; '216.%.%.%'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Matt.Brown</name></author>	</entry>

	</feed>