<?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=Kevin.lin&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=Kevin.lin&amp;*"/>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Special:Contributions/Kevin.lin"/>
		<updated>2026-05-02T13:47:09Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=374</id>
		<title>Exchange Mailbox (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=374"/>
				<updated>2010-05-03T16:14:41Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Removed Spam settings to its own page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Shows a list of mailboxes under 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxList.xsd MailboxList.xsd]&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;mailboxList 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:mailboxList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox55&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox6&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/mailboxList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox55&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox6&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;}]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Mailbox.xsd Mailbox.xsd]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;samAccountName&amp;quot; is the logon name used to support clients and servers running older versions of the operating system.&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', 'text/xml'&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;mailbox 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:mailbox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;2048&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;currentUsage&amp;gt;0&amp;lt;/currentUsage&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;isPublicFolderAdmin&amp;gt;true&amp;lt;/isPublicFolderAdmin&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;contactInfo&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;API&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;Test&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;jobTitle&amp;gt;Dev&amp;lt;/jobTitle&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;My Company&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;department&amp;gt;R&amp;amp;amp;D&amp;lt;/department&amp;gt;&lt;br /&gt;
    &amp;lt;businessNumber&amp;gt;111-1111&amp;lt;/businessNumber&amp;gt;&lt;br /&gt;
    &amp;lt;homeNumber&amp;gt;222-2222&amp;lt;/homeNumber&amp;gt;&lt;br /&gt;
    &amp;lt;mobileNumber&amp;gt;333-3333&amp;lt;/mobileNumber&amp;gt;&lt;br /&gt;
    &amp;lt;faxNumber&amp;gt;444-4444&amp;lt;/faxNumber&amp;gt;&lt;br /&gt;
    &amp;lt;pagerNumber&amp;gt;1234&amp;lt;/pagerNumber&amp;gt;&lt;br /&gt;
    &amp;lt;addressLine1&amp;gt;123 Main Street&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Blacksburg&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;state&amp;gt;VA&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;zip&amp;gt;24060&amp;lt;/zip&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;notes&amp;gt;My Notes&amp;lt;/notes&amp;gt;&lt;br /&gt;
  &amp;lt;/contactInfo&amp;gt;&lt;br /&gt;
  &amp;lt;emailForwardingAddress&amp;gt;apiexmailbox8@apidomain24.com&amp;lt;/emailForwardingAddress&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddressList&amp;gt;&lt;br /&gt;
    &amp;lt;emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;address&amp;gt;apiexmailbox90@apidomain92.com&amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;replyTo&amp;gt;true&amp;lt;/replyTo&amp;gt;&lt;br /&gt;
    &amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/emailAddressList&amp;gt;&lt;br /&gt;
  &amp;lt;hasBlackBerryMobileService&amp;gt;false&amp;lt;/hasBlackBerryMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;hasActiveSyncMobileService&amp;gt;false&amp;lt;/hasActiveSyncMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;samAccountName&amp;gt;apiexmailbox90_53B5B&amp;lt;/samAccountName&amp;gt;&lt;br /&gt;
&amp;lt;/mailbox&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;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;size&amp;quot;:2048,&amp;quot;currentUsage&amp;quot;:0,&amp;quot;isHidden&amp;quot;:false,&amp;quot;isPublicFolderAdmin&amp;quot;:true,&amp;quot;enabled&amp;quot;:true,&amp;quot;contactInfo&amp;quot;:{&amp;quot;firstName&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;jobTitle&amp;quot;:&amp;quot;Dev&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;My Company&amp;quot;,&amp;quot;department&amp;quot;:&amp;quot;R&amp;amp;D&amp;quot;,&amp;quot;businessNumber&amp;quot;:&amp;quot;111-1111&amp;quot;,&amp;quot;homeNumber&amp;quot;:&amp;quot;222-2222&amp;quot;,&amp;quot;mobileNumber&amp;quot;:&amp;quot;333-3333&amp;quot;,&amp;quot;faxNumber&amp;quot;:&amp;quot;444-4444&amp;quot;,&amp;quot;pagerNumber&amp;quot;:&amp;quot;1234&amp;quot;,&amp;quot;addressLine1&amp;quot;:&amp;quot;123 Main Street&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;Blacksburg&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;VA&amp;quot;,&amp;quot;zip&amp;quot;:&amp;quot;24060&amp;quot;,&amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&amp;quot;notes&amp;quot;:&amp;quot;My Notes&amp;quot;},&amp;quot;emailForwardingAddress&amp;quot;:&amp;quot;apiexmailbox8@apidomain24.com&amp;quot;,&amp;quot;emailAddressList&amp;quot;:[{&amp;quot;address&amp;quot;:&amp;quot;apiexmailbox90@apidomain92.com&amp;quot;,&amp;quot;replyTo&amp;quot;:true}],&amp;quot;hasBlackBerryMobileService&amp;quot;:false,&amp;quot;hasActiveSyncMobileService&amp;quot;:false,&amp;quot;samAccountName&amp;quot;:&amp;quot;apiexmailbox90_53B5B&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a mailbox using the specified form fields. All required fields must be supplied when adding. Other fields may be omitted.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| positive integer&lt;br /&gt;
| Mailbox size in megabytes (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the mailbox is hidden from the Global Address List&lt;br /&gt;
|-&lt;br /&gt;
| isPublicFolderAdmin&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the account is a public folder administrator&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| First name&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Last name&lt;br /&gt;
|-&lt;br /&gt;
| company&lt;br /&gt;
| string&lt;br /&gt;
| Company&lt;br /&gt;
|-&lt;br /&gt;
| department&lt;br /&gt;
| string&lt;br /&gt;
| Department&lt;br /&gt;
|-&lt;br /&gt;
| jobTitle&lt;br /&gt;
| string&lt;br /&gt;
| Job title&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| City&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| State&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Zip or postal code&lt;br /&gt;
|-&lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| businessNumber&lt;br /&gt;
| string&lt;br /&gt;
| Business phone number&lt;br /&gt;
|-&lt;br /&gt;
| pagerNumber&lt;br /&gt;
| string&lt;br /&gt;
| Pager phone number&lt;br /&gt;
|-&lt;br /&gt;
| homeNumber&lt;br /&gt;
| string&lt;br /&gt;
| Home phone number&lt;br /&gt;
|-&lt;br /&gt;
| mobileNumber&lt;br /&gt;
| string&lt;br /&gt;
| Mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
| faxNumber&lt;br /&gt;
| string&lt;br /&gt;
| Fax phone number&lt;br /&gt;
|-&lt;br /&gt;
| notes&lt;br /&gt;
| string&lt;br /&gt;
| Notes field&lt;br /&gt;
|-&lt;br /&gt;
| emailForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| Forwarding email address (If this field is assigned an email address, then email forwarding will be turned on. If this field is not assigned or assigned an empty string, then email forwarding will be disabled.)&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| string&lt;br /&gt;
| Enable/Disable mailbox, input must be &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;&lt;br /&gt;
|}&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', 'text/xml', &lt;br /&gt;
{ &lt;br /&gt;
  'displayName' =&amp;gt; 'Alex Smith',&lt;br /&gt;
  'password' =&amp;gt; 'Secret123!@#',&lt;br /&gt;
  'size' =&amp;gt; '2048'&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml',&lt;br /&gt;
{ &lt;br /&gt;
  'homeNumber' =&amp;gt; '8005551234'&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;
| New mailbox name (user name) doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid user name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox password doesn't meet the password pattern requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be at least 8 characters long&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox name (user name) already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The mailbox and mailbox contents are deleted permanently.&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds a mailbox's email address.&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/emailaddresses/alex@example.com', {}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delete Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the email address. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The operation will fail if the email address does not exist.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spam Settings ==&lt;br /&gt;
&lt;br /&gt;
See [[Mailbox_Spam_(Rest_API)| Exchange Mailbox Spam Settings]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailbox Permissions ==&lt;br /&gt;
&lt;br /&gt;
Exchange mailboxes can be given permissions. A permission is defined as a tuple (mailbox, permissionType).&lt;br /&gt;
&lt;br /&gt;
permissionType:= (SendAs | FullAccess | Both)&lt;br /&gt;
&lt;br /&gt;
=== Index Permissions ===&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user)/permissions&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Shows the current set of permissions granted on a user's mailbox.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;permissionList 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:permissionList&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;0&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;permissions&amp;gt;&lt;br /&gt;
    &amp;lt;permission&amp;gt;&lt;br /&gt;
      &amp;lt;emailAddress&amp;gt;joe.schmoe@enterpriseallservices.net&amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;permissionType&amp;gt;fullAccess&amp;lt;/permissionType&amp;gt;&lt;br /&gt;
    &amp;lt;/permission&amp;gt;&lt;br /&gt;
  &amp;lt;/permissions&amp;gt;&lt;br /&gt;
&amp;lt;/permissionList&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;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:0,&amp;quot;permissions&amp;quot;:[{&amp;quot;emailAddress&amp;quot;:&amp;quot;joe.schmoe@enterpriseallservices.net&amp;quot;,&amp;quot;permissionType&amp;quot;:&amp;quot;fullAccess&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The above result shows the permission list for user Jane Doe's mailbox. The list contains one entry corresponding to &lt;br /&gt;
that of user Joe Schmoe with permission type of &amp;quot;FullAccess&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Adding Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Grants user2 the specified permission on mailbox of user1.&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;
| permission&lt;br /&gt;
| string&lt;br /&gt;
| permissionType (Required)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', {'permission' =&amp;gt; 'fullAccess'}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The above result shows that on the mailbox of user Jane Doe, the user John Doe has been granted the permission of type &amp;quot;fullAccess&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Editing Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Modifies permission granted to user2 on the mailbox of user1.&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;
| permission&lt;br /&gt;
| string&lt;br /&gt;
| permissionType (Required)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', &lt;br /&gt;
{'permission' =&amp;gt; 'both'}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The permission granted to user John Doe on the mailbox of Jane Doe is modified to &amp;quot;both&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Deleting Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes permission granted to user2 on the mailbox of user1.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The permission granted to user John Doe on the mailbox of Jane Doe is deleted.&lt;br /&gt;
&lt;br /&gt;
== BlackBerry Mobile Service ==&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/blackberrymobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that has BlackBerry mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/BlackberryMobileServiceList.xsd BlackberryMobileServiceList.xsd]&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/blackberrymobileservices', 'text/xml'&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;blackBerryMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:blackBerryMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/blackBerryMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a BlackBerry mobile service to the mailbox.&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;
| activationPassword&lt;br /&gt;
| string&lt;br /&gt;
| Activation password (Required)&lt;br /&gt;
|}&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/john.smith/blackberrymobileservice', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'activationPassword' =&amp;gt; '12345'&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;
| Mailbox already has BlackBerry Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has BlackBerry Mobile Service already&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a BlackBerry mobile service from a mailbox.&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/john.smith/blackberrymobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ActiveSync Mobile Service ==&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/activesyncmobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that have ActiveSync mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileServiceList.xsd ActiveSyncMobileServiceList.xsd]&lt;br /&gt;
&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/activesyncmobileservices', 'text/xml'&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;activeSyncMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:activeSyncMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the mailbox ActiveSync mobile service setup information to access Hosted Exchange 2007.&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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileService.xsd ActiveSyncMobileService.xsd]&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/john.smith/activesyncmobileservice', 'text/xml'&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;activeSyncMobileService 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:activeSyncMobileService&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddress&amp;gt;john.smith@example.com&amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;serverAddress&amp;gt;mex07A.emailsrvr.com&amp;lt;/serverAddress&amp;gt;&lt;br /&gt;
  &amp;lt;userName&amp;gt;johnsmith1234&amp;lt;/userName&amp;gt;&lt;br /&gt;
  &amp;lt;domainAddress&amp;gt;mex07A.mlsrvr.com&amp;lt;/domainAddress&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileService&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;emailAddress&amp;quot;:&amp;quot;john.smith@example.com&amp;quot;,&amp;quot;serverAddress&amp;quot;:&amp;quot;mex07A.emailsrvr.com&amp;quot;,&amp;quot;userName&amp;quot;:&amp;quot;johnsmith1234&amp;quot;,&amp;quot;domainAddress&amp;quot;:&amp;quot;mex07A.mlsrvr.com&amp;quot;}&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;
| Mailbox has no ActiveSync service&lt;br /&gt;
| 404&lt;br /&gt;
| User john.smith@example.com has no active ActiveSync Mobile Service.&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a ActiveSync service to the mailbox.&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/john.smith/activesyncmobileservice', 'text/xml', {}&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;
| Mailbox already has ActiveSync Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has ActiveSync Mobile Service already&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a ActiveSync mobile service from a mailbox.&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/john.smith/activesyncmobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_(Rest_API)&amp;diff=373</id>
		<title>Domain (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_(Rest_API)&amp;diff=373"/>
				<updated>2010-05-03T16:12:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Moved spam settings to its own page. Added public folders, deprecated good mobile.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of domains under the account. If a customer account is specified, then a list of domains under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of domains owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v0/customers/me/domains'&amp;lt;/nowiki&amp;gt;. To retrieve a list of domains owned by all customer sub-accounts and your own account, use &amp;quot;all&amp;quot; as the customer account number.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DomainList.xsd DomainList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/all/domains?size=100&amp;amp;page=1', 'text/xml'&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;domainList 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: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;3&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;apidomain53.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100000&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apidomain66.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100001&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apidomain68.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100002&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&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;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;domains&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;apidomain53.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100000&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain66.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100001&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain68.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100002&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified domain name.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Domain.xsd Domain.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/999999/domains/example.com', 'text/xml'&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;domain 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:domain&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apidomain21.com&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;100000&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeBaseMailboxSize&amp;gt;2048&amp;lt;/exchangeBaseMailboxSize&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeUsedStorage&amp;gt;0&amp;lt;/exchangeUsedStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeTotalStorage&amp;gt;18432&amp;lt;/exchangeTotalStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeExtraStorage&amp;gt;10240&amp;lt;/exchangeExtraStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeMaxNumMailboxes&amp;gt;4&amp;lt;/exchangeMaxNumMailboxes&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailBaseMailboxSize&amp;gt;2048&amp;lt;/rsEmailBaseMailboxSize&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailMaxNumberMailboxes&amp;gt;4&amp;lt;/rsEmailMaxNumberMailboxes&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailExtraStorage&amp;gt;10240&amp;lt;/rsEmailExtraStorage&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailUsedStorage&amp;gt;0&amp;lt;/rsEmailUsedStorage&amp;gt;&lt;br /&gt;
  &amp;lt;aliases /&amp;gt;&lt;br /&gt;
  &amp;lt;archivingServiceEnabled&amp;gt;false&amp;lt;/archivingServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;publicFoldersEnabled&amp;gt;false&amp;lt;/publicFoldersEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;blackBerryMobileServiceEnabled&amp;gt;true&amp;lt;/blackBerryMobileServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;blackBerryLicenses&amp;gt;4&amp;lt;/blackBerryLicenses&amp;gt;&lt;br /&gt;
  &amp;lt;activeSyncMobileServiceEnabled&amp;gt;true&amp;lt;/activeSyncMobileServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;activeSyncLicenses&amp;gt;4&amp;lt;/activeSyncLicenses&amp;gt;&lt;br /&gt;
&amp;lt;/domain&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain21.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100000&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;,&lt;br /&gt;
&amp;quot;exchangeBaseMailboxSize&amp;quot;:2048,&amp;quot;exchangeUsedStorage&amp;quot;:0,&amp;quot;exchangeTotalStorage&amp;quot;:18432,&lt;br /&gt;
&amp;quot;exchangeExtraStorage&amp;quot;:10240,&amp;quot;exchangeMaxNumMailboxes&amp;quot;:4,&amp;quot;rsEmailBaseMailboxSize&amp;quot;:2048,&lt;br /&gt;
&amp;quot;rsEmailMaxNumberMailboxes&amp;quot;:4,&amp;quot;rsEmailExtraStorage&amp;quot;:10240,&amp;quot;rsEmailUsedStorage&amp;quot;:0,&lt;br /&gt;
&amp;quot;aliases&amp;quot;:[],&amp;quot;archivingServiceEnabled&amp;quot;:false,&amp;quot;publicFoldersEnabled&amp;quot;:false,&lt;br /&gt;
&amp;quot;blackBerryMobileServiceEnabled&amp;quot;:true,&amp;quot;blackBerryLicenses&amp;quot;:4,&amp;quot;activeSyncMobileServiceEnabled&amp;quot;:true,&lt;br /&gt;
&amp;quot;activeSyncLicenses&amp;quot;:4}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add/Edit (Reseller Only)==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
 Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a new domain to the account with the data specified. To add a domain to your own account, use your own account id.&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;
| serviceType&lt;br /&gt;
| string&lt;br /&gt;
| Domain service type. &amp;quot;rsemail&amp;quot; = &amp;quot;Rackspace Email Only&amp;quot;. &amp;quot;exchange&amp;quot; = &amp;quot;Exchange Only&amp;quot;. &amp;quot;both&amp;quot; = &amp;quot;Rackspace Email and Exchange&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| exchangeExtraStorage&lt;br /&gt;
| int&lt;br /&gt;
| Exchange service extra storage in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| exchangeMaxNumMailboxes&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed under the domain Exchange service. Required for Adding Exchange service&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailBaseMailboxSize&lt;br /&gt;
| int&lt;br /&gt;
| Rackspace Email base mailbox size in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailMaxNumberMailboxes&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed under the domain Rackspace Email service. Required for Adding Rackspace Email service&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailExtraStorage&lt;br /&gt;
| int&lt;br /&gt;
| Rackspace Email service extra storage in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| blackBerryMobileServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain BlackBerry Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| blackBerryLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have BlackBerry Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| activeSyncMobileServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain ActiveSync Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| activeSyncLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have ActiveSync Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| goodMobileServiceEnabled (deprecated)&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain Good Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| goodMobileLicenses (deprecated)&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have Good Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| archivingServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain archiving service&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;
post '/customers/123455/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'maxNumMailboxes' =&amp;gt; '5',&lt;br /&gt;
  'extraStorage' =&amp;gt; '1024'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/123455/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'maxNumMailboxes' =&amp;gt; '25',&lt;br /&gt;
  'extraStorage' =&amp;gt; '2048'&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;
| New domain name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid domain name&lt;br /&gt;
|-&lt;br /&gt;
| New domain name already exists&lt;br /&gt;
| 400&lt;br /&gt;
| abc.com already exists as a domain or alternate domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Move (Reseller Only)==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/customers/&lt;br /&gt;
      (new customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Moves the domain to another customer account.&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;
| moveDomain&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicate whether or not moving the domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Note 'Move Domain' and 'Edit Domain' share the same URI and HTTP verb. When the domain doesn't belong to the customer and 'moveDomain' is set to 'true', API will take the request as a 'Move Domain' call.&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/123456/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'moveDomain' =&amp;gt; 'true'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delete (Reseller Only)==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the domain.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The domain and all the mailboxes, mailbox contents, groups, and contacts are deleted permanently.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/newcompany.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Alternate Domains ==&lt;br /&gt;
&lt;br /&gt;
=== Index (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/&lt;br /&gt;
                domains/(domain name)/alternatedomains&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of Domain Aliases and Accepted Domains for the domain. The type of the alternate domain is indicated by the 'type' data field. The XML schema for the returned data is [http://api.emailsrvr.com/v0/Schemas/DomainSplitRouting.xsd DomainAlternateList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/test.com/alternatedomains', 'text/xml'&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;alternateDomainList 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:domainAlternateList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;alternateDomains&amp;gt;&lt;br /&gt;
    &amp;lt;alternateDomain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;domainalias.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;DomainAlias&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/alternateDomain&amp;gt;&lt;br /&gt;
    &amp;lt;alternateDomain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;accepteddomain.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;AcceptedDomain&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/alternateDomain&amp;gt;&lt;br /&gt;
  &amp;lt;/alternateDomains&amp;gt;&lt;br /&gt;
&amp;lt;/alternateDomainList&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;lt;pre&amp;gt;{&amp;quot;alternateDomains&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;domainalias.com&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;DomainAlias&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;accepteddomain.com&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;AcceptedDomain&amp;quot;}]}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 [POST] https://api.emailsrvr.com/v0/customers/(customer account number)&lt;br /&gt;
    /domains/(domain name)/alternatedomains/(alternate domain name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds either a Domain Alias or Accepted Domain to the domain.&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;
| type&lt;br /&gt;
| string&lt;br /&gt;
| Alternate domain type. Send &amp;quot;DomainAlias&amp;quot; for a domain alias, and &amp;quot;AcceptedDomain&amp;quot; for an accepted domain. (Required)&lt;br /&gt;
|-&lt;br /&gt;
| createForExistingRecipients&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether the alternate addresses should be created for existing mailboxes when adding an Accepted Domain. Sending this field in the request when the type is Domain Alias will throw an error. This defaults to false.&lt;br /&gt;
|-&lt;br /&gt;
|}&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;
post '/customers/123456/domains/example.com/alternatedomains/accepteddomain.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'type' =&amp;gt; 'AcceptedDomain'&lt;br /&gt;
  'createForExistingRecipients' =&amp;gt; 'true'&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;
| New domain name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid domain name&lt;br /&gt;
|-&lt;br /&gt;
| Alternate domain already exists&lt;br /&gt;
| 400&lt;br /&gt;
| abc.com already exists as a domain or alternate domain&lt;br /&gt;
|-&lt;br /&gt;
| The 'createForExistingRecipients' field was sent with either data, or as a null field. It should not be included in the form data at all.&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid Alternate Domain Setting: createForExistingRecipients is an invalid setting for Domain Aliases&lt;br /&gt;
|-&lt;br /&gt;
| The only valid values for 'type' are 'DomainAlias' and 'AcceptedDomain', for a Domain Alias and Accepted Domain respectively.&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid Alternate Domain type&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/&lt;br /&gt;
      domains/(domain name)/alternatedomains/(alternate domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the alternate domain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/alternatedomains/accepteddomain.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Split Domain Routing ==&lt;br /&gt;
&lt;br /&gt;
=== Show Settings ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/splitdomainrouting&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
Shows the current external email server. The XML schema document for the output of this command is [http://api.emailsrvr.com/v0/Schemas/DomainSplitRouting.xsd DomainSplitRouting.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/company.com/splitdomainrouting', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;splitDomainRouting 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:splitDomainRouting&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;externalServer&amp;gt;email.externalserver.com&amp;lt;/externalServer&amp;gt;&lt;br /&gt;
&amp;lt;/splitDomainRouting&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;externalServer&amp;quot;:&amp;quot;email.externalserver.com&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Edit Settings ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/splitdomainrouting&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This command sets the external email server. This command will return a success when the verification passes. Since this involves communication to the external server the request may take some time. If the verification fails a 400 return code will be sent back with the verification's error message.&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;
| externalServer&lt;br /&gt;
| string&lt;br /&gt;
| The address of the external email server. To turn off split domain routing send 'none'. (Required)&lt;br /&gt;
|-&lt;br /&gt;
| verificationAddress&lt;br /&gt;
| string&lt;br /&gt;
| An email address part of your domain or one of the alternate domains that the external server is already set up to handle. (Required only when turning on split domain routing, Do not send this field if turning off.)&lt;br /&gt;
|-&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/12345678/domains/company.com/splitdomainrouting', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'externalServer' =&amp;gt; 'email.externalserver.com',&lt;br /&gt;
  'verificationAddress' =&amp;gt; 'externalaccount@company.com',&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
| The SMTP host could not be found.&lt;br /&gt;
| 400&lt;br /&gt;
| One of the verification error messages.&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
== Archiving SSO Login URL ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/archivingSSOLoginURL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Gets the domain archiving service SSO login URL.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The retrieved URL can be used in browser to access the domain archiving control panel.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/company.com/archivingSSOLoginURL', 'text/xml'&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;
| No archiving service&lt;br /&gt;
| 404&lt;br /&gt;
| Domain abc.com has no archiving service enabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Domain Public Folders (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
   [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)/ex/publicfolders&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Enables the Exchange Public Folders feature on the domain. Once enabled, it cannot be disabled.&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;
| enabled&lt;br /&gt;
| string&lt;br /&gt;
| Whether to enable public folders. Once enabled, it cannot be disabled.&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/12345678/domains/company.com/ex/publicFolders', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'enabled' =&amp;gt; 'true'&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;
| Public folders cannot be turned off after it's been turned on.&lt;br /&gt;
| 400&lt;br /&gt;
| Public Folders cannot be disabled once enabled&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=372</id>
		<title>Customer (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=372"/>
				<updated>2010-05-03T16:06:15Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Added customerNumber search field.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the list of customers that the authenticated user has access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Filter/Search'':&lt;br /&gt;
&lt;br /&gt;
Searching will return results based on the name, account number and reference number fields. We also provide a separate query method ?referenceNumber=123456 that will return a Show on the exact customer whose reference number is as specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/CustomerList.xsd CustomerList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?size=100&amp;amp;page=1', 'text/xml'&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;customerList 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:customerList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;customers&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 39&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460181&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;23&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 50&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460183&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;10&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;/customers&amp;gt;&lt;br /&gt;
&amp;lt;/customerList&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;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;customers&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 39&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460181&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;23&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 50&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460183&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;10&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To do the show operation on the account that is logged in instead of a customer's account, use &amp;quot;me&amp;quot; in the place of the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v0/customers/me'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Customer.xsd Customer.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Reference Number''&lt;br /&gt;
&lt;br /&gt;
The query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Examples'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/me', 'text/xml'&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;customer 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:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
&amp;lt;/customer&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;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Example of querying with Reference Number''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?referenceNumber=49', 'text/xml'&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;customer 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:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
&amp;lt;/customer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add/Edit (Reseller Only)==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 Add: [POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Edit: [PUT] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add/Edit a new sub-account. Note that customer number is not known until the customer is added.&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;
| name&lt;br /&gt;
| string&lt;br /&gt;
| The customer's display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| referenceNumber&lt;br /&gt;
| string&lt;br /&gt;
| The reference number of this account&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;
post '/customers', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'Name'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'NewName',&lt;br /&gt;
 'referenceNumber' =&amp;gt; '12345'&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;
| The name field was not specified&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|-&lt;br /&gt;
| The name field cannot be blank&lt;br /&gt;
| 400&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Names cannot start with a space&lt;br /&gt;
| 400&lt;br /&gt;
| Improper Customer Name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [DELETE] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=371</id>
		<title>Rest API</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=371"/>
				<updated>2010-05-03T15:59:32Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Large sync.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Recent Changes ==&lt;br /&gt;
&lt;br /&gt;
'''03/28/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Rest API can be accessed by Business Users. However, not all operations are available.&lt;br /&gt;
* Domain Public Folders can be enabled now.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
Deprecated:&lt;br /&gt;
* Good Mobile Service is no longer supported.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''03/14/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Index/Add/Edit/Delete Mailbox Permissions.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
Known Issues:&lt;br /&gt;
* Domain public folders can't be enabled using Rest API at this moment. The next release (on 03/21/2010) will fix this problem.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''01/31/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Index/Show/Add/Edit/Delete Resource Mailboxes.&lt;br /&gt;
* Index/Add/Delete Resource Mailbox Admins.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''11/22/09 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
*Index/Add/Delete Alternate Domains.&lt;br /&gt;
*Show/Edit Domain Spam Settings.&lt;br /&gt;
*Index/Add/Delete Domain Blacklist/Safelist.&lt;br /&gt;
*Show/Edit Split Domain Routing.&lt;br /&gt;
*Show Mailbox ActiveSync Setup Info.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Email &amp;amp; Apps Control Panel 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;
== 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;
| None&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|Domain Public Folders ]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_(Rest_API)| Domain Spam Settings]]&lt;br /&gt;
| /customers/123456789/domains/example.com/spam&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;
&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 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;
#:* Click on My Account at the top of the [https://apps.rackspace.com/?cp Control Panel web interface]. Under the Administrators heading there will be an link for the API keys page.&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/v0&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/v0/customers/me&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 will need to make HTTP requests to remote servers. Most programming languages have this function provided in its class library. 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;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Calls without [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] (formerly SSL) will complete successfully but it is HIGHLY RECOMMENDED that TLS always be used. Interception of unencrypted communication will allow a third party to have complete access to all functions available via the API.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some language libraries just using an URL 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/v0/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;
| v0 (current)&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| http://signup.apps.rackspace.com/api-wiki/index.php/Rest_API&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/. 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;
{| 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;
&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 that are generated from the [https://apps.rackspace.com/?cp Control Panel Web interface]. The key generation page can be found by clicking 'My Account' at the top, then 'Generate API Keys' in the Administrators section.&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&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;
&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 current limit is 60 requests 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;
&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 /v0/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 /v0/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;
In the event of an error, the error message will be returned the HTTP header '''x-error-message''' and an HTTP Status Code in the '''400'''s or '''500'''s will be returned.&lt;br /&gt;
&lt;br /&gt;
Note: Every language's HTTP library provides methods for retrieving HTTP response codes and response headers.&lt;br /&gt;
&lt;br /&gt;
Below are some errors that are common to many operations. Each operation also has some specific errors which are outlined with the operation. &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;
|Format is invalid&lt;br /&gt;
|400&lt;br /&gt;
|When requesting an index or show on a resource the 'Accept' header should be either 'text/xml' or 'application/json'&lt;br /&gt;
|-&lt;br /&gt;
|Expectation  Failed: See [[Handling HTTP code 417: Expectation failed]]&lt;br /&gt;
|417&lt;br /&gt;
|(none)&lt;br /&gt;
|-&lt;br /&gt;
|Customer account number is invalid&lt;br /&gt;
|404&lt;br /&gt;
|Invalid account number&lt;br /&gt;
|-&lt;br /&gt;
|Domain is not found&lt;br /&gt;
|404&lt;br /&gt;
|&amp;lt;domain name&amp;gt; not found&lt;br /&gt;
|-&lt;br /&gt;
|Mailbox is not found&lt;br /&gt;
|404&lt;br /&gt;
|Mailbox not found&lt;br /&gt;
|-&lt;br /&gt;
|Required form field is missing&lt;br /&gt;
|400&lt;br /&gt;
|Missing required field: &amp;lt;required field&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Required form field has null or empty string input&lt;br /&gt;
|400&lt;br /&gt;
|Required field &amp;lt;required field&amp;gt; cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
|Integer form field has non-integer input&lt;br /&gt;
|400&lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be an integer&lt;br /&gt;
|-&lt;br /&gt;
|Boolean form field has non-boolean input&lt;br /&gt;
|400&lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be True or False&lt;br /&gt;
|-&lt;br /&gt;
|Form data has an unrecognized field&lt;br /&gt;
|400&lt;br /&gt;
|Unrecognized field: &amp;lt;field&amp;gt;&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;
==== 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;
==== 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='/v0', 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.Collections.Specialized;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net;&lt;br /&gt;
&lt;br /&gt;
public class WebMethods&lt;br /&gt;
{&lt;br /&gt;
  private WebClientBase client;&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 WebMethods(WebClientBase client, string baseUrl, string apiKey, string secretKey)&lt;br /&gt;
  {&lt;br /&gt;
    this.client = client;&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 virtual string Get(string url)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        return client.DownloadString(baseUrl + url);&lt;br /&gt;
      },&lt;br /&gt;
      format);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public virtual string Post(string url, NameValueCollection data)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        var bytes = client.UploadValues(baseUrl + url, data);&lt;br /&gt;
        return Encoding.UTF8.GetString(bytes);&lt;br /&gt;
      },&lt;br /&gt;
      format);&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;
    client.Headers[&amp;quot;User-Agent&amp;quot;] = userAgent;&lt;br /&gt;
&lt;br /&gt;
    var dateTime = DateTime.UtcNow.ToString(&amp;quot;yyyyMMddHHmmss&amp;quot;);&lt;br /&gt;
&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;
    client.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;
    client.Headers[&amp;quot;Accept&amp;quot;] = format;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private string MakeRemoteCall(Func&amp;lt;WebClientBase, string&amp;gt; remoteCall, string format)&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      SignMessage();&lt;br /&gt;
      AssignFormat(format);&lt;br /&gt;
      return remoteCall.Invoke(client);&lt;br /&gt;
    }&lt;br /&gt;
    catch (WebException e)&lt;br /&gt;
    {&lt;br /&gt;
      throw new ApiException(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=370</id>
		<title>Rest API</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=370"/>
				<updated>2010-05-03T15:49:36Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: /* Operations */ Double-spacing fix.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Recent Changes ==&lt;br /&gt;
&lt;br /&gt;
'''03/28/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Rest API can be accessed by Business Users. However, not all operations are available.&lt;br /&gt;
* Domain Public Folders can be enabled now.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
Deprecated:&lt;br /&gt;
* Good Mobile Service is no longer supported.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''03/14/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Index/Add/Edit/Delete Mailbox Permissions.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
Known Issues:&lt;br /&gt;
* Domain public folders can't be enabled using Rest API at this moment. The next release (on 03/21/2010) will fix this problem.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''01/31/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Index/Show/Add/Edit/Delete Resource Mailboxes.&lt;br /&gt;
* Index/Add/Delete Resource Mailbox Admins.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''11/22/09 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
*Index/Add/Delete Alternate Domains.&lt;br /&gt;
*Show/Edit Domain Spam Settings.&lt;br /&gt;
*Index/Add/Delete Domain Blacklist/Safelist.&lt;br /&gt;
*Show/Edit Split Domain Routing.&lt;br /&gt;
*Show Mailbox ActiveSync Setup Info.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Email &amp;amp; Apps Control Panel 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;
== 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;
| None&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|Domain Public Folders ]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_(Rest_API)| Domain Spam Settings]]&lt;br /&gt;
| /customers/123456789/domains/example.com/spam&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;
&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;
== Accessing the API ==&lt;br /&gt;
&lt;br /&gt;
Your application will need to make HTTP requests to remote servers. Most programming languages have this function provided in its class library. 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;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Calls without [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] (formerly SSL) will complete successfully but it is HIGHLY RECOMMENDED that TLS always be used. Interception of unencrypted communication will allow a third party to have complete access to all functions available via the API.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some language libraries just using an URL 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/v0/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;
| v0 (current)&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| http://signup.apps.rackspace.com/api-wiki/index.php/Rest_API&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/. 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;
{| 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;
&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 that are generated from the Control Panel Web interface.&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;'''Signature'''&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=''&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Signature''':&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;
&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 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;
==== 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;
&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 consistent and is outlined in the table 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''&lt;br /&gt;
|-&lt;br /&gt;
| Accept&lt;br /&gt;
| The requested content type (required regardless of type of operation). 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 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&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;
&lt;br /&gt;
&lt;br /&gt;
'''Reference Number'''&lt;br /&gt;
&lt;br /&gt;
For the customer object only, the query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number. The result if found is the detail page of the customer.&lt;br /&gt;
&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 current limit is 60 requests 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;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Example requests:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index of Exchange Mailboxes:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    GET /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100 HTTP/1.1&lt;br /&gt;
        Request Method: GET&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100&lt;br /&gt;
        Request Version: 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;
&lt;br /&gt;
 &lt;br /&gt;
Adding New Exchange Mailbox:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    POST /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith HTTP/1.1&lt;br /&gt;
        Request Method: POST&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
        Request Version: 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;
    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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Responses ===&lt;br /&gt;
&lt;br /&gt;
On a successfully executed request, a 200 HTTP Code is returned. Requested data is also returned if the operation was a Show or Index action. If the request is unsuccessful, then an error HTTP Code is returned with a message detailing the error. The errors and their corresponding codes are detailed on the operation pages.&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 extract data from 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 library with the functions necessary for whichever method you choose to use to extract data.&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;
==== Errors ====&lt;br /&gt;
&lt;br /&gt;
If a request is not sucessfully completed an HTTP error code in the 400s or 500s will be returned. An error code of 500 generally indicates an error with our servers whereas an error code in the 400s is generally an error with the data sent to the server. In such cases the HTTP response will return a header named 'x-error-message'. Below are some errors that are common to many operations. Each operation also has some specific errors which are outlined with the operation. &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;
|Format is invalid&lt;br /&gt;
|400&lt;br /&gt;
|When requesting an index or show on a resource the 'Accept' header should be either 'text/xml' or 'application/json'&lt;br /&gt;
|-&lt;br /&gt;
|Customer account number is invalid&lt;br /&gt;
|404&lt;br /&gt;
|Invalid account number&lt;br /&gt;
|-&lt;br /&gt;
|Domain is not found&lt;br /&gt;
|404 &lt;br /&gt;
|&amp;lt;domain name&amp;gt; not found&lt;br /&gt;
|-&lt;br /&gt;
|Mailbox is not found&lt;br /&gt;
|404&lt;br /&gt;
|Mailbox not found&lt;br /&gt;
|-&lt;br /&gt;
|Required form field is missing &lt;br /&gt;
|400 &lt;br /&gt;
|Missing required field: &amp;lt;required field&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Required form field has null or empty string input &lt;br /&gt;
|400 &lt;br /&gt;
|Required field &amp;lt;required field&amp;gt; cannot be empty &lt;br /&gt;
|-&lt;br /&gt;
|Integer form field has non-integer input &lt;br /&gt;
|400 &lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be an integer &lt;br /&gt;
|-&lt;br /&gt;
|Boolean form field has non-boolean input &lt;br /&gt;
|400 &lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be True or False &lt;br /&gt;
|-&lt;br /&gt;
|Form data has an unrecognized field &lt;br /&gt;
|400 &lt;br /&gt;
|Unrecognized field: &amp;lt;field&amp;gt;&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;
==== 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;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&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;
module NetMethods&lt;br /&gt;
  def get(url_string, format)&lt;br /&gt;
    url = URI.parse('https://' + server_host + server_port + version + url_string)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port)  do |http|&lt;br /&gt;
      sign_request&lt;br /&gt;
      assign_format(format)&lt;br /&gt;
      @request = Net::HTTP::Get.new(url.path, @headers)&lt;br /&gt;
 &lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def post(url_string, format, fields_hash)&lt;br /&gt;
    url = URI.parse('https://' + server_host + server_port + version + url_string)&lt;br /&gt;
&lt;br /&gt;
    sign_request&lt;br /&gt;
    assign_format(format)&lt;br /&gt;
    @request = Net::HTTP::Post.new(url.path, @headers)&lt;br /&gt;
&lt;br /&gt;
    @request.set_form_data(fields_hash)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port) do |http|&lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def assign_format (format)&lt;br /&gt;
    @headers['Accept'] = format&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def sign_request&lt;br /&gt;
    userAgent = 'Ruby Test Client'&lt;br /&gt;
    timestamp = DateTime.now.new_offset.strftime('%Y%m%d%H%M%S')&lt;br /&gt;
    apiKey = 'XXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
    secretKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
 &lt;br /&gt;
    data_to_sign = apiKey + userAgent + timestamp + secretKey&lt;br /&gt;
 &lt;br /&gt;
    signature = Base64.encode64(Digest::SHA1.digest(data_to_sign))&lt;br /&gt;
 &lt;br /&gt;
    @headers = Hash.new&lt;br /&gt;
    @headers['User-Agent'] = userAgent&lt;br /&gt;
    @headers['X-Api-Signature'] = apiKey + &amp;quot;:&amp;quot; + timestamp + &amp;quot;:&amp;quot; + signature&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_host&lt;br /&gt;
    'api.emailsrvr.com'&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_port&lt;br /&gt;
    ':80'&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def version&lt;br /&gt;
    '/v0'&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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.Collections.Specialized;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net;&lt;br /&gt;
&lt;br /&gt;
public class WebMethods&lt;br /&gt;
{&lt;br /&gt;
  private WebClientBase client;&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 WebMethods(WebClientBase client, string baseUrl, string apiKey, string secretKey)&lt;br /&gt;
  {&lt;br /&gt;
    this.client = client;&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 virtual string Get(string url)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        return client.DownloadString(baseUrl + url);&lt;br /&gt;
      },&lt;br /&gt;
      format);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public virtual string Post(string url, NameValueCollection data)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        var bytes = client.UploadValues(baseUrl + url, data);&lt;br /&gt;
        return Encoding.UTF8.GetString(bytes);&lt;br /&gt;
      },&lt;br /&gt;
      format);&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;
    client.Headers[&amp;quot;User-Agent&amp;quot;] = userAgent;&lt;br /&gt;
&lt;br /&gt;
    var dateTime = DateTime.UtcNow.ToString(&amp;quot;yyyyMMddHHmmss&amp;quot;);&lt;br /&gt;
&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;
    client.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;
    client.Headers[&amp;quot;Accept&amp;quot;] = format;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private string MakeRemoteCall(Func&amp;lt;WebClientBase, string&amp;gt; remoteCall, string format)&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      SignMessage();&lt;br /&gt;
      AssignFormat(format);&lt;br /&gt;
      return remoteCall.Invoke(client);&lt;br /&gt;
    }&lt;br /&gt;
    catch (WebException e)&lt;br /&gt;
    {&lt;br /&gt;
      throw new ApiException(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Distribution_List_(Rest_API)&amp;diff=368</id>
		<title>Exchange Distribution List (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Distribution_List_(Rest_API)&amp;diff=368"/>
				<updated>2010-05-03T15:40:43Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved Distribution List (Rest API) to Exchange Distribution List (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of distribution lists 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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DistributionlistList.xsd DistributionlistList.xsd]&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/distributionlists?size=100&amp;amp;page=1&amp;amp;contains=mailing', 'text/xml'&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;distributionlistList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:distributionlistList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;distributionlists&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup4&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup62&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup64&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
  &amp;lt;/distributionlists&amp;gt;&lt;br /&gt;
&amp;lt;/distributionlistList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;distributionlists&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup4&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup62&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup64&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;}]}&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;
| Distribution List is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the distribution list's details.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Distributionlist.xsd Distributionlist.xsd]&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/distributionlists/all.employees', 'text/xml'&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;distributionlist 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:contact&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexgroup64&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddressList&amp;gt;&lt;br /&gt;
    &amp;lt;emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;address&amp;gt;apiexgroup64@apidomain36.com&amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;replyTo&amp;gt;true&amp;lt;/replyTo&amp;gt;&lt;br /&gt;
    &amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/emailAddressList&amp;gt;&lt;br /&gt;
  &amp;lt;memberList&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox30@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox7@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox99@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
  &amp;lt;/memberList&amp;gt;&lt;br /&gt;
&amp;lt;/distributionlist&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;name&amp;quot;:&amp;quot;apiexgroup64&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;,&amp;quot;isHidden&amp;quot;:false,&amp;quot;emailAddressList&amp;quot;:[{&amp;quot;address&amp;quot;:&amp;quot;apiexgroup64@apidomain36.com&amp;quot;,&amp;quot;replyTo&amp;quot;:true}],&amp;quot;memberList&amp;quot;:[&amp;quot;apiexmailbox30@apidomain36.com&amp;quot;,&amp;quot;apiexmailbox7@apidomain36.com&amp;quot;,&amp;quot;apiexmailbox99@apidomain36.com&amp;quot;]}&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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/distributionlists/(distribution list name)&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits the distribution list with the specified information.  Required fields must be supplied when adding. Others are optional.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Distribution list display name (Required)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether or not the distribution list is hidden from the Global Address List (Defaults to false)&lt;br /&gt;
|}&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/distributionlists/all.employees',&lt;br /&gt;
{&lt;br /&gt;
  'name' =&amp;gt; 'all.employees',&lt;br /&gt;
  'displayName' =&amp;gt; 'Employees'&lt;br /&gt;
},&lt;br /&gt;
'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/distributionlists/all.employees',&lt;br /&gt;
{&lt;br /&gt;
  'displayName' =&amp;gt; 'Example.com Employees'&lt;br /&gt;
},&lt;br /&gt;
'text/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;
| New distribution list name already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|-&lt;br /&gt;
| New distribution list name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid user name&lt;br /&gt;
|-&lt;br /&gt;
| New distribution list display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|-&lt;br /&gt;
| Display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the distribution list.&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/distributionlists/all.employees', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Addresses ===&lt;br /&gt;
&lt;br /&gt;
This refers to the email addresses a distribution list can appear as.&lt;br /&gt;
&lt;br /&gt;
==== Add Email Address ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)/emailaddresses/(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 that the distribution list is associated with to the list.  This address' domain name must be the same as the domain the distribution list is under.&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/distributionlists/all.employees/emailaddresses/alex@example.com', {}, 'text/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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete Email Address ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the email address that is tied to the distribution list.&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/distributionlists/all.employees/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Member ===&lt;br /&gt;
&lt;br /&gt;
This refers to the recipients of the distribution list.&lt;br /&gt;
&lt;br /&gt;
==== Add Member ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)/members/(member name)&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 to the distribution list.&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/distributionlists/all.employees/members/john.smith', {}, 'text/xml'&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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|-&lt;br /&gt;
| New member is not found&lt;br /&gt;
| 400&lt;br /&gt;
| No user with the email address jane.doe exists&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete Member ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)/members/(member name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Delete an email address from the distribution list.&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/distributionlists/all.employees/members/john.smith', {}, 'text/xml'&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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|-&lt;br /&gt;
| Member is not found&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid group member name&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Distribution_List_(Rest_API)&amp;diff=369</id>
		<title>Distribution List (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Distribution_List_(Rest_API)&amp;diff=369"/>
				<updated>2010-05-03T15:40:43Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved Distribution List (Rest API) to Exchange Distribution List (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Exchange Distribution List (Rest API)]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Contact_(Rest_API)&amp;diff=366</id>
		<title>Exchange Contact (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Contact_(Rest_API)&amp;diff=366"/>
				<updated>2010-05-03T15:40:11Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved Contact (Rest API) to Exchange Contact (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/contacts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of contacts under the domain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ContactList.xsd ContactList.xsd]&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/contacts?size=100&amp;amp;page=1&amp;amp;contains=john', 'text/xml'&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;contactList 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:contactList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;contacts&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact66&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail58@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact73&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail98@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact81&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail46@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &amp;lt;/contacts&amp;gt;&lt;br /&gt;
&amp;lt;/contactList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;contacts&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact66&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail58@yahoo.com&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact73&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail98@yahoo.com&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact81&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail46@yahoo.com&amp;quot;}]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the contact's details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Contact.xsd Contact.xsd]&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/contacts/alex.smith', 'text/xml'&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;contact 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:contact&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexcontact73&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;externalEmail&amp;gt;externalemail98@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;contactInfo&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;API&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;Test&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;jobTitle&amp;gt;Dev&amp;lt;/jobTitle&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;My Company&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;department&amp;gt;R&amp;amp;amp;D&amp;lt;/department&amp;gt;&lt;br /&gt;
    &amp;lt;businessNumber&amp;gt;111-1111&amp;lt;/businessNumber&amp;gt;&lt;br /&gt;
    &amp;lt;homeNumber&amp;gt;222-2222&amp;lt;/homeNumber&amp;gt;&lt;br /&gt;
    &amp;lt;mobileNumber&amp;gt;333-3333&amp;lt;/mobileNumber&amp;gt;&lt;br /&gt;
    &amp;lt;faxNumber&amp;gt;444-4444&amp;lt;/faxNumber&amp;gt;&lt;br /&gt;
    &amp;lt;pagerNumber&amp;gt;1234&amp;lt;/pagerNumber&amp;gt;&lt;br /&gt;
    &amp;lt;addressLine1&amp;gt;123 Main Street&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Blacksburg&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;state&amp;gt;VA&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;zip&amp;gt;24060&amp;lt;/zip&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;notes&amp;gt;My Notes&amp;lt;/notes&amp;gt;&lt;br /&gt;
  &amp;lt;/contactInfo&amp;gt;&lt;br /&gt;
&amp;lt;/contact&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;name&amp;quot;:&amp;quot;apiexcontact73&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail98@yahoo.com&amp;quot;,&amp;quot;isHidden&amp;quot;:false,&amp;quot;contactInfo&amp;quot;:{&amp;quot;firstName&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;jobTitle&amp;quot;:&amp;quot;Dev&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;My Company&amp;quot;,&amp;quot;department&amp;quot;:&amp;quot;R&amp;amp;D&amp;quot;,&amp;quot;businessNumber&amp;quot;:&amp;quot;111-1111&amp;quot;,&amp;quot;homeNumber&amp;quot;:&amp;quot;222-2222&amp;quot;,&amp;quot;mobileNumber&amp;quot;:&amp;quot;333-3333&amp;quot;,&amp;quot;faxNumber&amp;quot;:&amp;quot;444-4444&amp;quot;,&amp;quot;pagerNumber&amp;quot;:&amp;quot;1234&amp;quot;,&amp;quot;addressLine1&amp;quot;:&amp;quot;123 Main Street&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;Blacksburg&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;VA&amp;quot;,&amp;quot;zip&amp;quot;:&amp;quot;24060&amp;quot;,&amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&amp;quot;notes&amp;quot;:&amp;quot;My Notes&amp;quot;}}&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;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Contact not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/contacts/(contact name)&lt;br /&gt;
&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds or edits the contact's details as specified. If the contact does not exist, use Add, if it does, use Edit.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Name of contact when displayed (Required for add)&lt;br /&gt;
|-&lt;br /&gt;
| externalEmail&lt;br /&gt;
| string&lt;br /&gt;
| Email address (Required for add)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether the contact is hidden from the Global List&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| First name&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Last name&lt;br /&gt;
|-&lt;br /&gt;
| jobTitle&lt;br /&gt;
| string&lt;br /&gt;
| Job title&lt;br /&gt;
|-&lt;br /&gt;
| company&lt;br /&gt;
| string&lt;br /&gt;
| Company&lt;br /&gt;
|-&lt;br /&gt;
| department&lt;br /&gt;
| string&lt;br /&gt;
| Department&lt;br /&gt;
|-&lt;br /&gt;
| businessNumber&lt;br /&gt;
| string&lt;br /&gt;
| Business phone number&lt;br /&gt;
|-&lt;br /&gt;
| homeNumber&lt;br /&gt;
| string&lt;br /&gt;
| Home phone number&lt;br /&gt;
|-&lt;br /&gt;
| mobileNumber&lt;br /&gt;
| string&lt;br /&gt;
| Mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
| faxNumber&lt;br /&gt;
| string&lt;br /&gt;
| Fax number&lt;br /&gt;
|-&lt;br /&gt;
| pagerNumber&lt;br /&gt;
| string&lt;br /&gt;
| Pager number&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| City&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| State&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Zip or postal code&lt;br /&gt;
|-&lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| notes&lt;br /&gt;
| string&lt;br /&gt;
| Notes field&lt;br /&gt;
|}&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/contacts/alex.smith', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'displayName' =&amp;gt; 'Johnny Customer',&lt;br /&gt;
  'externalEmail' =&amp;gt; 'jonny@apple.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/contacts/alex.smith', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'externalEmail' =&amp;gt; 'jonnysNewEmail@microsoft.com',&lt;br /&gt;
  'company' =&amp;gt; 'Microsoft',&lt;br /&gt;
  'businessnumber' =&amp;gt; '425 555 5555'&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;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address jane.doe@abc.com exists&lt;br /&gt;
|-&lt;br /&gt;
| New display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New contact name (user name) already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|-&lt;br /&gt;
| New contact name (user name) is reserved by Exchange&lt;br /&gt;
| 400&lt;br /&gt;
| user name reserved&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the contact.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Contact is deleted immediately without verification and data is lost permanently.&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/contacts/alex.smith', 'text/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;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address jane.doe@abc.com exists&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Contact_(Rest_API)&amp;diff=367</id>
		<title>Contact (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Contact_(Rest_API)&amp;diff=367"/>
				<updated>2010-05-03T15:40:11Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved Contact (Rest API) to Exchange Contact (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Exchange Contact (Rest API)]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_Spam_(Rest_API)&amp;diff=365</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=365"/>
				<updated>2010-05-03T15:39:41Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Created page with '__TOC__  == Spam Settings ==  === Show ===  ''URL'':  &amp;lt;nowiki&amp;gt;[GET]  https://api.emailsrvr.com/v0/customers/(customer account  number)/domains/(domain name)         /ex/mailboxes…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&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/v0/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. For .xml format refer to the following  schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxSpamSetting.xsd  MailboxSpamSetting.xsd]&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',  'text/xml'&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;
&lt;br /&gt;
=== Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT]  https://api.emailsrvr.com/v0/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;
&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',  'text/xml',&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;
== 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/v0/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/blacklist&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 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. For .xml format refer to the following  schema document: [http://api.emailsrvr.com/v0/Schemas/Blacklist.xsd  Blacklist.xsd]&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/blacklist',  'text/xml'&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;blacklist 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:blacklist&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;/blacklist&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/v0/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox  name)/spam/blacklist/(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 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/anyone@spam.com',  {},'text/xml'&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 blacklist 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/v0/customers/(customer account  number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox  name)/spam/blacklist/(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 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/blacklist/anyone@yahoo.com',  'text/xml'&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 blacklist&lt;br /&gt;
| 400&lt;br /&gt;
|  abc@junkmail.com is not found on the blacklist&lt;br /&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/v0/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. For .xml format refer to the following  schema document: [http://api.emailsrvr.com/v0/Schemas/IpBlacklist.xsd  IpBlacklist.xsd]&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',  'text/xml'&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/v0/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',  {},'text/xml'&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/v0/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',  'text/xml'&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;
&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/v0/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. For .xml format refer to the following  schema document: [http://api.emailsrvr.com/v0/Schemas/Safelist.xsd  Safelist.xsd]&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',  'text/xml'&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/v0/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',  {},'text/xml'&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/v0/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',  'text/xml'&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;
== 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/v0/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. For .xml format refer to the following  schema document: [http://api.emailsrvr.com/v0/Schemas/IpSafelist.xsd  IpSafelist.xsd]&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',  'text/xml'&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/v0/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',  {},'text/xml'&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/v0/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',  'text/xml'&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;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=364</id>
		<title>Rest API</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=364"/>
				<updated>2010-05-03T15:38:58Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: /* Operations */ Going to new title structure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Recent Changes ==&lt;br /&gt;
&lt;br /&gt;
'''03/28/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Rest API can be accessed by Business Users. However, not all operations are available.&lt;br /&gt;
* Domain Public Folders can be enabled now.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
Deprecated:&lt;br /&gt;
* Good Mobile Service is no longer supported.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''03/14/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Index/Add/Edit/Delete Mailbox Permissions.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
Known Issues:&lt;br /&gt;
* Domain public folders can't be enabled using Rest API at this moment. The next release (on 03/21/2010) will fix this problem.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''01/31/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Index/Show/Add/Edit/Delete Resource Mailboxes.&lt;br /&gt;
* Index/Add/Delete Resource Mailbox Admins.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''11/22/09 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
*Index/Add/Delete Alternate Domains.&lt;br /&gt;
*Show/Edit Domain Spam Settings.&lt;br /&gt;
*Index/Add/Delete Domain Blacklist/Safelist.&lt;br /&gt;
*Show/Edit Split Domain Routing.&lt;br /&gt;
*Show Mailbox ActiveSync Setup Info.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Email &amp;amp; Apps Control Panel 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;
== 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;
| None&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|Domain Public  Folders ]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_(Rest_API)| Domain Spam  Settings]]&lt;br /&gt;
|  /customers/123456789/domains/example.com/spam&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;
&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;
== Accessing the API ==&lt;br /&gt;
&lt;br /&gt;
Your application will need to make HTTP requests to remote servers. Most programming languages have this function provided in its class library. 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;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Calls without [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] (formerly SSL) will complete successfully but it is HIGHLY RECOMMENDED that TLS always be used. Interception of unencrypted communication will allow a third party to have complete access to all functions available via the API.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some language libraries just using an URL 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/v0/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;
| v0 (current)&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| http://signup.apps.rackspace.com/api-wiki/index.php/Rest_API&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/. 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;
{| 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;
&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 that are generated from the Control Panel Web interface.&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;'''Signature'''&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=''&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Signature''':&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;
&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 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;
==== 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;
&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 consistent and is outlined in the table 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''&lt;br /&gt;
|-&lt;br /&gt;
| Accept&lt;br /&gt;
| The requested content type (required regardless of type of operation). 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 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&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;
&lt;br /&gt;
&lt;br /&gt;
'''Reference Number'''&lt;br /&gt;
&lt;br /&gt;
For the customer object only, the query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number. The result if found is the detail page of the customer.&lt;br /&gt;
&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 current limit is 60 requests 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;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Example requests:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index of Exchange Mailboxes:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    GET /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100 HTTP/1.1&lt;br /&gt;
        Request Method: GET&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100&lt;br /&gt;
        Request Version: 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;
&lt;br /&gt;
 &lt;br /&gt;
Adding New Exchange Mailbox:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    POST /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith HTTP/1.1&lt;br /&gt;
        Request Method: POST&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
        Request Version: 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;
    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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Responses ===&lt;br /&gt;
&lt;br /&gt;
On a successfully executed request, a 200 HTTP Code is returned. Requested data is also returned if the operation was a Show or Index action. If the request is unsuccessful, then an error HTTP Code is returned with a message detailing the error. The errors and their corresponding codes are detailed on the operation pages.&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 extract data from 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 library with the functions necessary for whichever method you choose to use to extract data.&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;
==== Errors ====&lt;br /&gt;
&lt;br /&gt;
If a request is not sucessfully completed an HTTP error code in the 400s or 500s will be returned. An error code of 500 generally indicates an error with our servers whereas an error code in the 400s is generally an error with the data sent to the server. In such cases the HTTP response will return a header named 'x-error-message'. Below are some errors that are common to many operations. Each operation also has some specific errors which are outlined with the operation. &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;
|Format is invalid&lt;br /&gt;
|400&lt;br /&gt;
|When requesting an index or show on a resource the 'Accept' header should be either 'text/xml' or 'application/json'&lt;br /&gt;
|-&lt;br /&gt;
|Customer account number is invalid&lt;br /&gt;
|404&lt;br /&gt;
|Invalid account number&lt;br /&gt;
|-&lt;br /&gt;
|Domain is not found&lt;br /&gt;
|404 &lt;br /&gt;
|&amp;lt;domain name&amp;gt; not found&lt;br /&gt;
|-&lt;br /&gt;
|Mailbox is not found&lt;br /&gt;
|404&lt;br /&gt;
|Mailbox not found&lt;br /&gt;
|-&lt;br /&gt;
|Required form field is missing &lt;br /&gt;
|400 &lt;br /&gt;
|Missing required field: &amp;lt;required field&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Required form field has null or empty string input &lt;br /&gt;
|400 &lt;br /&gt;
|Required field &amp;lt;required field&amp;gt; cannot be empty &lt;br /&gt;
|-&lt;br /&gt;
|Integer form field has non-integer input &lt;br /&gt;
|400 &lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be an integer &lt;br /&gt;
|-&lt;br /&gt;
|Boolean form field has non-boolean input &lt;br /&gt;
|400 &lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be True or False &lt;br /&gt;
|-&lt;br /&gt;
|Form data has an unrecognized field &lt;br /&gt;
|400 &lt;br /&gt;
|Unrecognized field: &amp;lt;field&amp;gt;&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;
==== 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;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&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;
module NetMethods&lt;br /&gt;
  def get(url_string, format)&lt;br /&gt;
    url = URI.parse('https://' + server_host + server_port + version + url_string)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port)  do |http|&lt;br /&gt;
      sign_request&lt;br /&gt;
      assign_format(format)&lt;br /&gt;
      @request = Net::HTTP::Get.new(url.path, @headers)&lt;br /&gt;
 &lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def post(url_string, format, fields_hash)&lt;br /&gt;
    url = URI.parse('https://' + server_host + server_port + version + url_string)&lt;br /&gt;
&lt;br /&gt;
    sign_request&lt;br /&gt;
    assign_format(format)&lt;br /&gt;
    @request = Net::HTTP::Post.new(url.path, @headers)&lt;br /&gt;
&lt;br /&gt;
    @request.set_form_data(fields_hash)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port) do |http|&lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def assign_format (format)&lt;br /&gt;
    @headers['Accept'] = format&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def sign_request&lt;br /&gt;
    userAgent = 'Ruby Test Client'&lt;br /&gt;
    timestamp = DateTime.now.new_offset.strftime('%Y%m%d%H%M%S')&lt;br /&gt;
    apiKey = 'XXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
    secretKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
 &lt;br /&gt;
    data_to_sign = apiKey + userAgent + timestamp + secretKey&lt;br /&gt;
 &lt;br /&gt;
    signature = Base64.encode64(Digest::SHA1.digest(data_to_sign))&lt;br /&gt;
 &lt;br /&gt;
    @headers = Hash.new&lt;br /&gt;
    @headers['User-Agent'] = userAgent&lt;br /&gt;
    @headers['X-Api-Signature'] = apiKey + &amp;quot;:&amp;quot; + timestamp + &amp;quot;:&amp;quot; + signature&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_host&lt;br /&gt;
    'api.emailsrvr.com'&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_port&lt;br /&gt;
    ':80'&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def version&lt;br /&gt;
    '/v0'&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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.Collections.Specialized;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net;&lt;br /&gt;
&lt;br /&gt;
public class WebMethods&lt;br /&gt;
{&lt;br /&gt;
  private WebClientBase client;&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 WebMethods(WebClientBase client, string baseUrl, string apiKey, string secretKey)&lt;br /&gt;
  {&lt;br /&gt;
    this.client = client;&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 virtual string Get(string url)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        return client.DownloadString(baseUrl + url);&lt;br /&gt;
      },&lt;br /&gt;
      format);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public virtual string Post(string url, NameValueCollection data)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        var bytes = client.UploadValues(baseUrl + url, data);&lt;br /&gt;
        return Encoding.UTF8.GetString(bytes);&lt;br /&gt;
      },&lt;br /&gt;
      format);&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;
    client.Headers[&amp;quot;User-Agent&amp;quot;] = userAgent;&lt;br /&gt;
&lt;br /&gt;
    var dateTime = DateTime.UtcNow.ToString(&amp;quot;yyyyMMddHHmmss&amp;quot;);&lt;br /&gt;
&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;
    client.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;
    client.Headers[&amp;quot;Accept&amp;quot;] = format;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private string MakeRemoteCall(Func&amp;lt;WebClientBase, string&amp;gt; remoteCall, string format)&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      SignMessage();&lt;br /&gt;
      AssignFormat(format);&lt;br /&gt;
      return remoteCall.Invoke(client);&lt;br /&gt;
    }&lt;br /&gt;
    catch (WebException e)&lt;br /&gt;
    {&lt;br /&gt;
      throw new ApiException(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=362</id>
		<title>Exchange Mailbox (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=362"/>
				<updated>2010-05-03T15:30:17Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved Mailbox (Rest API) to Exchange Mailbox (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Shows a list of mailboxes under 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxList.xsd MailboxList.xsd]&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;mailboxList 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:mailboxList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox55&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox6&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/mailboxList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox55&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox6&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;}]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Mailbox.xsd Mailbox.xsd]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;samAccountName&amp;quot; is the logon name used to support clients and servers running older versions of the operating system.&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', 'text/xml'&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;mailbox 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:mailbox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;2048&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;currentUsage&amp;gt;0&amp;lt;/currentUsage&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;isPublicFolderAdmin&amp;gt;true&amp;lt;/isPublicFolderAdmin&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;contactInfo&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;API&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;Test&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;jobTitle&amp;gt;Dev&amp;lt;/jobTitle&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;My Company&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;department&amp;gt;R&amp;amp;amp;D&amp;lt;/department&amp;gt;&lt;br /&gt;
    &amp;lt;businessNumber&amp;gt;111-1111&amp;lt;/businessNumber&amp;gt;&lt;br /&gt;
    &amp;lt;homeNumber&amp;gt;222-2222&amp;lt;/homeNumber&amp;gt;&lt;br /&gt;
    &amp;lt;mobileNumber&amp;gt;333-3333&amp;lt;/mobileNumber&amp;gt;&lt;br /&gt;
    &amp;lt;faxNumber&amp;gt;444-4444&amp;lt;/faxNumber&amp;gt;&lt;br /&gt;
    &amp;lt;pagerNumber&amp;gt;1234&amp;lt;/pagerNumber&amp;gt;&lt;br /&gt;
    &amp;lt;addressLine1&amp;gt;123 Main Street&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Blacksburg&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;state&amp;gt;VA&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;zip&amp;gt;24060&amp;lt;/zip&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;notes&amp;gt;My Notes&amp;lt;/notes&amp;gt;&lt;br /&gt;
  &amp;lt;/contactInfo&amp;gt;&lt;br /&gt;
  &amp;lt;emailForwardingAddress /&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddressList&amp;gt;&lt;br /&gt;
    &amp;lt;emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;address&amp;gt;apiexmailbox90@apidomain92.com&amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;replyTo&amp;gt;true&amp;lt;/replyTo&amp;gt;&lt;br /&gt;
    &amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/emailAddressList&amp;gt;&lt;br /&gt;
  &amp;lt;hasBlackBerryMobileService&amp;gt;false&amp;lt;/hasBlackBerryMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;hasActiveSyncMobileService&amp;gt;false&amp;lt;/hasActiveSyncMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;samAccountName&amp;gt;apiexmailbox90_53B5B&amp;lt;/samAccountName&amp;gt;&lt;br /&gt;
&amp;lt;/mailbox&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;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;size&amp;quot;:2048,&amp;quot;currentUsage&amp;quot;:0,&amp;quot;isHidden&amp;quot;:false,&amp;quot;isPublicFolderAdmin&amp;quot;:true,&amp;quot;enabled&amp;quot;:true,&amp;quot;contactInfo&amp;quot;:{&amp;quot;firstName&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;jobTitle&amp;quot;:&amp;quot;Dev&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;My Company&amp;quot;,&amp;quot;department&amp;quot;:&amp;quot;R&amp;amp;D&amp;quot;,&amp;quot;businessNumber&amp;quot;:&amp;quot;111-1111&amp;quot;,&amp;quot;homeNumber&amp;quot;:&amp;quot;222-2222&amp;quot;,&amp;quot;mobileNumber&amp;quot;:&amp;quot;333-3333&amp;quot;,&amp;quot;faxNumber&amp;quot;:&amp;quot;444-4444&amp;quot;,&amp;quot;pagerNumber&amp;quot;:&amp;quot;1234&amp;quot;,&amp;quot;addressLine1&amp;quot;:&amp;quot;123 Main Street&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;Blacksburg&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;VA&amp;quot;,&amp;quot;zip&amp;quot;:&amp;quot;24060&amp;quot;,&amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&amp;quot;notes&amp;quot;:&amp;quot;My Notes&amp;quot;},&amp;quot;emailForwardingAddress&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;emailAddressList&amp;quot;:[{&amp;quot;address&amp;quot;:&amp;quot;apiexmailbox90@apidomain92.com&amp;quot;,&amp;quot;replyTo&amp;quot;:true}],&amp;quot;hasBlackBerryMobileService&amp;quot;:false,&amp;quot;hasActiveSyncMobileService&amp;quot;:false,&amp;quot;samAccountName&amp;quot;:&amp;quot;apiexmailbox90_53B5B&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a mailbox using the specified form fields. All required fields must be supplied when adding. Other fields may be omitted.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| positive integer&lt;br /&gt;
| Mailbox size in megabytes (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the mailbox is hidden from the Global Address List&lt;br /&gt;
|-&lt;br /&gt;
| isPublicFolderAdmin&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the account is a public folder administrator&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| First name&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Last name&lt;br /&gt;
|-&lt;br /&gt;
| company&lt;br /&gt;
| string&lt;br /&gt;
| Company&lt;br /&gt;
|-&lt;br /&gt;
| department&lt;br /&gt;
| string&lt;br /&gt;
| Department&lt;br /&gt;
|-&lt;br /&gt;
| jobTitle&lt;br /&gt;
| string&lt;br /&gt;
| Job title&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| City&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| State&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Zip or postal code&lt;br /&gt;
|-&lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| businessNumber&lt;br /&gt;
| string&lt;br /&gt;
| Business phone number&lt;br /&gt;
|-&lt;br /&gt;
| pagerNumber&lt;br /&gt;
| string&lt;br /&gt;
| Pager phone number&lt;br /&gt;
|-&lt;br /&gt;
| homeNumber&lt;br /&gt;
| string&lt;br /&gt;
| Home phone number&lt;br /&gt;
|-&lt;br /&gt;
| mobileNumber&lt;br /&gt;
| string&lt;br /&gt;
| Mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
| faxNumber&lt;br /&gt;
| string&lt;br /&gt;
| Fax phone number&lt;br /&gt;
|-&lt;br /&gt;
| notes&lt;br /&gt;
| string&lt;br /&gt;
| Notes field&lt;br /&gt;
|-&lt;br /&gt;
| emailForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| Forwarding email address (If this field is assigned an email address, then email forwarding will be turned on. If this field is not assigned or assigned an empty string, then email forwarding will be disabled.)&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| string&lt;br /&gt;
| Enable/Disable mailbox, input must be &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;&lt;br /&gt;
|}&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', 'text/xml', &lt;br /&gt;
{ &lt;br /&gt;
  'displayName' =&amp;gt; 'Alex Smith',&lt;br /&gt;
  'password' =&amp;gt; 'Secret123!@#',&lt;br /&gt;
  'size' =&amp;gt; '2048'&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml',&lt;br /&gt;
{ &lt;br /&gt;
  'homenumber' =&amp;gt; '8005551234'&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;
| New mailbox name (user name) doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid user name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox password doesn't meet the password pattern requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be at least 8 characters long&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox name (user name) already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The mailbox and mailbox contents are deleted permanently.&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds a mailbox's email address.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the email address. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The operation will fail if the email address does not exist.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailbox Permissions ==&lt;br /&gt;
&lt;br /&gt;
Exchange mailboxes can be given permissions. A permission is defined as a tuple (mailbox, permissionType).&lt;br /&gt;
&lt;br /&gt;
permissionType:= (SendAs | FullAccess | Both)&lt;br /&gt;
&lt;br /&gt;
=== Index Permissions ===&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user)/permissions&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Shows the current set of permissions granted on a user's mailbox.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;permissionList 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:permissionList&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;0&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;permissions&amp;gt;&lt;br /&gt;
    &amp;lt;permission&amp;gt;&lt;br /&gt;
      &amp;lt;emailAddress&amp;gt;joe.schmoe@enterpriseallservices.net&amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;permissionType&amp;gt;fullAccess&amp;lt;/permissionType&amp;gt;&lt;br /&gt;
    &amp;lt;/permission&amp;gt;&lt;br /&gt;
  &amp;lt;/permissions&amp;gt;&lt;br /&gt;
&amp;lt;/permissionList&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;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:0,&amp;quot;permissions&amp;quot;:[{&amp;quot;emailAddress&amp;quot;:&amp;quot;joe.schmoe@enterpriseallservices.net&amp;quot;,&amp;quot;permissionType&amp;quot;:&amp;quot;fullAccess&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The above result shows the permission list for user Jane Doe's mailbox. The list contains one entry corresponding to &lt;br /&gt;
that of user Joe Schmoe with permission type of &amp;quot;FullAccess&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Adding Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Grants user2 the specified permission on mailbox of user1.&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;
| permission&lt;br /&gt;
| string&lt;br /&gt;
| permissionType (Required)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', {'permission' =&amp;gt; 'fullAccess'}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The above result shows that on the mailbox of user Jane Doe, the user John Doe has been granted the permission of type &amp;quot;fullAccess&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Editing Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Modifies permission granted to user2 on the mailbox of user1.&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;
| permission&lt;br /&gt;
| string&lt;br /&gt;
| permissionType (Required)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', &lt;br /&gt;
{'permission' =&amp;gt; 'both'}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The permission granted to user John Doe on the mailbox of Jane Doe is modified to &amp;quot;both&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Deleting Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes permission granted to user2 on the mailbox of user1.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The permission granted to user John Doe on the mailbox of Jane Doe is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spam ==&lt;br /&gt;
&lt;br /&gt;
=== Index Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/blacklist&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 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Blacklist.xsd Blacklist.xsd]&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/blacklist', 'text/xml'&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;blacklist 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:blacklist&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;/blacklist&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpBlacklist.xsd IpBlacklist.xsd]&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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Safelist.xsd Safelist.xsd]&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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpSafelist.xsd IpSafelist.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
=== Add Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/blacklist/(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 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/anyone@spam.com', 'text/xml'&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 blacklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&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/v0/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', 'text/xml'&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;
=== Add IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/safelist/(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/ex/mailboxes/alex.smith/spam/safelist/216.12.34.1', 'text/xml'&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;
&lt;br /&gt;
=== Delete Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/spam/blacklist/(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 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/blacklist/anyone@yahoo.com', 'text/xml'&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 blacklist&lt;br /&gt;
| 400&lt;br /&gt;
| abc@junkmail.com is not found on the blacklist&lt;br /&gt;
|}&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxSpamSetting.xsd MailboxSpamSetting.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
=== Edit Spam Setting ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/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;
&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', 'text/xml',&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;
&lt;br /&gt;
== BlackBerry Mobile Service ==&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/blackberrymobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that has BlackBerry mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/BlackberryMobileServiceList.xsd BlackberryMobileServiceList.xsd]&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/blackberrymobileservices', 'text/xml'&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;blackBerryMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:blackBerryMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/blackBerryMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a BlackBerry mobile service to the mailbox.&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;
| activationPassword&lt;br /&gt;
| string&lt;br /&gt;
| Activation password (Required)&lt;br /&gt;
|}&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/john.smith/blackberrymobileservice', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'activationPassword' =&amp;gt; '12345'&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;
| Mailbox already has BlackBerry Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has BlackBerry Mobile Service already&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a BlackBerry mobile service from a mailbox.&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/john.smith/blackberrymobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ActiveSync Mobile Service ==&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/activesyncmobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that have ActiveSync mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileServiceList.xsd ActiveSyncMobileServiceList.xsd]&lt;br /&gt;
&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/activesyncmobileservices', 'text/xml'&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;activeSyncMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:activeSyncMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the mailbox ActiveSync mobile service setup information to access Hosted Exchange 2007.&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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileService.xsd ActiveSyncMobileService.xsd]&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/john.smith/activesyncmobileservice', 'text/xml'&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;activeSyncMobileService 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:activeSyncMobileService&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddress&amp;gt;john.smith@example.com&amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;serverAddress&amp;gt;mex07A.emailsrvr.com&amp;lt;/serverAddress&amp;gt;&lt;br /&gt;
  &amp;lt;userName&amp;gt;johnsmith1234&amp;lt;/userName&amp;gt;&lt;br /&gt;
  &amp;lt;domainAddress&amp;gt;mex07A.mlsrvr.com&amp;lt;/domainAddress&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileService&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;emailAddress&amp;quot;:&amp;quot;john.smith@example.com&amp;quot;,&amp;quot;serverAddress&amp;quot;:&amp;quot;mex07A.emailsrvr.com&amp;quot;,&amp;quot;userName&amp;quot;:&amp;quot;johnsmith1234&amp;quot;,&amp;quot;domainAddress&amp;quot;:&amp;quot;mex07A.mlsrvr.com&amp;quot;}&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;
| Mailbox has no ActiveSync service&lt;br /&gt;
| 404&lt;br /&gt;
| User john.smith@example.com has no active ActiveSync Mobile Service.&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a ActiveSync service to the mailbox.&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/john.smith/activesyncmobileservice', 'text/xml', {}&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;
| Mailbox already has ActiveSync Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has ActiveSync Mobile Service already&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a ActiveSync mobile service from a mailbox.&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/john.smith/activesyncmobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Mailbox_(Rest_API)&amp;diff=363</id>
		<title>Mailbox (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Mailbox_(Rest_API)&amp;diff=363"/>
				<updated>2010-05-03T15:30:17Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved Mailbox (Rest API) to Exchange Mailbox (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Exchange Mailbox (Rest API)]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Main_Page&amp;diff=353</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=353"/>
				<updated>2010-03-29T17:58:04Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Syncing to latest.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== The Rackspace Email API ==&lt;br /&gt;
&lt;br /&gt;
The Rackspace Email [http://en.wikipedia.org/wiki/Api API] comprises a robust set of web services designed to allow businesses to fully integrate administrative email functions into their own applications.  Based on [http://en.wikipedia.org/wiki/SOAP SOAP], functions in the API allow programs written in many different languages to perform operations such as [[AddUser()|adding mailboxes]] and changing settings.  The API can also be used to provide [[LoginUserWebmail()|single sign on]] functionality in concert with other web applications.  The Webmail API runs on the same robust server platform that supports our high-availability [http://www.rackspace.com/email_hosting webmail] and email services.&lt;br /&gt;
&lt;br /&gt;
----------------&lt;br /&gt;
== API System Upgrades, March 2009 ==&lt;br /&gt;
&lt;br /&gt;
On March 7th the [[webmail|Webmail User API]] will be updated to use the most recent and robust systems at Rackspace Email.  No changes to code written by Rackspace Email customers should be needed to take advantage of the update.  If desired, code may be updated to use the latest URI found in the [[webmail|Webmail User API]] documentation, though the old URI will be automatically redirected to the new URI by Rackspace Email on March 7th.&lt;br /&gt;
&lt;br /&gt;
RISKS: After extensive testing Rackspace Email has concluded that there is a risk for customers using programming libraries that send the HTTP EXPECT header with their requests.  This update moves the API to a much more robust and scalable system, but the system will return errors if this header is included in a request.&lt;br /&gt;
&lt;br /&gt;
An excellent discussion around turning off EXPECT headers for .NET and PHP may be found in this [http://groups.google.com/group/twitter-development-talk/browse_thread/thread/7c67ff1a2407dee7?pli=1 thread] about Twitter. &lt;br /&gt;
&lt;br /&gt;
----------------&lt;br /&gt;
=== Rackspace Email API ===&lt;br /&gt;
* [[webmail|Webmail User API]] - provides a short list of webmail user functions&lt;br /&gt;
&lt;br /&gt;
* [[business|Business API]] - provides a list of functions designed for single business/domain usage&lt;br /&gt;
&lt;br /&gt;
* [[reseller|Reseller API]] - provides a complete list of functions for multiple domains and sub-accounts&lt;br /&gt;
&lt;br /&gt;
* [[Rest_API|Rest API]] - the RESTful API with functions for customers, domains and Exchange services&lt;br /&gt;
&lt;br /&gt;
=== Code Examples ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*[[Perl]]&lt;br /&gt;
|&lt;br /&gt;
*[[PHP]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
*[[ASP]]&lt;br /&gt;
|&lt;br /&gt;
*[[C#]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
*[[ColdFusion]]&lt;br /&gt;
|&lt;br /&gt;
*[[Ruby]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[HTML]] (not part of the API, strictly speaking)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Getting Started Screencast ===&lt;br /&gt;
[http://www.mailtrust.com/api-wiki/screencasts/api-pings.htm Screencast] of accessing two of our SOAP API's from PHP using Ubuntu linux.&lt;br /&gt;
&lt;br /&gt;
=== Result Codes ===&lt;br /&gt;
Consult the [[resultcodes|Result Code Table]] for a list of result codes and their meaning.&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Main_Page&amp;diff=352</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=352"/>
				<updated>2010-03-29T15:25:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Spacing change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== The Rackspace Email API ==&lt;br /&gt;
&lt;br /&gt;
The Rackspace Email [http://en.wikipedia.org/wiki/Api API] comprises a robust set of web services designed to allow businesses to fully integrate administrative email functions into their own applications.  Based on [http://en.wikipedia.org/wiki/SOAP SOAP], functions in the API allow programs written in many different languages to perform operations such as [[AddUser()|adding mailboxes]] and changing settings.  The API can also be used to provide [[LoginUserWebmail()|single sign on]] functionality in concert with other web applications.  The Webmail API runs on the same robust server platform that supports our high-availability [http://www.rackspace.com/email_hosting webmail] and email services.&lt;br /&gt;
&lt;br /&gt;
----------------&lt;br /&gt;
== API System Upgrades, March 2009 ==&lt;br /&gt;
&lt;br /&gt;
On March 7th the [[webmail|Webmail User API]] will be updated to use the most recent and robust systems at Rackspace Email.  No changes to code written by Rackspace Email customers should be needed to take advantage of the update.  If desired, code may be updated to use the latest URI found in the [[webmail|Webmail User API]] documentation, though the old URI will be automatically redirected to the new URI by Rackspace Email on March 7th.&lt;br /&gt;
&lt;br /&gt;
RISKS: After extensive testing Rackspace Email has concluded that there is a risk for customers using programming libraries that send the HTTP EXPECT header with their requests.  This update moves the API to a much more robust and scalable system, but the system will return errors if this header is included in a request.&lt;br /&gt;
&lt;br /&gt;
An excellent discussion around turning off EXPECT headers for .NET and PHP may be found in this [http://groups.google.com/group/twitter-development-talk/browse_thread/thread/7c67ff1a2407dee7?pli=1 thread] about Twitter. &lt;br /&gt;
&lt;br /&gt;
----------------&lt;br /&gt;
=== Rackspace Email API ===&lt;br /&gt;
* [[webmail|Webmail User API]] - provides a short list of webmail user functions&lt;br /&gt;
&lt;br /&gt;
* [[business|Business API]] - provides a list of functions designed for single business/domain usage&lt;br /&gt;
&lt;br /&gt;
* [[reseller|Reseller API]] - provides a complete list of functions for multiple domains and sub-accounts&lt;br /&gt;
&lt;br /&gt;
* [[beta|Beta API]] - a list of functions in public beta testing&lt;br /&gt;
&lt;br /&gt;
=== Code Examples ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*[[Perl]]&lt;br /&gt;
|&lt;br /&gt;
*[[PHP]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
*[[ASP]]&lt;br /&gt;
|&lt;br /&gt;
*[[C#]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
*[[ColdFusion]]&lt;br /&gt;
|&lt;br /&gt;
*[[Ruby]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[HTML]] (not part of the API, strictly speaking)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Getting Started Screencast ===&lt;br /&gt;
[http://www.mailtrust.com/api-wiki/screencasts/api-pings.htm Screencast] of accessing two of our SOAP API's from PHP using Ubuntu linux.&lt;br /&gt;
&lt;br /&gt;
=== Result Codes ===&lt;br /&gt;
Consult the [[resultcodes|Result Code Table]] for a list of result codes and their meaning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a Rackspace Cloud Sites-hosted wiki.&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=PHP_Examples_(Rest_API)&amp;diff=351</id>
		<title>PHP Examples (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=PHP_Examples_(Rest_API)&amp;diff=351"/>
				<updated>2010-03-29T15:25:00Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Sync to latest.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== PHP ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class WebMethods&lt;br /&gt;
{&lt;br /&gt;
    const VERSION = 'v0';&lt;br /&gt;
    const SERVER_HOST = 'api.emailsrvr.com';&lt;br /&gt;
&lt;br /&gt;
    public function get($url_string, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $url = $this-&amp;gt;getUrl($url_string);&lt;br /&gt;
        $headers = array();&lt;br /&gt;
        $this-&amp;gt;signRequest($headers);&lt;br /&gt;
        $this-&amp;gt;assignFormat($headers, $format);&lt;br /&gt;
        $session = curl_init($url);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HEADER, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
&lt;br /&gt;
        $response = curl_exec($session);&lt;br /&gt;
        curl_close($session);&lt;br /&gt;
&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function post($url_string, $fields, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $url = $this-&amp;gt;getUrl($url_string);&lt;br /&gt;
        $headers = array();&lt;br /&gt;
        $this-&amp;gt;signRequest($headers);&lt;br /&gt;
        $this-&amp;gt;assignFormat($headers, $format);&lt;br /&gt;
        $session = curl_init($url);&lt;br /&gt;
&lt;br /&gt;
        curl_setopt($session, CURLOPT_HEADER, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
        curl_setopt($session, CURLOPT_POST, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_POSTFIELDS, $fields);&lt;br /&gt;
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
&lt;br /&gt;
        $response = curl_exec($session);&lt;br /&gt;
        curl_close($session);&lt;br /&gt;
&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function put($url_string, $fields, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $url = $this-&amp;gt;getUrl($url_string);&lt;br /&gt;
        $headers = array();&lt;br /&gt;
        $this-&amp;gt;signRequest($headers);&lt;br /&gt;
        $this-&amp;gt;assignFormat($headers, $format);&lt;br /&gt;
        $session = curl_init($url);&lt;br /&gt;
&lt;br /&gt;
        curl_setopt($session, CURLOPT_HEADER, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
        curl_setopt($session, CURLOPT_CUSTOMREQUEST, 'PUT');&lt;br /&gt;
        curl_setopt($session, CURLOPT_POSTFIELDS, $fields);&lt;br /&gt;
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
&lt;br /&gt;
        $response = curl_exec($session);&lt;br /&gt;
        curl_close($session);&lt;br /&gt;
&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function delete($url_string, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $url = $this-&amp;gt;getUrl($url_string);&lt;br /&gt;
        $headers = array();&lt;br /&gt;
        $this-&amp;gt;signRequest($headers);&lt;br /&gt;
        $this-&amp;gt;assignFormat($headers, $format);&lt;br /&gt;
        $session = curl_init($url);&lt;br /&gt;
&lt;br /&gt;
        curl_setopt($session, CURLOPT_HEADER, true);&lt;br /&gt;
        curl_setopt($session, CURLOPT_HTTPHEADER, $headers);&lt;br /&gt;
        curl_setopt($session, CURLOPT_CUSTOMREQUEST, 'DELETE');&lt;br /&gt;
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
&lt;br /&gt;
        $response = curl_exec($session);&lt;br /&gt;
        curl_close($session);&lt;br /&gt;
&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function signRequest(&amp;amp;$headers)&lt;br /&gt;
    {&lt;br /&gt;
        $user_agent = 'Api Test';&lt;br /&gt;
        $time_stamp = 'YYYYMMDDHHmmss';&lt;br /&gt;
        $api_key = 'XXXXXXXXXXXXXXXXXXXX';&lt;br /&gt;
        $secret_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';&lt;br /&gt;
&lt;br /&gt;
        $data_to_sign = $api_key . $user_agent . $time_stamp . $secret_key;&lt;br /&gt;
        $signature = base64_encode(sha1($data_to_sign, true));&lt;br /&gt;
&lt;br /&gt;
        $headers[] = &amp;quot;User-Agent: $user_agent&amp;quot;;&lt;br /&gt;
        $headers[] = &amp;quot;X-Api-Signature: $api_key:$time_stamp:$signature&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function assignFormat(&amp;amp;$headers, $format)&lt;br /&gt;
    {&lt;br /&gt;
        $headers[] = &amp;quot;Accept: $format&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function getUrl($url_string)&lt;br /&gt;
    {&lt;br /&gt;
        $url = 'http://' . self::SERVER_HOST . '/' . self::VERSION . $url_string;&lt;br /&gt;
        return $url;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
require_once 'WebMethods.php';&lt;br /&gt;
&lt;br /&gt;
$client = new WebMethods();&lt;br /&gt;
&lt;br /&gt;
$url = '/customers';&lt;br /&gt;
$form = 'name=new customer&amp;amp;referenceNumber=1000';&lt;br /&gt;
$format = 'text/xml';&lt;br /&gt;
&lt;br /&gt;
$client-&amp;gt;post($url, $form, $format);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Resource_Mailbox_(Rest_API)&amp;diff=350</id>
		<title>Resource Mailbox (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Resource_Mailbox_(Rest_API)&amp;diff=350"/>
				<updated>2010-03-29T15:24:33Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Sync to latest&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/resources&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of resource mailboxes 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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ResourceList.xsd ResourceList.xsd]&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/resources?size=100&amp;amp;page=1&amp;amp;contains=conference', 'text/xml'&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;resourceList 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:resourceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;resources&amp;gt;&lt;br /&gt;
    &amp;lt;resource&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexresource43&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;room&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/resource&amp;gt;&lt;br /&gt;
    &amp;lt;resource&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexresource5&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;equipment&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/resource&amp;gt;&lt;br /&gt;
    &amp;lt;resource&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexresource85&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;room&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/resource&amp;gt;&lt;br /&gt;
  &amp;lt;/resources&amp;gt;&lt;br /&gt;
&amp;lt;/resourceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;resources&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexresource43&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;room&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexresource5&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;equipment&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexresource85&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;room&amp;quot;}]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/resources/(resource name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the resource's details.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Resource.xsd Resource.xsd]&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/resource/conference.room', 'text/xml'&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;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;resource 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:resource&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexresource43&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;room&amp;lt;/type&amp;gt;&lt;br /&gt;
&amp;lt;/resource&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;name&amp;quot;:&amp;quot;apiexresource43&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;room&amp;quot;}&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;
| Resource is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Resource not found&lt;br /&gt;
|-&lt;br /&gt;
| Entity is found but it's not a resource mailbox&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox is not a resource.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/resources/(resource name)&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/resources/(resource name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits the resource with the specified information.  Required fields must be supplied when adding. Others are optional.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Resource display name (Required for add)&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| string&lt;br /&gt;
| The resource type, 'room' or 'equipment' (Required for add, not available for edit)&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| The password to change the settings of the mailbox or add/remove admins (Required for add)&lt;br /&gt;
|}&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/resources/conference.room',&lt;br /&gt;
{&lt;br /&gt;
  'displayName' =&amp;gt; 'Conference Room'&lt;br /&gt;
  'type' =&amp;gt; 'room'&lt;br /&gt;
  'password' =&amp;gt; 'abcDEF123'&lt;br /&gt;
},&lt;br /&gt;
'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/resources/all.employees',&lt;br /&gt;
{&lt;br /&gt;
  'displayName' =&amp;gt; 'Conference Room A'&lt;br /&gt;
  'password' =&amp;gt; 'ABCd4321'&lt;br /&gt;
},&lt;br /&gt;
'text/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;
| New resource mailbox already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address conference.room@abc.com is already in use&lt;br /&gt;
|-&lt;br /&gt;
| New resource mailbox name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid resource name&lt;br /&gt;
|-&lt;br /&gt;
| New display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| Invalid resource mailbox type&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid Resource Type. The input must be: room/equipment.&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/resources/(resource name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the resource.&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/resources/all.employees', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&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;
| Resource is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Resource not found&lt;br /&gt;
|-&lt;br /&gt;
| Entity is found but it's not a resource mailbox&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox is not a resource.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Admins ===&lt;br /&gt;
&lt;br /&gt;
This refers to the admins that can manage the resource.&lt;br /&gt;
&lt;br /&gt;
==== Index Admin ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/resources/(resource name)/admins&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Gets the list of resource admins.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ResourceAdminList.xsd ResourceAdminList.xsd]&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/resources/conference.room/admins', 'text/xml'&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;resourceAdminList 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:resourceAdminList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;admins&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;apiexmailbox70@apidomain90.com&amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;apiexmailbox87@apidomain90.com&amp;lt;/admin&amp;gt;&lt;br /&gt;
    &amp;lt;admin&amp;gt;apiexmailbox89@apidomain90.com&amp;lt;/admin&amp;gt;&lt;br /&gt;
  &amp;lt;/admins&amp;gt;&lt;br /&gt;
&amp;lt;/resourceAdminList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;admins&amp;quot;:[&amp;quot;apiexmailbox70@apidomain90.com&amp;quot;,&amp;quot;apiexmailbox87@apidomain90.com&amp;quot;,&amp;quot;apiexmailbox89@apidomain90.com&amp;quot;]}&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;
| Resource is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Resource not found&lt;br /&gt;
|-&lt;br /&gt;
| Entity is found but it's not a resource mailbox&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox is not a resource.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Add Admin ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/resources/(resource name)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds an admin to the resource.&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/resources/conference.room/admins/john.smith', {}, 'text/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;
| Resource not found&lt;br /&gt;
| 404&lt;br /&gt;
| Resource not found&lt;br /&gt;
|}&lt;br /&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;
| Resource is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Resource not found&lt;br /&gt;
|-&lt;br /&gt;
| Entity is found but it's not a resource mailbox&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox is not a resource.&lt;br /&gt;
|-&lt;br /&gt;
| Admin is already on the resource admin list.&lt;br /&gt;
| 400&lt;br /&gt;
| User is already on the resource admin list.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Delete Admin ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/resources/(resource name)/admins/(admin name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Removes the admin from the resource.&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/resources/conference.room/admins/john.smith', 'text/xml'&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;
| Resource is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Resource not found&lt;br /&gt;
|-&lt;br /&gt;
| Entity is found but it's not a resource mailbox&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox is not a resource.&lt;br /&gt;
|-&lt;br /&gt;
| Admin is not found on the resource admin list.&lt;br /&gt;
| 400&lt;br /&gt;
| User is not on the resource admin list.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=349</id>
		<title>Exchange Mailbox (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=349"/>
				<updated>2010-03-29T15:23:36Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Sync to latest&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Shows a list of mailboxes under 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxList.xsd MailboxList.xsd]&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;mailboxList 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:mailboxList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox55&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox6&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/mailboxList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox55&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox6&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;}]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Mailbox.xsd Mailbox.xsd]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;samAccountName&amp;quot; is the logon name used to support clients and servers running older versions of the operating system.&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', 'text/xml'&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;mailbox 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:mailbox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;2048&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;currentUsage&amp;gt;0&amp;lt;/currentUsage&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;isPublicFolderAdmin&amp;gt;true&amp;lt;/isPublicFolderAdmin&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;contactInfo&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;API&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;Test&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;jobTitle&amp;gt;Dev&amp;lt;/jobTitle&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;My Company&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;department&amp;gt;R&amp;amp;amp;D&amp;lt;/department&amp;gt;&lt;br /&gt;
    &amp;lt;businessNumber&amp;gt;111-1111&amp;lt;/businessNumber&amp;gt;&lt;br /&gt;
    &amp;lt;homeNumber&amp;gt;222-2222&amp;lt;/homeNumber&amp;gt;&lt;br /&gt;
    &amp;lt;mobileNumber&amp;gt;333-3333&amp;lt;/mobileNumber&amp;gt;&lt;br /&gt;
    &amp;lt;faxNumber&amp;gt;444-4444&amp;lt;/faxNumber&amp;gt;&lt;br /&gt;
    &amp;lt;pagerNumber&amp;gt;1234&amp;lt;/pagerNumber&amp;gt;&lt;br /&gt;
    &amp;lt;addressLine1&amp;gt;123 Main Street&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Blacksburg&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;state&amp;gt;VA&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;zip&amp;gt;24060&amp;lt;/zip&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;notes&amp;gt;My Notes&amp;lt;/notes&amp;gt;&lt;br /&gt;
  &amp;lt;/contactInfo&amp;gt;&lt;br /&gt;
  &amp;lt;emailForwardingAddress /&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddressList&amp;gt;&lt;br /&gt;
    &amp;lt;emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;address&amp;gt;apiexmailbox90@apidomain92.com&amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;replyTo&amp;gt;true&amp;lt;/replyTo&amp;gt;&lt;br /&gt;
    &amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/emailAddressList&amp;gt;&lt;br /&gt;
  &amp;lt;hasBlackBerryMobileService&amp;gt;false&amp;lt;/hasBlackBerryMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;hasActiveSyncMobileService&amp;gt;false&amp;lt;/hasActiveSyncMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;samAccountName&amp;gt;apiexmailbox90_53B5B&amp;lt;/samAccountName&amp;gt;&lt;br /&gt;
&amp;lt;/mailbox&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;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;size&amp;quot;:2048,&amp;quot;currentUsage&amp;quot;:0,&amp;quot;isHidden&amp;quot;:false,&amp;quot;isPublicFolderAdmin&amp;quot;:true,&amp;quot;enabled&amp;quot;:true,&amp;quot;contactInfo&amp;quot;:{&amp;quot;firstName&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;jobTitle&amp;quot;:&amp;quot;Dev&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;My Company&amp;quot;,&amp;quot;department&amp;quot;:&amp;quot;R&amp;amp;D&amp;quot;,&amp;quot;businessNumber&amp;quot;:&amp;quot;111-1111&amp;quot;,&amp;quot;homeNumber&amp;quot;:&amp;quot;222-2222&amp;quot;,&amp;quot;mobileNumber&amp;quot;:&amp;quot;333-3333&amp;quot;,&amp;quot;faxNumber&amp;quot;:&amp;quot;444-4444&amp;quot;,&amp;quot;pagerNumber&amp;quot;:&amp;quot;1234&amp;quot;,&amp;quot;addressLine1&amp;quot;:&amp;quot;123 Main Street&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;Blacksburg&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;VA&amp;quot;,&amp;quot;zip&amp;quot;:&amp;quot;24060&amp;quot;,&amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&amp;quot;notes&amp;quot;:&amp;quot;My Notes&amp;quot;},&amp;quot;emailForwardingAddress&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;emailAddressList&amp;quot;:[{&amp;quot;address&amp;quot;:&amp;quot;apiexmailbox90@apidomain92.com&amp;quot;,&amp;quot;replyTo&amp;quot;:true}],&amp;quot;hasBlackBerryMobileService&amp;quot;:false,&amp;quot;hasActiveSyncMobileService&amp;quot;:false,&amp;quot;samAccountName&amp;quot;:&amp;quot;apiexmailbox90_53B5B&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a mailbox using the specified form fields. All required fields must be supplied when adding. Other fields may be omitted.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| positive integer&lt;br /&gt;
| Mailbox size in megabytes (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the mailbox is hidden from the Global Address List&lt;br /&gt;
|-&lt;br /&gt;
| isPublicFolderAdmin&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the account is a public folder administrator&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| First name&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Last name&lt;br /&gt;
|-&lt;br /&gt;
| company&lt;br /&gt;
| string&lt;br /&gt;
| Company&lt;br /&gt;
|-&lt;br /&gt;
| department&lt;br /&gt;
| string&lt;br /&gt;
| Department&lt;br /&gt;
|-&lt;br /&gt;
| jobTitle&lt;br /&gt;
| string&lt;br /&gt;
| Job title&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| City&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| State&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Zip or postal code&lt;br /&gt;
|-&lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| businessNumber&lt;br /&gt;
| string&lt;br /&gt;
| Business phone number&lt;br /&gt;
|-&lt;br /&gt;
| pagerNumber&lt;br /&gt;
| string&lt;br /&gt;
| Pager phone number&lt;br /&gt;
|-&lt;br /&gt;
| homeNumber&lt;br /&gt;
| string&lt;br /&gt;
| Home phone number&lt;br /&gt;
|-&lt;br /&gt;
| mobileNumber&lt;br /&gt;
| string&lt;br /&gt;
| Mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
| faxNumber&lt;br /&gt;
| string&lt;br /&gt;
| Fax phone number&lt;br /&gt;
|-&lt;br /&gt;
| notes&lt;br /&gt;
| string&lt;br /&gt;
| Notes field&lt;br /&gt;
|-&lt;br /&gt;
| emailForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| Forwarding email address (If this field is assigned an email address, then email forwarding will be turned on. If this field is not assigned or assigned an empty string, then email forwarding will be disabled.)&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| string&lt;br /&gt;
| Enable/Disable mailbox, input must be &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;&lt;br /&gt;
|}&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', 'text/xml', &lt;br /&gt;
{ &lt;br /&gt;
  'displayName' =&amp;gt; 'Alex Smith',&lt;br /&gt;
  'password' =&amp;gt; 'Secret123!@#',&lt;br /&gt;
  'size' =&amp;gt; '2048'&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml',&lt;br /&gt;
{ &lt;br /&gt;
  'homenumber' =&amp;gt; '8005551234'&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;
| New mailbox name (user name) doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid user name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox password doesn't meet the password pattern requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be at least 8 characters long&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox name (user name) already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The mailbox and mailbox contents are deleted permanently.&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds a mailbox's email address.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the email address. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The operation will fail if the email address does not exist.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailbox Permissions ==&lt;br /&gt;
&lt;br /&gt;
Exchange mailboxes can be given permissions. A permission is defined as a tuple (mailbox, permissionType).&lt;br /&gt;
&lt;br /&gt;
permissionType:= (SendAs | FullAccess | Both)&lt;br /&gt;
&lt;br /&gt;
=== Index Permissions ===&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user)/permissions&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Shows the current set of permissions granted on a user's mailbox.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;permissionList 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:permissionList&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;0&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;permissions&amp;gt;&lt;br /&gt;
    &amp;lt;permission&amp;gt;&lt;br /&gt;
      &amp;lt;emailAddress&amp;gt;joe.schmoe@enterpriseallservices.net&amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;permissionType&amp;gt;fullAccess&amp;lt;/permissionType&amp;gt;&lt;br /&gt;
    &amp;lt;/permission&amp;gt;&lt;br /&gt;
  &amp;lt;/permissions&amp;gt;&lt;br /&gt;
&amp;lt;/permissionList&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;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:0,&amp;quot;permissions&amp;quot;:[{&amp;quot;emailAddress&amp;quot;:&amp;quot;joe.schmoe@enterpriseallservices.net&amp;quot;,&amp;quot;permissionType&amp;quot;:&amp;quot;fullAccess&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The above result shows the permission list for user Jane Doe's mailbox. The list contains one entry corresponding to &lt;br /&gt;
that of user Joe Schmoe with permission type of &amp;quot;FullAccess&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Adding Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Grants user2 the specified permission on mailbox of user1.&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;
| permission&lt;br /&gt;
| string&lt;br /&gt;
| permissionType (Required)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
post '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', {'permission' =&amp;gt; 'fullAccess'}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The above result shows that on the mailbox of user Jane Doe, the user John Doe has been granted the permission of type &amp;quot;fullAccess&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Editing Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Modifies permission granted to user2 on the mailbox of user1.&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;
| permission&lt;br /&gt;
| string&lt;br /&gt;
| permissionType (Required)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', &lt;br /&gt;
{'permission' =&amp;gt; 'both'}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The permission granted to user John Doe on the mailbox of Jane Doe is modified to &amp;quot;both&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Deleting Permission ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(user1)/permissions/(user2)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes permission granted to user2 on the mailbox of user1.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Comments'':&lt;br /&gt;
The permission granted to user John Doe on the mailbox of Jane Doe is deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spam ==&lt;br /&gt;
&lt;br /&gt;
=== Index Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/blacklist&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 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Blacklist.xsd Blacklist.xsd]&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/blacklist', 'text/xml'&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;blacklist 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:blacklist&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;/blacklist&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpBlacklist.xsd IpBlacklist.xsd]&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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Safelist.xsd Safelist.xsd]&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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpSafelist.xsd IpSafelist.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
=== Add Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/blacklist/(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 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/anyone@spam.com', 'text/xml'&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 blacklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&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/v0/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', 'text/xml'&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;
=== Add IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/safelist/(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/ex/mailboxes/alex.smith/spam/safelist/216.12.34.1', 'text/xml'&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;
&lt;br /&gt;
=== Delete Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/spam/blacklist/(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 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/blacklist/anyone@yahoo.com', 'text/xml'&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 blacklist&lt;br /&gt;
| 400&lt;br /&gt;
| abc@junkmail.com is not found on the blacklist&lt;br /&gt;
|}&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxSpamSetting.xsd MailboxSpamSetting.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
=== Edit Spam Setting ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/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;
&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', 'text/xml',&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;
&lt;br /&gt;
== BlackBerry Mobile Service ==&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/blackberrymobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that has BlackBerry mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/BlackberryMobileServiceList.xsd BlackberryMobileServiceList.xsd]&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/blackberrymobileservices', 'text/xml'&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;blackBerryMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:blackBerryMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/blackBerryMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a BlackBerry mobile service to the mailbox.&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;
| activationPassword&lt;br /&gt;
| string&lt;br /&gt;
| Activation password (Required)&lt;br /&gt;
|}&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/john.smith/blackberrymobileservice', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'activationPassword' =&amp;gt; '12345'&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;
| Mailbox already has BlackBerry Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has BlackBerry Mobile Service already&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a BlackBerry mobile service from a mailbox.&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/john.smith/blackberrymobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ActiveSync Mobile Service ==&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/activesyncmobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that have ActiveSync mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileServiceList.xsd ActiveSyncMobileServiceList.xsd]&lt;br /&gt;
&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/activesyncmobileservices', 'text/xml'&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;activeSyncMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:activeSyncMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the mailbox ActiveSync mobile service setup information to access Hosted Exchange 2007.&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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileService.xsd ActiveSyncMobileService.xsd]&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/john.smith/activesyncmobileservice', 'text/xml'&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;activeSyncMobileService 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:activeSyncMobileService&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddress&amp;gt;john.smith@example.com&amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;serverAddress&amp;gt;mex07A.emailsrvr.com&amp;lt;/serverAddress&amp;gt;&lt;br /&gt;
  &amp;lt;userName&amp;gt;johnsmith1234&amp;lt;/userName&amp;gt;&lt;br /&gt;
  &amp;lt;domainAddress&amp;gt;mex07A.mlsrvr.com&amp;lt;/domainAddress&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileService&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;emailAddress&amp;quot;:&amp;quot;john.smith@example.com&amp;quot;,&amp;quot;serverAddress&amp;quot;:&amp;quot;mex07A.emailsrvr.com&amp;quot;,&amp;quot;userName&amp;quot;:&amp;quot;johnsmith1234&amp;quot;,&amp;quot;domainAddress&amp;quot;:&amp;quot;mex07A.mlsrvr.com&amp;quot;}&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;
| Mailbox has no ActiveSync service&lt;br /&gt;
| 404&lt;br /&gt;
| User john.smith@example.com has no active ActiveSync Mobile Service.&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a ActiveSync service to the mailbox.&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/john.smith/activesyncmobileservice', 'text/xml', {}&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;
| Mailbox already has ActiveSync Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has ActiveSync Mobile Service already&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a ActiveSync mobile service from a mailbox.&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/john.smith/activesyncmobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_(Rest_API)&amp;diff=348</id>
		<title>Domain (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_(Rest_API)&amp;diff=348"/>
				<updated>2010-03-29T15:23:07Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Sync to latest&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of domains under the account. If a customer account is specified, then a list of domains under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of domains owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v0/customers/me/domains'&amp;lt;/nowiki&amp;gt;. To retrieve a list of domains owned by all customer sub-accounts and your own account, use &amp;quot;all&amp;quot; as the customer account number.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DomainList.xsd DomainList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/all/domains?size=100&amp;amp;page=1', 'text/xml'&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;domainList 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: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;3&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;apidomain53.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100000&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apidomain66.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100001&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apidomain68.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100002&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&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;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;domains&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;apidomain53.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100000&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain66.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100001&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain68.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100002&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified domain name.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Domain.xsd Domain.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/999999/domains/example.com', 'text/xml'&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;domain 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:domain&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apidomain21.com&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;100000&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeBaseMailboxSize&amp;gt;2048&amp;lt;/exchangeBaseMailboxSize&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeUsedStorage&amp;gt;0&amp;lt;/exchangeUsedStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeTotalStorage&amp;gt;18432&amp;lt;/exchangeTotalStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeExtraStorage&amp;gt;10240&amp;lt;/exchangeExtraStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeMaxNumMailboxes&amp;gt;4&amp;lt;/exchangeMaxNumMailboxes&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailBaseMailboxSize&amp;gt;2048&amp;lt;/rsEmailBaseMailboxSize&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailMaxNumberMailboxes&amp;gt;4&amp;lt;/rsEmailMaxNumberMailboxes&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailExtraStorage&amp;gt;10240&amp;lt;/rsEmailExtraStorage&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailUsedStorage&amp;gt;0&amp;lt;/rsEmailUsedStorage&amp;gt;&lt;br /&gt;
  &amp;lt;aliases /&amp;gt;&lt;br /&gt;
  &amp;lt;archivingServiceEnabled&amp;gt;false&amp;lt;/archivingServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;blackBerryMobileServiceEnabled&amp;gt;true&amp;lt;/blackBerryMobileServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;blackBerryLicenses&amp;gt;4&amp;lt;/blackBerryLicenses&amp;gt;&lt;br /&gt;
  &amp;lt;activeSyncMobileServiceEnabled&amp;gt;true&amp;lt;/activeSyncMobileServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;activeSyncLicenses&amp;gt;4&amp;lt;/activeSyncLicenses&amp;gt;&lt;br /&gt;
  &amp;lt;goodMobileServiceEnabled&amp;gt;true&amp;lt;/goodMobileServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;goodMobileLicenses&amp;gt;4&amp;lt;/goodMobileLicenses&amp;gt;&lt;br /&gt;
&amp;lt;/domain&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain21.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100000&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;,&lt;br /&gt;
&amp;quot;exchangeBaseMailboxSize&amp;quot;:2048,&amp;quot;exchangeUsedStorage&amp;quot;:0,&amp;quot;exchangeTotalStorage&amp;quot;:18432,&lt;br /&gt;
&amp;quot;exchangeExtraStorage&amp;quot;:10240,&amp;quot;exchangeMaxNumMailboxes&amp;quot;:4,&amp;quot;rsEmailBaseMailboxSize&amp;quot;:2048,&lt;br /&gt;
&amp;quot;rsEmailMaxNumberMailboxes&amp;quot;:4,&amp;quot;rsEmailExtraStorage&amp;quot;:10240,&amp;quot;rsEmailUsedStorage&amp;quot;:0,&lt;br /&gt;
&amp;quot;aliases&amp;quot;:[],&amp;quot;archivingServiceEnabled&amp;quot;:false,&amp;quot;blackBerryMobileServiceEnabled&amp;quot;:true,&lt;br /&gt;
&amp;quot;blackBerryLicenses&amp;quot;:4,&amp;quot;activeSyncMobileServiceEnabled&amp;quot;:true,&amp;quot;activeSyncLicenses&amp;quot;:4,&lt;br /&gt;
&amp;quot;goodMobileServiceEnabled&amp;quot;:true,&amp;quot;goodMobileLicenses&amp;quot;:4}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
 Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a new domain to the account with the data specified. To add a domain to your own account, use your own account id.&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;
| serviceType&lt;br /&gt;
| string&lt;br /&gt;
| Domain service type. &amp;quot;rsemail&amp;quot; = &amp;quot;Rackspace Email Only&amp;quot;. &amp;quot;exchange&amp;quot; = &amp;quot;Exchange Only&amp;quot;. &amp;quot;both&amp;quot; = &amp;quot;Rackspace Email and Exchange&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| exchangeExtraStorage&lt;br /&gt;
| int&lt;br /&gt;
| Exchange service extra storage in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| exchangeMaxNumMailboxes&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed under the domain Exchange service. Required for Adding Exchange service&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailBaseMailboxSize&lt;br /&gt;
| int&lt;br /&gt;
| Rackspace Email base mailbox size in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailMaxNumberMailboxes&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed under the domain Rackspace Email service. Required for Adding Rackspace Email service&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailExtraStorage&lt;br /&gt;
| int&lt;br /&gt;
| Rackspace Email service extra storage in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| blackBerryMobileServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain BlackBerry Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| blackBerryLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have BlackBerry Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| activeSyncMobileServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain ActiveSync Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| activeSyncLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have ActiveSync Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| goodMobileServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain Good Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| goodMobileLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have Good Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| archivingServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain archiving service&lt;br /&gt;
|-&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;
post '/customers/123455/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'maxNumMailboxes' =&amp;gt; '5',&lt;br /&gt;
  'extraStorage' =&amp;gt; '1024'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/123455/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'maxNumMailboxes' =&amp;gt; '25',&lt;br /&gt;
  'extraStorage' =&amp;gt; '2048'&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;
| New domain name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid domain name&lt;br /&gt;
|-&lt;br /&gt;
| New domain name already exists&lt;br /&gt;
| 400&lt;br /&gt;
| abc.com already exists as a domain or alternate domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Move (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/customers/&lt;br /&gt;
      (new customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Moves the domain to another customer account.&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;
| moveDomain&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicate whether or not moving the domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Note 'Move Domain' and 'Edit Domain' share the same URI and HTTP verb. When the domain doesn't belong to the customer and 'moveDomain' is set to 'true', API will take the request as a 'Move Domain' call.&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/123456/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'moveDomain' =&amp;gt; 'true'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delete (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the domain.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The domain and all the mailboxes, mailbox contents, groups, and contacts are deleted permanently.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/newcompany.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spam ==&lt;br /&gt;
&lt;br /&gt;
=== Index Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)/spam/blacklist&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 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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Blacklist.xsd Blacklist.xsd]&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/blacklist', 'text/xml'&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;blacklist 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:blacklist&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;/blacklist&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;
=== Index IP Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpBlacklist.xsd IpBlacklist.xsd]&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', 'text/xml'&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;
=== Index Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Safelist.xsd Safelist.xsd]&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', 'text/xml'&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;
=== Index IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpSafelist.xsd IpSafelist.xsd]&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', 'text/xml'&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 Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)/spam/blacklist/(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 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/anyone@spam.com', 'text/xml'&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 blacklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
=== Add IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/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', 'text/xml'&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;
&lt;br /&gt;
=== Delete Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)/spam/blacklist/(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 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/blacklist/anyone@yahoo.com', 'text/xml'&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 blacklist&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DomainSpamSetting.xsd DomainSpamSetting.xsd]&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', 'text/xml'&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/v0/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', 'text/xml', &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;
&lt;br /&gt;
== Alternate Domains ==&lt;br /&gt;
&lt;br /&gt;
=== Index (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/&lt;br /&gt;
                domains/(domain name)/alternatedomains&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of Domain Aliases and Accepted Domains for the domain. The type of the alternate domain is indicated by the 'type' data field. The XML schema for the returned data is [http://api.emailsrvr.com/v0/Schemas/DomainSplitRouting.xsd DomainAlternateList.xsd]&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/test.com/alternatedomains', 'text/xml'&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;alternateDomainList 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:domainAlternateList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;alternateDomains&amp;gt;&lt;br /&gt;
    &amp;lt;alternateDomain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;domainalias.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;DomainAlias&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/alternateDomain&amp;gt;&lt;br /&gt;
    &amp;lt;alternateDomain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;accepteddomain.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;AcceptedDomain&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/alternateDomain&amp;gt;&lt;br /&gt;
  &amp;lt;/alternateDomains&amp;gt;&lt;br /&gt;
&amp;lt;/alternateDomainList&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;lt;pre&amp;gt;{&amp;quot;alternateDomains&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;domainalias.com&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;DomainAlias&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;accepteddomain.com&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;AcceptedDomain&amp;quot;}]}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 [POST] https://api.emailsrvr.com/v0/customers/(customer account number)&lt;br /&gt;
    /domains/(domain name)/alternatedomains/(alternate domain name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds either a Domain Alias or Accepted Domain to the domain.&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;
| type&lt;br /&gt;
| string&lt;br /&gt;
| Alternate domain type. Send &amp;quot;DomainAlias&amp;quot; for a domain alias, and &amp;quot;AcceptedDomain&amp;quot; for an accepted domain. (Required)&lt;br /&gt;
|-&lt;br /&gt;
| createForExistingRecipients&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether the alternate addresses should be created for existing mailboxes when adding an Accepted Domain. Sending this field in the request when the type is Domain Alias will throw an error. This defaults to false.&lt;br /&gt;
|-&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;
post '/customers/123456/domains/example.com/alternatedomains/accepteddomain.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'type' =&amp;gt; 'AcceptedDomain'&lt;br /&gt;
  'createForExistingRecipients' =&amp;gt; 'true'&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;
| New domain name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid domain name&lt;br /&gt;
|-&lt;br /&gt;
| Alternate domain already exists&lt;br /&gt;
| 400&lt;br /&gt;
| abc.com already exists as a domain or alternate domain&lt;br /&gt;
|-&lt;br /&gt;
| The 'createForExistingRecipients' field was sent with either data, or as a null field. It should not be included in the form data at all.&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid Alternate Domain Setting: createForExistingRecipients is an invalid setting for Domain Aliases&lt;br /&gt;
|-&lt;br /&gt;
| The only valid values for 'type' are 'DomainAlias' and 'AcceptedDomain', for a Domain Alias and Accepted Domain respectively.&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid Alternate Domain type&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete (Reseller Only) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/&lt;br /&gt;
      domains/(domain name)/alternatedomains/(alternate domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the alternate domain.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/alternatedomains/accepteddomain.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Split Domain Routing ==&lt;br /&gt;
&lt;br /&gt;
=== Show Settings ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/splitdomainrouting&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
Shows the current external email server. The XML schema document for the output of this command is [http://api.emailsrvr.com/v0/Schemas/DomainSplitRouting.xsd DomainSplitRouting.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/company.com/splitdomainrouting', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;splitDomainRouting 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:splitDomainRouting&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;externalServer&amp;gt;email.externalserver.com&amp;lt;/externalServer&amp;gt;&lt;br /&gt;
&amp;lt;/splitDomainRouting&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;externalServer&amp;quot;:&amp;quot;email.externalserver.com&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Edit Settings ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/splitdomainrouting&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This command sets the external email server. This command will return a success when the verification passes. Since this involves communication to the external server the request may take some time. If the verification fails a 400 return code will be sent back with the verification's error message.&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;
| externalServer&lt;br /&gt;
| string&lt;br /&gt;
| The address of the external email server. To turn off split domain routing send 'none'. (Required)&lt;br /&gt;
|-&lt;br /&gt;
| verificationAddress&lt;br /&gt;
| string&lt;br /&gt;
| An email address part of your domain or one of the alternate domains that the external server is already set up to handle. (Required only when turning on split domain routing, Do not send this field if turning off.)&lt;br /&gt;
|-&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/12345678/domains/company.com/splitdomainrouting', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'externalServer' =&amp;gt; 'email.externalserver.com',&lt;br /&gt;
  'verificationAddress' =&amp;gt; 'externalaccount@company.com',&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
| The SMTP host could not be found.&lt;br /&gt;
| 400&lt;br /&gt;
| One of the verification error messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Archiving SSO Login URL ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/archivingSSOLoginURL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Gets the domain archiving service SSO login URL.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The retrieved URL can be used in browser to access the domain archiving control panel.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/company.com/archivingSSOLoginURL', 'text/xml'&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;
| No archiving service&lt;br /&gt;
| 404&lt;br /&gt;
| Domain abc.com has no archiving service enabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Domain Public Folders (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
   [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)/ex/publicfolders&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Enables the Exchange Public Folders feature on the domain. Once enabled, it cannot be disabled.&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;
| enabled&lt;br /&gt;
| string&lt;br /&gt;
| Whether to enable public folders. Once enabled, it cannot be disabled.&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/12345678/domains/company.com/ex/publicFolders', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'enabled' =&amp;gt; 'true'&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;
| Public folders cannot be turned off after it's been turned on.&lt;br /&gt;
| 400&lt;br /&gt;
| Public Folders cannot be disabled once enabled&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=347</id>
		<title>Customer (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=347"/>
				<updated>2010-03-29T15:22:37Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Sync to latest.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the list of customers that the authenticated user has access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/CustomerList.xsd CustomerList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?size=100&amp;amp;page=1', 'text/xml'&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;customerList 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:customerList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;customers&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 39&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460181&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;23&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 50&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460183&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;10&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;/customers&amp;gt;&lt;br /&gt;
&amp;lt;/customerList&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;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;customers&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 39&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460181&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;23&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 50&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460183&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;10&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To do the show operation on the account that is logged in instead of a customer's account, use &amp;quot;me&amp;quot; in the place of the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v0/customers/me'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Customer.xsd Customer.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/me', 'text/xml'&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;customer 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:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
&amp;lt;/customer&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;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 Add: [POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Edit: [PUT] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add/Edit a new sub-account. Note that customer number is not known until the customer is added.&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;
| name&lt;br /&gt;
| string&lt;br /&gt;
| The customer's display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| referenceNumber&lt;br /&gt;
| string&lt;br /&gt;
| The reference number of this account&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;
post '/customers', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'Name'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'NewName',&lt;br /&gt;
 'referenceNumber' =&amp;gt; '12345'&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;
| The name field was not specified&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|-&lt;br /&gt;
| The name field cannot be blank&lt;br /&gt;
| 400&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Names cannot start with a space&lt;br /&gt;
| 400&lt;br /&gt;
| Improper Customer Name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete (Reseller Only) ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [DELETE] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=346</id>
		<title>Rest API</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=346"/>
				<updated>2010-03-29T15:22:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Syncing to latest.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Recent Changes ==&lt;br /&gt;
&lt;br /&gt;
'''03/28/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Rest API can be accessed by Business Users. However, not all operations are available.&lt;br /&gt;
* Domain Public Folders can be enabled now.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
Deprecated:&lt;br /&gt;
* Good Mobile Service is no longer supported.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''03/14/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Index/Add/Edit/Delete Mailbox Permissions.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
Known Issues:&lt;br /&gt;
* Domain public folders can't be enabled using Rest API at this moment. The next release (on 03/21/2010) will fix this problem.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''01/31/10 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
* Index/Show/Add/Edit/Delete Resource Mailboxes.&lt;br /&gt;
* Index/Add/Delete Resource Mailbox Admins.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''11/22/09 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
*Index/Add/Delete Alternate Domains.&lt;br /&gt;
*Show/Edit Domain Spam Settings.&lt;br /&gt;
*Index/Add/Delete Domain Blacklist/Safelist.&lt;br /&gt;
*Show/Edit Split Domain Routing.&lt;br /&gt;
*Show Mailbox ActiveSync Setup Info.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Email &amp;amp; Apps Control Panel 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;
== 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;
| None&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)#Spam| Domain Spam]], [[Domain_(Rest_API)#Split Domain Routing| Split Domain Routing]], [[Domain_(Rest_API)#Archiving SSO Login URL| Archiving SSO Login URL]]&lt;br /&gt;
|-&lt;br /&gt;
| [[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;
| [[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;
| [[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;
| [[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;
&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;
&lt;br /&gt;
== Accessing the API ==&lt;br /&gt;
&lt;br /&gt;
Your application will need to make HTTP requests to remote servers. Most programming languages have this function provided in its class library. 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;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Calls without [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] (formerly SSL) will complete successfully but it is HIGHLY RECOMMENDED that TLS always be used. Interception of unencrypted communication will allow a third party to have complete access to all functions available via the API.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some language libraries just using an URL 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/v0/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;
| v0 (current)&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| http://signup.apps.rackspace.com/api-wiki/index.php/Rest_API&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/. 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;
{| 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;
&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 that are generated from the Control Panel Web interface.&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;'''Signature'''&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=''&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Signature''':&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;
&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 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;
==== 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;
&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 consistent and is outlined in the table 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''&lt;br /&gt;
|-&lt;br /&gt;
| Accept&lt;br /&gt;
| The requested content type (required regardless of type of operation). 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 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&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;
&lt;br /&gt;
&lt;br /&gt;
'''Reference Number'''&lt;br /&gt;
&lt;br /&gt;
For the customer object only, the query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number. The result if found is the detail page of the customer.&lt;br /&gt;
&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 current limit is 1500 requests over 5 minutes. 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;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Example requests:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index of Exchange Mailboxes:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    GET /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100 HTTP/1.1&lt;br /&gt;
        Request Method: GET&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100&lt;br /&gt;
        Request Version: 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;
&lt;br /&gt;
 &lt;br /&gt;
Adding New Exchange Mailbox:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    POST /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith HTTP/1.1&lt;br /&gt;
        Request Method: POST&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
        Request Version: 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;
    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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Responses ===&lt;br /&gt;
&lt;br /&gt;
On a successfully executed request, a 200 HTTP Code is returned. Requested data is also returned if the operation was a Show or Index action. If the request is unsuccessful, then an error HTTP Code is returned with a message detailing the error. The errors and their corresponding codes are detailed on the operation pages.&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 extract data from 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 library with the functions necessary for whichever method you choose to use to extract data.&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;
==== Errors ====&lt;br /&gt;
&lt;br /&gt;
If a request is not sucessfully completed an HTTP error code in the 400s or 500s will be returned. An error code of 500 generally indicates an error with our servers whereas an error code in the 400s is generally an error with the data sent to the server. In such cases the HTTP response will return a header named 'x-error-message'. Below are some errors that are common to many operations. Each operation also has some specific errors which are outlined with the operation. &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;
|Format is invalid&lt;br /&gt;
|400&lt;br /&gt;
|When requesting an index or show on a resource the 'Accept' header should be either 'text/xml' or 'application/json'&lt;br /&gt;
|-&lt;br /&gt;
|Customer account number is invalid&lt;br /&gt;
|404&lt;br /&gt;
|Invalid account number&lt;br /&gt;
|-&lt;br /&gt;
|Domain is not found&lt;br /&gt;
|404 &lt;br /&gt;
|&amp;lt;domain name&amp;gt; not found&lt;br /&gt;
|-&lt;br /&gt;
|Mailbox is not found&lt;br /&gt;
|404&lt;br /&gt;
|Mailbox not found&lt;br /&gt;
|-&lt;br /&gt;
|Required form field is missing &lt;br /&gt;
|400 &lt;br /&gt;
|Missing required field: &amp;lt;required field&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Required form field has null or empty string input &lt;br /&gt;
|400 &lt;br /&gt;
|Required field &amp;lt;required field&amp;gt; cannot be empty &lt;br /&gt;
|-&lt;br /&gt;
|Integer form field has non-integer input &lt;br /&gt;
|400 &lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be an integer &lt;br /&gt;
|-&lt;br /&gt;
|Boolean form field has non-boolean input &lt;br /&gt;
|400 &lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be True or False &lt;br /&gt;
|-&lt;br /&gt;
|Form data has an unrecognized field &lt;br /&gt;
|400 &lt;br /&gt;
|Unrecognized field: &amp;lt;field&amp;gt;&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;
==== 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;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&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;
module NetMethods&lt;br /&gt;
  def get(url_string, format)&lt;br /&gt;
    url = URI.parse('https://' + server_host + server_port + version + url_string)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port)  do |http|&lt;br /&gt;
      sign_request&lt;br /&gt;
      assign_format(format)&lt;br /&gt;
      @request = Net::HTTP::Get.new(url.path, @headers)&lt;br /&gt;
 &lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def post(url_string, format, fields_hash)&lt;br /&gt;
    url = URI.parse('https://' + server_host + server_port + version + url_string)&lt;br /&gt;
&lt;br /&gt;
    sign_request&lt;br /&gt;
    assign_format(format)&lt;br /&gt;
    @request = Net::HTTP::Post.new(url.path, @headers)&lt;br /&gt;
&lt;br /&gt;
    @request.set_form_data(fields_hash)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port) do |http|&lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def assign_format (format)&lt;br /&gt;
    @headers['Accept'] = format&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def sign_request&lt;br /&gt;
    userAgent = 'Ruby Test Client'&lt;br /&gt;
    timestamp = DateTime.now.new_offset.strftime('%Y%m%d%H%M%S')&lt;br /&gt;
    apiKey = 'XXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
    secretKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
 &lt;br /&gt;
    data_to_sign = apiKey + userAgent + timestamp + secretKey&lt;br /&gt;
 &lt;br /&gt;
    signature = Base64.encode64(Digest::SHA1.digest(data_to_sign))&lt;br /&gt;
 &lt;br /&gt;
    @headers = Hash.new&lt;br /&gt;
    @headers['User-Agent'] = userAgent&lt;br /&gt;
    @headers['X-Api-Signature'] = apiKey + &amp;quot;:&amp;quot; + timestamp + &amp;quot;:&amp;quot; + signature&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_host&lt;br /&gt;
    'api.emailsrvr.com'&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_port&lt;br /&gt;
    ':80'&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def version&lt;br /&gt;
    '/v0'&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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.Collections.Specialized;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net;&lt;br /&gt;
&lt;br /&gt;
public class WebMethods&lt;br /&gt;
{&lt;br /&gt;
  private WebClientBase client;&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 WebMethods(WebClientBase client, string baseUrl, string apiKey, string secretKey)&lt;br /&gt;
  {&lt;br /&gt;
    this.client = client;&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 virtual string Get(string url)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        return client.DownloadString(baseUrl + url);&lt;br /&gt;
      },&lt;br /&gt;
      format);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public virtual string Post(string url, NameValueCollection data)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        var bytes = client.UploadValues(baseUrl + url, data);&lt;br /&gt;
        return Encoding.UTF8.GetString(bytes);&lt;br /&gt;
      },&lt;br /&gt;
      format);&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;
    client.Headers[&amp;quot;User-Agent&amp;quot;] = userAgent;&lt;br /&gt;
&lt;br /&gt;
    var dateTime = DateTime.UtcNow.ToString(&amp;quot;yyyyMMddHHmmss&amp;quot;);&lt;br /&gt;
&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;
    client.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;
    client.Headers[&amp;quot;Accept&amp;quot;] = format;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private string MakeRemoteCall(Func&amp;lt;WebClientBase, string&amp;gt; remoteCall, string format)&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      SignMessage();&lt;br /&gt;
      AssignFormat(format);&lt;br /&gt;
      return remoteCall.Invoke(client);&lt;br /&gt;
    }&lt;br /&gt;
    catch (WebException e)&lt;br /&gt;
    {&lt;br /&gt;
      throw new ApiException(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Main_Page&amp;diff=345</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=345"/>
				<updated>2010-03-22T18:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Moved Cloud Sites note to bottom.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== The Rackspace Email API ==&lt;br /&gt;
&lt;br /&gt;
The Rackspace Email [http://en.wikipedia.org/wiki/Api API] comprises a robust set of web services designed to allow businesses to fully integrate administrative email functions into their own applications.  Based on [http://en.wikipedia.org/wiki/SOAP SOAP], functions in the API allow programs written in many different languages to perform operations such as [[AddUser()|adding mailboxes]] and changing settings.  The API can also be used to provide [[LoginUserWebmail()|single sign on]] functionality in concert with other web applications.  The Webmail API runs on the same robust server platform that supports our high-availability [http://www.rackspace.com/email_hosting webmail] and email services.&lt;br /&gt;
&lt;br /&gt;
----------------&lt;br /&gt;
== API System Upgrades, March 2009 ==&lt;br /&gt;
&lt;br /&gt;
On March 7th the [[webmail|Webmail User API]] will be updated to use the most recent and robust systems at Rackspace Email.  No changes to code written by Rackspace Email customers should be needed to take advantage of the update.  If desired, code may be updated to use the latest URI found in the [[webmail|Webmail User API]] documentation, though the old URI will be automatically redirected to the new URI by Rackspace Email on March 7th.&lt;br /&gt;
&lt;br /&gt;
RISKS: After extensive testing Rackspace Email has concluded that there is a risk for customers using programming libraries that send the HTTP EXPECT header with their requests.  This update moves the API to a much more robust and scalable system, but the system will return errors if this header is included in a request.&lt;br /&gt;
&lt;br /&gt;
An excellent discussion around turning off EXPECT headers for .NET and PHP may be found in this [http://groups.google.com/group/twitter-development-talk/browse_thread/thread/7c67ff1a2407dee7?pli=1 thread] about Twitter. &lt;br /&gt;
&lt;br /&gt;
----------------&lt;br /&gt;
=== Rackspace Email API ===&lt;br /&gt;
* [[webmail|Webmail User API]] - provides a short list of webmail user functions&lt;br /&gt;
&lt;br /&gt;
* [[business|Business API]] - provides a list of functions designed for single business/domain usage&lt;br /&gt;
&lt;br /&gt;
* [[reseller|Reseller API]] - provides a complete list of functions for multiple domains and sub-accounts&lt;br /&gt;
&lt;br /&gt;
* [[beta|Beta API]] - a list of functions in public beta testing&lt;br /&gt;
&lt;br /&gt;
=== Code Examples ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
*[[Perl]]&lt;br /&gt;
|&lt;br /&gt;
*[[PHP]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
*[[ASP]]&lt;br /&gt;
|&lt;br /&gt;
*[[C#]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
*[[ColdFusion]]&lt;br /&gt;
|&lt;br /&gt;
*[[Ruby]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[HTML]] (not part of the API, strictly speaking)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Getting Started Screencast ===&lt;br /&gt;
[http://www.mailtrust.com/api-wiki/screencasts/api-pings.htm Screencast] of accessing two of our SOAP API's from PHP using Ubuntu linux.&lt;br /&gt;
&lt;br /&gt;
=== Result Codes ===&lt;br /&gt;
Consult the [[resultcodes|Result Code Table]] for a list of result codes and their meaning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a Rackspace Cloud Sites-hosted wiki.&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Distribution_List_(Rest_API)&amp;diff=344</id>
		<title>Exchange Distribution List (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Distribution_List_(Rest_API)&amp;diff=344"/>
				<updated>2009-11-30T20:06:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Updated to latest live version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of distribution lists 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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DistributionlistList.xsd DistributionlistList.xsd]&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/distributionlists?size=100&amp;amp;page=1&amp;amp;contains=mailing', 'text/xml'&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;distributionlistList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:distributionlistList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;distributionlists&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup4&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup62&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup64&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
  &amp;lt;/distributionlists&amp;gt;&lt;br /&gt;
&amp;lt;/distributionlistList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;distributionlists&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup4&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup62&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup64&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;}]}&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;
| Distribution List is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the distribution list's details.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Distributionlist.xsd Distributionlist.xsd]&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/distributionlists/all.employees', 'text/xml'&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;distributionlist 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:contact&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexgroup64&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddressList&amp;gt;&lt;br /&gt;
    &amp;lt;emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;address&amp;gt;apiexgroup64@apidomain36.com&amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;replyTo&amp;gt;true&amp;lt;/replyTo&amp;gt;&lt;br /&gt;
    &amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/emailAddressList&amp;gt;&lt;br /&gt;
  &amp;lt;memberList&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox30@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox7@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox99@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
  &amp;lt;/memberList&amp;gt;&lt;br /&gt;
&amp;lt;/distributionlist&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;name&amp;quot;:&amp;quot;apiexgroup64&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;,&amp;quot;isHidden&amp;quot;:false,&amp;quot;emailAddressList&amp;quot;:[{&amp;quot;address&amp;quot;:&amp;quot;apiexgroup64@apidomain36.com&amp;quot;,&amp;quot;replyTo&amp;quot;:true}],&amp;quot;memberList&amp;quot;:[&amp;quot;apiexmailbox30@apidomain36.com&amp;quot;,&amp;quot;apiexmailbox7@apidomain36.com&amp;quot;,&amp;quot;apiexmailbox99@apidomain36.com&amp;quot;]}&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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/distributionlists/(distribution list name)&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits the distribution list with the specified information.  Required fields must be supplied when adding. Others are optional.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Distribution list display name (Required)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether or not the distribution list is hidden from the Global Address List (Defaults to false)&lt;br /&gt;
|}&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/distributionlists/all.employees',&lt;br /&gt;
{&lt;br /&gt;
  'name' =&amp;gt; 'all.employees',&lt;br /&gt;
  'displayName' =&amp;gt; 'Employees'&lt;br /&gt;
},&lt;br /&gt;
'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/distributionlists/all.employees',&lt;br /&gt;
{&lt;br /&gt;
  'displayName' =&amp;gt; 'Example.com Employees'&lt;br /&gt;
},&lt;br /&gt;
'text/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;
| New distribution list name already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|-&lt;br /&gt;
| New distribution list name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid user name&lt;br /&gt;
|-&lt;br /&gt;
| New distribution list display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|-&lt;br /&gt;
| Display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the distribution list.&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/distributionlists/all.employees', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Addresses ===&lt;br /&gt;
&lt;br /&gt;
This refers to the email addresses a distribution list can appear as.&lt;br /&gt;
&lt;br /&gt;
==== Add Email Address ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)/emailaddresses/(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 that the distribution list is associated with to the list.  This address' domain name must be the same as the domain the distribution list is under.&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/distributionlists/all.employees/emailaddresses/alex@example.com', {}, 'text/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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete Email Address ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the email address that is tied to the distribution list.&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/distributionlists/all.employees/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Member ===&lt;br /&gt;
&lt;br /&gt;
This refers to the recipients of the distribution list.&lt;br /&gt;
&lt;br /&gt;
==== Add Member ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)/members/(member name)&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 to the distribution list.&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/distributionlists/all.employees/members/john.smith', {}, 'text/xml'&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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|-&lt;br /&gt;
| New member is not found&lt;br /&gt;
| 400&lt;br /&gt;
| No user with the email address jane.doe exists&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete Member ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)/members/(member name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Delete an email address from the distribution list.&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/distributionlists/all.employees/members/john.smith', {}, 'text/xml'&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;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|-&lt;br /&gt;
| Member is not found&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid group member name&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Contact_(Rest_API)&amp;diff=343</id>
		<title>Exchange Contact (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Contact_(Rest_API)&amp;diff=343"/>
				<updated>2009-11-30T20:05:21Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Updated to latest live version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/contacts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of contacts under the domain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ContactList.xsd ContactList.xsd]&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/contacts?size=100&amp;amp;page=1&amp;amp;contains=john', 'text/xml'&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;contactList 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:contactList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;contacts&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact66&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail58@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact73&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail98@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact81&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail46@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &amp;lt;/contacts&amp;gt;&lt;br /&gt;
&amp;lt;/contactList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;contacts&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact66&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail58@yahoo.com&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact73&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail98@yahoo.com&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact81&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail46@yahoo.com&amp;quot;}]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the contact's details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Contact.xsd Contact.xsd]&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/contacts/alex.smith', 'text/xml'&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;contact 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:contact&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexcontact73&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;externalEmail&amp;gt;externalemail98@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;contactInfo&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;API&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;Test&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;jobTitle&amp;gt;Dev&amp;lt;/jobTitle&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;My Company&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;department&amp;gt;R&amp;amp;amp;D&amp;lt;/department&amp;gt;&lt;br /&gt;
    &amp;lt;businessNumber&amp;gt;111-1111&amp;lt;/businessNumber&amp;gt;&lt;br /&gt;
    &amp;lt;homeNumber&amp;gt;222-2222&amp;lt;/homeNumber&amp;gt;&lt;br /&gt;
    &amp;lt;mobileNumber&amp;gt;333-3333&amp;lt;/mobileNumber&amp;gt;&lt;br /&gt;
    &amp;lt;faxNumber&amp;gt;444-4444&amp;lt;/faxNumber&amp;gt;&lt;br /&gt;
    &amp;lt;pagerNumber&amp;gt;1234&amp;lt;/pagerNumber&amp;gt;&lt;br /&gt;
    &amp;lt;addressLine1&amp;gt;123 Main Street&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Blacksburg&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;state&amp;gt;VA&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;zip&amp;gt;24060&amp;lt;/zip&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;notes&amp;gt;My Notes&amp;lt;/notes&amp;gt;&lt;br /&gt;
  &amp;lt;/contactInfo&amp;gt;&lt;br /&gt;
&amp;lt;/contact&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;name&amp;quot;:&amp;quot;apiexcontact73&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail98@yahoo.com&amp;quot;,&amp;quot;isHidden&amp;quot;:false,&amp;quot;contactInfo&amp;quot;:{&amp;quot;firstName&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;jobTitle&amp;quot;:&amp;quot;Dev&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;My Company&amp;quot;,&amp;quot;department&amp;quot;:&amp;quot;R&amp;amp;D&amp;quot;,&amp;quot;businessNumber&amp;quot;:&amp;quot;111-1111&amp;quot;,&amp;quot;homeNumber&amp;quot;:&amp;quot;222-2222&amp;quot;,&amp;quot;mobileNumber&amp;quot;:&amp;quot;333-3333&amp;quot;,&amp;quot;faxNumber&amp;quot;:&amp;quot;444-4444&amp;quot;,&amp;quot;pagerNumber&amp;quot;:&amp;quot;1234&amp;quot;,&amp;quot;addressLine1&amp;quot;:&amp;quot;123 Main Street&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;Blacksburg&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;VA&amp;quot;,&amp;quot;zip&amp;quot;:&amp;quot;24060&amp;quot;,&amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&amp;quot;notes&amp;quot;:&amp;quot;My Notes&amp;quot;}}&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;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Contact not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/contacts/(contact name)&lt;br /&gt;
&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds or edits the contact's details as specified. If the contact does not exist, use Add, if it does, use Edit.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Name of contact when displayed (Required for add)&lt;br /&gt;
|-&lt;br /&gt;
| externalEmail&lt;br /&gt;
| string&lt;br /&gt;
| Email address (Required for add)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether the contact is hidden from the Global List&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| First name&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Last name&lt;br /&gt;
|-&lt;br /&gt;
| jobTitle&lt;br /&gt;
| string&lt;br /&gt;
| Job title&lt;br /&gt;
|-&lt;br /&gt;
| company&lt;br /&gt;
| string&lt;br /&gt;
| Company&lt;br /&gt;
|-&lt;br /&gt;
| department&lt;br /&gt;
| string&lt;br /&gt;
| Department&lt;br /&gt;
|-&lt;br /&gt;
| businessNumber&lt;br /&gt;
| string&lt;br /&gt;
| Business phone number&lt;br /&gt;
|-&lt;br /&gt;
| homeNumber&lt;br /&gt;
| string&lt;br /&gt;
| Home phone number&lt;br /&gt;
|-&lt;br /&gt;
| mobileNumber&lt;br /&gt;
| string&lt;br /&gt;
| Mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
| faxNumber&lt;br /&gt;
| string&lt;br /&gt;
| Fax number&lt;br /&gt;
|-&lt;br /&gt;
| pagerNumber&lt;br /&gt;
| string&lt;br /&gt;
| Pager number&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| City&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| State&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Zip or postal code&lt;br /&gt;
|-&lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| notes&lt;br /&gt;
| string&lt;br /&gt;
| Notes field&lt;br /&gt;
|}&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/contacts/alex.smith', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'displayName' =&amp;gt; 'Johnny Customer',&lt;br /&gt;
  'externalEmail' =&amp;gt; 'jonny@apple.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/contacts/alex.smith', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'externalEmail' =&amp;gt; 'jonnysNewEmail@microsoft.com',&lt;br /&gt;
  'company' =&amp;gt; 'Microsoft',&lt;br /&gt;
  'businessnumber' =&amp;gt; '425 555 5555'&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;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address jane.doe@abc.com exists&lt;br /&gt;
|-&lt;br /&gt;
| New display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New contact name (user name) already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|-&lt;br /&gt;
| New contact name (user name) is reserved by Exchange&lt;br /&gt;
| 400&lt;br /&gt;
| user name reserved&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the contact.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Contact is deleted immediately without verification and data is lost permanently.&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/contacts/alex.smith', 'text/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;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address jane.doe@abc.com exists&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=MediaWiki:Sidebar&amp;diff=342</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=MediaWiki:Sidebar&amp;diff=342"/>
				<updated>2009-11-30T20:03:58Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Changed casing of 'REST'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** Webmail|Webmail API&lt;br /&gt;
** Business|Business API&lt;br /&gt;
** Reseller|Reseller API&lt;br /&gt;
** Rest_API|Rest API&lt;br /&gt;
** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=341</id>
		<title>Exchange Mailbox (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=341"/>
				<updated>2009-11-30T20:01:28Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Update to latest live version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Shows a list of mailboxes under 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxList.xsd MailboxList.xsd]&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;mailboxList 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:mailboxList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox55&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox6&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/mailboxList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox55&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox6&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;}]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Mailbox.xsd Mailbox.xsd]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;samAccountName&amp;quot; is the logon name used to support clients and servers running older versions of the operating system.&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', 'text/xml'&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;mailbox 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:mailbox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;2048&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;currentUsage&amp;gt;0&amp;lt;/currentUsage&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;isPublicFolderAdmin&amp;gt;true&amp;lt;/isPublicFolderAdmin&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;contactInfo&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;API&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;Test&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;jobTitle&amp;gt;Dev&amp;lt;/jobTitle&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;My Company&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;department&amp;gt;R&amp;amp;amp;D&amp;lt;/department&amp;gt;&lt;br /&gt;
    &amp;lt;businessNumber&amp;gt;111-1111&amp;lt;/businessNumber&amp;gt;&lt;br /&gt;
    &amp;lt;homeNumber&amp;gt;222-2222&amp;lt;/homeNumber&amp;gt;&lt;br /&gt;
    &amp;lt;mobileNumber&amp;gt;333-3333&amp;lt;/mobileNumber&amp;gt;&lt;br /&gt;
    &amp;lt;faxNumber&amp;gt;444-4444&amp;lt;/faxNumber&amp;gt;&lt;br /&gt;
    &amp;lt;pagerNumber&amp;gt;1234&amp;lt;/pagerNumber&amp;gt;&lt;br /&gt;
    &amp;lt;addressLine1&amp;gt;123 Main Street&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Blacksburg&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;state&amp;gt;VA&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;zip&amp;gt;24060&amp;lt;/zip&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;notes&amp;gt;My Notes&amp;lt;/notes&amp;gt;&lt;br /&gt;
  &amp;lt;/contactInfo&amp;gt;&lt;br /&gt;
  &amp;lt;emailForwardingAddress /&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddressList&amp;gt;&lt;br /&gt;
    &amp;lt;emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;address&amp;gt;apiexmailbox90@apidomain92.com&amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;replyTo&amp;gt;true&amp;lt;/replyTo&amp;gt;&lt;br /&gt;
    &amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/emailAddressList&amp;gt;&lt;br /&gt;
  &amp;lt;hasBlackBerryMobileService&amp;gt;false&amp;lt;/hasBlackBerryMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;hasActiveSyncMobileService&amp;gt;false&amp;lt;/hasActiveSyncMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;samAccountName&amp;gt;apiexmailbox90_53B5B&amp;lt;/samAccountName&amp;gt;&lt;br /&gt;
&amp;lt;/mailbox&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;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;size&amp;quot;:2048,&amp;quot;currentUsage&amp;quot;:0,&amp;quot;isHidden&amp;quot;:false,&amp;quot;isPublicFolderAdmin&amp;quot;:true,&amp;quot;enabled&amp;quot;:true,&amp;quot;contactInfo&amp;quot;:{&amp;quot;firstName&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;jobTitle&amp;quot;:&amp;quot;Dev&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;My Company&amp;quot;,&amp;quot;department&amp;quot;:&amp;quot;R&amp;amp;D&amp;quot;,&amp;quot;businessNumber&amp;quot;:&amp;quot;111-1111&amp;quot;,&amp;quot;homeNumber&amp;quot;:&amp;quot;222-2222&amp;quot;,&amp;quot;mobileNumber&amp;quot;:&amp;quot;333-3333&amp;quot;,&amp;quot;faxNumber&amp;quot;:&amp;quot;444-4444&amp;quot;,&amp;quot;pagerNumber&amp;quot;:&amp;quot;1234&amp;quot;,&amp;quot;addressLine1&amp;quot;:&amp;quot;123 Main Street&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;Blacksburg&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;VA&amp;quot;,&amp;quot;zip&amp;quot;:&amp;quot;24060&amp;quot;,&amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&amp;quot;notes&amp;quot;:&amp;quot;My Notes&amp;quot;},&amp;quot;emailForwardingAddress&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;emailAddressList&amp;quot;:[{&amp;quot;address&amp;quot;:&amp;quot;apiexmailbox90@apidomain92.com&amp;quot;,&amp;quot;replyTo&amp;quot;:true}],&amp;quot;hasBlackBerryMobileService&amp;quot;:false,&amp;quot;hasActiveSyncMobileService&amp;quot;:false,&amp;quot;samAccountName&amp;quot;:&amp;quot;apiexmailbox90_53B5B&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&lt;br /&gt;
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a mailbox using the specified form fields. All required fields must be supplied when adding. Other fields may be omitted.&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;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| positive integer&lt;br /&gt;
| Mailbox size in megabytes (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the mailbox is hidden from the Global Address List&lt;br /&gt;
|-&lt;br /&gt;
| isPublicFolderAdmin&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the account is a public folder administrator&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| First name&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Last name&lt;br /&gt;
|-&lt;br /&gt;
| company&lt;br /&gt;
| string&lt;br /&gt;
| Company&lt;br /&gt;
|-&lt;br /&gt;
| department&lt;br /&gt;
| string&lt;br /&gt;
| Department&lt;br /&gt;
|-&lt;br /&gt;
| jobTitle&lt;br /&gt;
| string&lt;br /&gt;
| Job title&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| City&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| State&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Zip or postal code&lt;br /&gt;
|-&lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| businessNumber&lt;br /&gt;
| string&lt;br /&gt;
| Business phone number&lt;br /&gt;
|-&lt;br /&gt;
| pagerNumber&lt;br /&gt;
| string&lt;br /&gt;
| Pager phone number&lt;br /&gt;
|-&lt;br /&gt;
| homeNumber&lt;br /&gt;
| string&lt;br /&gt;
| Home phone number&lt;br /&gt;
|-&lt;br /&gt;
| mobileNumber&lt;br /&gt;
| string&lt;br /&gt;
| Mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
| faxNumber&lt;br /&gt;
| string&lt;br /&gt;
| Fax phone number&lt;br /&gt;
|-&lt;br /&gt;
| notes&lt;br /&gt;
| string&lt;br /&gt;
| Notes field&lt;br /&gt;
|-&lt;br /&gt;
| emailForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| Forwarding email address (If this field is assigned an email address, then email forwarding will be turned on. If this field is not assigned or assigned an empty string, then email forwarding will be disabled.)&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| string&lt;br /&gt;
| Enable/Disable mailbox, input must be &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;&lt;br /&gt;
|}&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', 'text/xml', &lt;br /&gt;
{ &lt;br /&gt;
  'displayName' =&amp;gt; 'Alex Smith',&lt;br /&gt;
  'password' =&amp;gt; 'Secret123!@#',&lt;br /&gt;
  'size' =&amp;gt; '2048'&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml',&lt;br /&gt;
{ &lt;br /&gt;
  'homenumber' =&amp;gt; '8005551234'&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;
| New mailbox name (user name) doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid user name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox password doesn't meet the password pattern requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be at least 8 characters long&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox name (user name) already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The mailbox and mailbox contents are deleted permanently.&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds a mailbox's email address.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the email address. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The operation will fail if the email address does not exist.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spam ==&lt;br /&gt;
&lt;br /&gt;
=== Index Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/blacklist&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 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Blacklist.xsd Blacklist.xsd]&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/blacklist', 'text/xml'&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;blacklist 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:blacklist&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;/blacklist&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpBlacklist.xsd IpBlacklist.xsd]&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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Safelist.xsd Safelist.xsd]&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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpSafelist.xsd IpSafelist.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
=== Add Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/blacklist/(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 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/anyone@spam.com', 'text/xml'&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 blacklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&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/v0/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', 'text/xml'&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;
=== Add IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/safelist/(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/ex/mailboxes/alex.smith/spam/safelist/216.12.34.1', 'text/xml'&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;
&lt;br /&gt;
=== Delete Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/spam/blacklist/(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 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/blacklist/anyone@yahoo.com', 'text/xml'&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 blacklist&lt;br /&gt;
| 400&lt;br /&gt;
| abc@junkmail.com is not found on the blacklist&lt;br /&gt;
|}&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxSpamSetting.xsd MailboxSpamSetting.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
=== Edit Spam Setting ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/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;
&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', 'text/xml',&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;
&lt;br /&gt;
== BlackBerry Mobile Service ==&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/blackberrymobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that has BlackBerry mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/BlackberryMobileServiceList.xsd BlackberryMobileServiceList.xsd]&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/blackberrymobileservices', 'text/xml'&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;blackBerryMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:blackBerryMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/blackBerryMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a BlackBerry mobile service to the mailbox.&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;
| activationPassword&lt;br /&gt;
| string&lt;br /&gt;
| Activation password (Required)&lt;br /&gt;
|}&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/john.smith/blackberrymobileservice', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'activationPassword' =&amp;gt; '12345'&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;
| Mailbox already has BlackBerry Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has BlackBerry Mobile Service already&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a BlackBerry mobile service from a mailbox.&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/john.smith/blackberrymobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ActiveSync Mobile Service ==&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/activesyncmobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that have ActiveSync mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileServiceList.xsd ActiveSyncMobileServiceList.xsd]&lt;br /&gt;
&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/activesyncmobileservices', 'text/xml'&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;activeSyncMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:activeSyncMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the mailbox ActiveSync mobile service setup information to access Hosted Exchange 2007.&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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileService.xsd ActiveSyncMobileService.xsd]&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/john.smith/activesyncmobileservice', 'text/xml'&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;activeSyncMobileService 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:activeSyncMobileService&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddress&amp;gt;john.smith@example.com&amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;serverAddress&amp;gt;mex07A.emailsrvr.com&amp;lt;/serverAddress&amp;gt;&lt;br /&gt;
  &amp;lt;userName&amp;gt;johnsmith1234&amp;lt;/userName&amp;gt;&lt;br /&gt;
  &amp;lt;domainAddress&amp;gt;mex07A.mlsrvr.com&amp;lt;/domainAddress&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileService&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;emailAddress&amp;quot;:&amp;quot;john.smith@example.com&amp;quot;,&amp;quot;serverAddress&amp;quot;:&amp;quot;mex07A.emailsrvr.com&amp;quot;,&amp;quot;userName&amp;quot;:&amp;quot;johnsmith1234&amp;quot;,&amp;quot;domainAddress&amp;quot;:&amp;quot;mex07A.mlsrvr.com&amp;quot;}&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;
| Mailbox has no ActiveSync service&lt;br /&gt;
| 404&lt;br /&gt;
| User john.smith@example.com has no active ActiveSync Mobile Service.&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a ActiveSync service to the mailbox.&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/john.smith/activesyncmobileservice', 'text/xml', {}&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;
| Mailbox already has ActiveSync Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has ActiveSync Mobile Service already&lt;br /&gt;
|}&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/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a ActiveSync mobile service from a mailbox.&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/john.smith/activesyncmobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_(Rest_API)&amp;diff=340</id>
		<title>Domain (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_(Rest_API)&amp;diff=340"/>
				<updated>2009-11-30T18:20:04Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Updated to latest live version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of domains under the account. If a customer account is specified, then a list of domains under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of domains owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v0/customers/me/domains'&amp;lt;/nowiki&amp;gt;. To retrieve a list of domains owned by all customer sub-accounts and your own account, use &amp;quot;all&amp;quot; as the customer account number.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DomainList.xsd DomainList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/all/domains?size=100&amp;amp;page=1', 'text/xml'&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;domainList 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: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;3&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;apidomain53.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100000&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apidomain66.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100001&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apidomain68.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100002&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&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;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;domains&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;apidomain53.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100000&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain66.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100001&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain68.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100002&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified domain name.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Domain.xsd Domain.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/999999/domains/example.com', 'text/xml'&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;domain 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:domain&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apidomain21.com&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;100000&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeBaseMailboxSize&amp;gt;2048&amp;lt;/exchangeBaseMailboxSize&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeUsedStorage&amp;gt;0&amp;lt;/exchangeUsedStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeTotalStorage&amp;gt;18432&amp;lt;/exchangeTotalStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeExtraStorage&amp;gt;10240&amp;lt;/exchangeExtraStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeMaxNumMailboxes&amp;gt;4&amp;lt;/exchangeMaxNumMailboxes&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailBaseMailboxSize&amp;gt;2048&amp;lt;/rsEmailBaseMailboxSize&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailMaxNumberMailboxes&amp;gt;4&amp;lt;/rsEmailMaxNumberMailboxes&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailExtraStorage&amp;gt;10240&amp;lt;/rsEmailExtraStorage&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailUsedStorage&amp;gt;0&amp;lt;/rsEmailUsedStorage&amp;gt;&lt;br /&gt;
  &amp;lt;aliases /&amp;gt;&lt;br /&gt;
  &amp;lt;archivingServiceEnabled&amp;gt;false&amp;lt;/archivingServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;blackBerryMobileServiceEnabled&amp;gt;true&amp;lt;/blackBerryMobileServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;blackBerryLicenses&amp;gt;4&amp;lt;/blackBerryLicenses&amp;gt;&lt;br /&gt;
  &amp;lt;activeSyncMobileServiceEnabled&amp;gt;true&amp;lt;/activeSyncMobileServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;activeSyncLicenses&amp;gt;4&amp;lt;/activeSyncLicenses&amp;gt;&lt;br /&gt;
  &amp;lt;goodMobileServiceEnabled&amp;gt;true&amp;lt;/goodMobileServiceEnabled&amp;gt;&lt;br /&gt;
  &amp;lt;goodMobileLicenses&amp;gt;4&amp;lt;/goodMobileLicenses&amp;gt;&lt;br /&gt;
&amp;lt;/domain&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;apidomain21.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100000&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;,&lt;br /&gt;
&amp;quot;exchangeBaseMailboxSize&amp;quot;:2048,&amp;quot;exchangeUsedStorage&amp;quot;:0,&amp;quot;exchangeTotalStorage&amp;quot;:18432,&lt;br /&gt;
&amp;quot;exchangeExtraStorage&amp;quot;:10240,&amp;quot;exchangeMaxNumMailboxes&amp;quot;:4,&amp;quot;rsEmailBaseMailboxSize&amp;quot;:2048,&lt;br /&gt;
&amp;quot;rsEmailMaxNumberMailboxes&amp;quot;:4,&amp;quot;rsEmailExtraStorage&amp;quot;:10240,&amp;quot;rsEmailUsedStorage&amp;quot;:0,&lt;br /&gt;
&amp;quot;aliases&amp;quot;:[],&amp;quot;archivingServiceEnabled&amp;quot;:false,&amp;quot;blackBerryMobileServiceEnabled&amp;quot;:true,&lt;br /&gt;
&amp;quot;blackBerryLicenses&amp;quot;:4,&amp;quot;activeSyncMobileServiceEnabled&amp;quot;:true,&amp;quot;activeSyncLicenses&amp;quot;:4,&lt;br /&gt;
&amp;quot;goodMobileServiceEnabled&amp;quot;:true,&amp;quot;goodMobileLicenses&amp;quot;:4}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
 Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a new domain to the account with the data specified. To add a domain to your own account, use your own account id.&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;
| serviceType&lt;br /&gt;
| string&lt;br /&gt;
| Domain service type. &amp;quot;rsemail&amp;quot; = &amp;quot;Rackspace Email Only&amp;quot;. &amp;quot;exchange&amp;quot; = &amp;quot;Exchange Only&amp;quot;. &amp;quot;both&amp;quot; = &amp;quot;Rackspace Email and Exchange&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| exchangeExtraStorage&lt;br /&gt;
| int&lt;br /&gt;
| Exchange service extra storage in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| exchangeMaxNumMailboxes&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed under the domain Exchange service. Required for Adding Exchange service&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailBaseMailboxSize&lt;br /&gt;
| int&lt;br /&gt;
| Rackspace Email base mailbox size in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailMaxNumberMailboxes&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed under the domain Rackspace Email service. Required for Adding Rackspace Email service&lt;br /&gt;
|-&lt;br /&gt;
| rsEmailExtraStorage&lt;br /&gt;
| int&lt;br /&gt;
| Rackspace Email service extra storage in megabytes&lt;br /&gt;
|-&lt;br /&gt;
| blackBerryMobileServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain BlackBerry Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| blackBerryLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have BlackBerry Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| activeSyncMobileServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain ActiveSync Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| activeSyncLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have ActiveSync Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| goodMobileServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain Good Mobile service&lt;br /&gt;
|-&lt;br /&gt;
| goodMobileLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have Good Mobile service. 0 means unlimited&lt;br /&gt;
|-&lt;br /&gt;
| archivingServiceEnabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain archiving service&lt;br /&gt;
|-&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;
post '/customers/123455/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'maxNumMailboxes' =&amp;gt; '5',&lt;br /&gt;
  'extraStorage' =&amp;gt; '1024'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/123455/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'maxNumMailboxes' =&amp;gt; '25',&lt;br /&gt;
  'extraStorage' =&amp;gt; '2048'&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;
| New domain name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid domain name&lt;br /&gt;
|-&lt;br /&gt;
| New domain name already exists&lt;br /&gt;
| 400&lt;br /&gt;
| abc.com already exists as a domain or alternate domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Move ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/customers/&lt;br /&gt;
      (new customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Moves the domain to another customer account.&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;
| moveDomain&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicate whether or not moving the domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Note 'Move Domain' and 'Edit Domain' share the same URI and HTTP verb. When the domain doesn't belong to the customer and 'moveDomain' is set to 'true', API will take the request as a 'Move Domain' call.&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/123456/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'moveDomain' =&amp;gt; 'true'&lt;br /&gt;
}&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;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the domain.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The domain and all the mailboxes, mailbox contents, groups, and contacts are deleted permanently.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/newcompany.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spam ==&lt;br /&gt;
&lt;br /&gt;
=== Index Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)/spam/blacklist&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 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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Blacklist.xsd Blacklist.xsd]&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/blacklist', 'text/xml'&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;blacklist 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:blacklist&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;/blacklist&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;
=== Index IP Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpBlacklist.xsd IpBlacklist.xsd]&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', 'text/xml'&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;
=== Index Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Safelist.xsd Safelist.xsd]&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', 'text/xml'&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;
=== Index IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpSafelist.xsd IpSafelist.xsd]&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', 'text/xml'&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 Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)/spam/blacklist/(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 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/anyone@spam.com', 'text/xml'&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 blacklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
=== Add IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] https://api.emailsrvr.com/v0/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', 'text/xml'&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;
&lt;br /&gt;
=== Delete Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)/spam/blacklist/(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 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/blacklist/anyone@yahoo.com', 'text/xml'&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 blacklist&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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', 'text/xml'&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;
&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/v0/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. For .xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DomainSpamSetting.xsd DomainSpamSetting.xsd]&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', 'text/xml'&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/v0/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/' + @@domain + '/spam/settings', 'text/xml', &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;
&lt;br /&gt;
== Alternate Domains ==&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/&lt;br /&gt;
                domains/(domain name)/alternatedomains&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of Domain Aliases and Accepted Domains for the domain. The type of the alternate domain is indicated by the 'type' data field. The XML schema for the returned data is [http://api.emailsrvr.com/v0/Schemas/DomainSplitRouting.xsd DomainAlternateList.xsd]&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/test.com/alternatedomains', 'text/xml'&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;alternateDomainList 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:domainAlternateList&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;alternateDomains&amp;gt;&lt;br /&gt;
    &amp;lt;alternateDomain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;domainalias.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;DomainAlias&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/alternateDomain&amp;gt;&lt;br /&gt;
    &amp;lt;alternateDomain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;accepteddomain.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;type&amp;gt;AcceptedDomain&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;/alternateDomain&amp;gt;&lt;br /&gt;
  &amp;lt;/alternateDomains&amp;gt;&lt;br /&gt;
&amp;lt;/alternateDomainList&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;lt;pre&amp;gt;{&amp;quot;alternateDomains&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;domainalias.com&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;DomainAlias&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;accepteddomain.com&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;AcceptedDomain&amp;quot;}]}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Add ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 [POST] https://api.emailsrvr.com/v0/customers/(customer account number)&lt;br /&gt;
    /domains/(domain name)/alternatedomains/(alternate domain name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds either a Domain Alias or Accepted Domain to the domain.&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;
| type&lt;br /&gt;
| string&lt;br /&gt;
| Alternate domain type. Send &amp;quot;DomainAlias&amp;quot; for a domain alias, and &amp;quot;AcceptedDomain&amp;quot; for an accepted domain. (Required)&lt;br /&gt;
|-&lt;br /&gt;
| createForExistingRecipients&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether the alternate addresses should be created for existing mailboxes when adding an Accepted Domain. Sending this field in the request when the type is Domain Alias will throw an error. This defaults to false.&lt;br /&gt;
|-&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;
post '/customers/123456/domains/example.com/alternatedomains/accepteddomain.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'type' =&amp;gt; 'AcceptedDomain'&lt;br /&gt;
  'createForExistingRecipients' =&amp;gt; 'true'&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;
| New domain name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid domain name&lt;br /&gt;
|-&lt;br /&gt;
| Alternate domain already exists&lt;br /&gt;
| 400&lt;br /&gt;
| abc.com already exists as a domain or alternate domain&lt;br /&gt;
|-&lt;br /&gt;
| The 'createForExistingRecipients' field was sent with either data, or as a null field. It should not be included in the form data at all.&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid Alternate Domain Setting: createForExistingRecipients is an invalid setting for Domain Aliases&lt;br /&gt;
|-&lt;br /&gt;
| The only valid values for 'type' are 'DomainAlias' and 'AcceptedDomain', for a Domain Alias and Accepted Domain respectively.&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid Alternate Domain type&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Delete ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/&lt;br /&gt;
      domains/(domain name)/alternatedomains/(alternate domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the alternate domain.&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/example.com/alternatedomains/accepteddomain.com'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Split Domain Routing ==&lt;br /&gt;
&lt;br /&gt;
=== Show Settings ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/splitdomainrouting&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
Shows the current external email server. The XML schema document for the output of this command is [http://api.emailsrvr.com/v0/Schemas/DomainSplitRouting.xsd DomainSplitRouting.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/company.com/splitdomainrouting', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;splitDomainRouting 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:splitDomainRouting&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;externalServer&amp;gt;email.externalserver.com&amp;lt;/externalServer&amp;gt;&lt;br /&gt;
&amp;lt;/splitDomainRouting&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;externalServer&amp;quot;:&amp;quot;email.externalserver.com&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Edit Settings ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/splitdomainrouting&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This command sets the external email server. This command will return a success when the verification passes. Since this involves communication to the external server the request may take some time. If the verification fails a 400 return code will be sent back with the verification's error message.&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;
| externalServer&lt;br /&gt;
| string&lt;br /&gt;
| The address of the external email server. To turn off split domain routing send 'none'. (Required)&lt;br /&gt;
|-&lt;br /&gt;
| verificationAddress&lt;br /&gt;
| string&lt;br /&gt;
| An email address part of your domain or one of the alternate domains that the external server is already set up to handle. (Required only when turning on split domain routing, Do not send this field if turning off.)&lt;br /&gt;
|-&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/12345678/domains/company.com/splitdomainrouting', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'externalServer' =&amp;gt; 'email.externalserver.com',&lt;br /&gt;
  'verificationAddress' =&amp;gt; 'externalaccount@company.com',&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
| The SMTP host could not be found.&lt;br /&gt;
| 400&lt;br /&gt;
| One of the verification error messages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Archiving SSO Login URL ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/archivingSSOLoginURL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Gets the domain archiving service SSO login URL.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The retrieved URL can be used in browser to access the domain archiving control panel.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/company.com/archivingSSOLoginURL', 'text/xml'&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;
| No archiving service&lt;br /&gt;
| 404&lt;br /&gt;
| Domain abc.com has no archiving service enabled&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=339</id>
		<title>Customer (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=339"/>
				<updated>2009-11-30T18:18:13Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Updated to reflect latest version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the list of customers that the authenticated user has access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/CustomerList.xsd CustomerList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?size=100&amp;amp;page=1', 'text/xml'&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;customerList 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:customerList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;customers&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 39&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460181&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;23&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 50&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460183&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;10&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;/customers&amp;gt;&lt;br /&gt;
&amp;lt;/customerList&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;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;customers&amp;quot;:&lt;br /&gt;
[{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 39&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460181&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;23&amp;quot;},&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 50&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460183&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;10&amp;quot;}]}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To do the show operation on the account that is logged in instead of a customer's account, use &amp;quot;me&amp;quot; in the place of the customer account number i.e. &amp;lt;nowiki&amp;gt;'https://api.emailsrvr.com/v0/customers/me'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Customer.xsd Customer.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/me', 'text/xml'&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;customer 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:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
&amp;lt;/customer&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;lt;pre&amp;gt;&lt;br /&gt;
{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 Add: [POST] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Edit: [PUT] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add/Edit a new sub-account. Note that customer number is not known until the customer is added.&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;
| name&lt;br /&gt;
| string&lt;br /&gt;
| The customer's display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| referenceNumber&lt;br /&gt;
| string&lt;br /&gt;
| The reference number of this account&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;
post '/customers', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'Name'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'NewName',&lt;br /&gt;
 'referenceNumber' =&amp;gt; '12345'&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;
| The name field was not specified&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|-&lt;br /&gt;
| The name field cannot be blank&lt;br /&gt;
| 400&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Names cannot start with a space&lt;br /&gt;
| 400&lt;br /&gt;
| Improper Customer Name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [DELETE] &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=338</id>
		<title>Rest API</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=338"/>
				<updated>2009-11-30T18:16:45Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Updated to reflect latest live version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Recent Changes ==&lt;br /&gt;
&lt;br /&gt;
'''11/22/09 '''&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
New features:&lt;br /&gt;
*Index/Add/Delete Alternate Domains.&lt;br /&gt;
*Show/Edit Domain Spam Settings.&lt;br /&gt;
*Index/Add/Delete Domain Blacklist/Safelist.&lt;br /&gt;
*Show/Edit Split Domain Routing.&lt;br /&gt;
*Show Mailbox ActiveSync Setup Info.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Email &amp;amp; Apps Control Panel API provides most of the functions of the Control Panel through a HTTP-based REST API ([http://en.wikipedia.org/wiki/Application_programming_interface Application Programming Interface]). 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://en.wikipedia.org/wiki/Representational_State_Transfer&lt;br /&gt;
&lt;br /&gt;
http://java.sun.com/developer/technicalArticles/WebServices/restful/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The API is accessible to resellers only. As of now, most of the supported functions manage only customers, domains, and Exchange accounts.&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Resource&lt;br /&gt;
!Example URI&lt;br /&gt;
|-&lt;br /&gt;
| [[Customer_(Rest_API)| Customer]]&lt;br /&gt;
| /customers/123456789&lt;br /&gt;
|-&lt;br /&gt;
| [[Domain_(Rest_API)| Domain]]&lt;br /&gt;
| /customers/123456789/domains/example.com&lt;br /&gt;
|-&lt;br /&gt;
| [[Mailbox_(Rest_API)| Exchange Mailbox]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
|-&lt;br /&gt;
| [[Contact_(Rest_API)| Exchange Contact]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/contacts/john.smith&lt;br /&gt;
|-&lt;br /&gt;
| [[Distribution_List_(Rest_API)| Exchange Distribution List]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/distributionlists/group.name&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;
To get a list of mailboxes under a domain:&lt;br /&gt;
&lt;br /&gt;
First, you need to populate some HTTP headers with the correct information. 'Accept' needs to be either 'text/xml' or 'application/json' to indicate the format of the returned data. 'User-Agent' just needs to be any name you choose to identify your client with. 'X-Api-Signature' needs a &lt;br /&gt;
&lt;br /&gt;
== Accessing the API ==&lt;br /&gt;
&lt;br /&gt;
Your application will need to make HTTP requests to remote servers. Most programming languages have this function provided in its class library. 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;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Calls without [http://en.wikipedia.org/wiki/Transport_Layer_Security TLS] (formerly SSL) will complete successfully but it is HIGHLY RECOMMENDED that TLS always be used. Interception of unencrypted communication will allow a third party to have complete access to all functions available via the API.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For some language libraries just using an URL 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/v0/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;
| v0 (current)&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;https://api.emailsrvr.com/v0/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| http://signup.apps.rackspace.com/api-wiki/index.php/Rest_API&lt;br /&gt;
|}&lt;br /&gt;
&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/v0/. 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;
{| 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;
&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 that are generated from the Control Panel Web interface.&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;'''Signature'''&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Example: ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=''&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 YYYYMMDDHHmmssff. 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;
| ff&lt;br /&gt;
| Millisecond&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Signature''':&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;
&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 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;
==== 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;
&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 consistent and is outlined in the table 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''&lt;br /&gt;
|-&lt;br /&gt;
| Accept&lt;br /&gt;
| The requested content type (required regardless of type of operation). 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 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&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;
&lt;br /&gt;
&lt;br /&gt;
'''Reference Number'''&lt;br /&gt;
&lt;br /&gt;
For the customer object only, the query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number. The result if found is the detail page of the customer.&lt;br /&gt;
&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 current limit is 1500 requests over 5 minutes. 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;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Example requests:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index of Exchange Mailboxes:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    GET /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100 HTTP/1.1&lt;br /&gt;
        Request Method: GET&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100&lt;br /&gt;
        Request Version: 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;
&lt;br /&gt;
 &lt;br /&gt;
Adding New Exchange Mailbox:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    POST /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith HTTP/1.1&lt;br /&gt;
        Request Method: POST&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
        Request Version: 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;
    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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Responses ===&lt;br /&gt;
&lt;br /&gt;
On a successfully executed request, a 200 HTTP Code is returned. Requested data is also returned if the operation was a Show or Index action. If the request is unsuccessful, then an error HTTP Code is returned with a message detailing the error. The errors and their corresponding codes are detailed on the operation pages.&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 extract data from 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 library with the functions necessary for whichever method you choose to use to extract data.&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;
==== Errors ====&lt;br /&gt;
&lt;br /&gt;
If a request is not sucessfully completed an HTTP error code in the 400s or 500s will be returned. An error code of 500 generally indicates an error with our servers whereas an error code in the 400s is generally an error with the data sent to the server. In such cases the HTTP response will return a header named 'x-error-message'. Below are some errors that are common to many operations. Each operation also has some specific errors which are outlined with the operation. &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;
|Format is invalid&lt;br /&gt;
|400&lt;br /&gt;
|When requesting an index or show on a resource the 'Accept' header should be either 'text/xml' or 'application/json'&lt;br /&gt;
|-&lt;br /&gt;
|Customer account number is invalid&lt;br /&gt;
|404&lt;br /&gt;
|Invalid account number&lt;br /&gt;
|-&lt;br /&gt;
|Domain is not found&lt;br /&gt;
|404 &lt;br /&gt;
|&amp;lt;domain name&amp;gt; not found&lt;br /&gt;
|-&lt;br /&gt;
|Mailbox is not found&lt;br /&gt;
|404&lt;br /&gt;
|Mailbox not found&lt;br /&gt;
|-&lt;br /&gt;
|Required form field is missing &lt;br /&gt;
|400 &lt;br /&gt;
|Missing required field: &amp;lt;required field&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Required form field has null or empty string input &lt;br /&gt;
|400 &lt;br /&gt;
|Required field &amp;lt;required field&amp;gt; cannot be empty &lt;br /&gt;
|-&lt;br /&gt;
|Integer form field has non-integer input &lt;br /&gt;
|400 &lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be an integer &lt;br /&gt;
|-&lt;br /&gt;
|Boolean form field has non-boolean input &lt;br /&gt;
|400 &lt;br /&gt;
|Invalid format for &amp;lt;field&amp;gt;, input must be True or False &lt;br /&gt;
|-&lt;br /&gt;
|Form data has an unrecognized field &lt;br /&gt;
|400 &lt;br /&gt;
|Unrecognized field: &amp;lt;field&amp;gt;&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;
==== 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;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&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;
module NetMethods&lt;br /&gt;
  def get(url_string, format)&lt;br /&gt;
    url = URI.parse('https://' + server_host + server_port + version + url_string)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port)  do |http|&lt;br /&gt;
      sign_request&lt;br /&gt;
      assign_format(format)&lt;br /&gt;
      @request = Net::HTTP::Get.new(url.path, @headers)&lt;br /&gt;
 &lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def post(url_string, format, fields_hash)&lt;br /&gt;
    url = URI.parse('https://' + server_host + server_port + version + url_string)&lt;br /&gt;
&lt;br /&gt;
    sign_request&lt;br /&gt;
    assign_format(format)&lt;br /&gt;
    @request = Net::HTTP::Post.new(url.path, @headers)&lt;br /&gt;
&lt;br /&gt;
    @request.set_form_data(fields_hash)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port) do |http|&lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def assign_format (format)&lt;br /&gt;
    @headers['Accept'] = format&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def sign_request&lt;br /&gt;
    userAgent = 'Ruby Test Client'&lt;br /&gt;
    timestamp = DateTime.now.new_offset.strftime('%Y%m%d%H%M%S00')&lt;br /&gt;
    apiKey = 'XXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
    secretKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
 &lt;br /&gt;
    data_to_sign = apiKey + userAgent + timestamp + secretKey&lt;br /&gt;
 &lt;br /&gt;
    signature = Base64.encode64(Digest::SHA1.digest(data_to_sign))&lt;br /&gt;
 &lt;br /&gt;
    @headers = Hash.new&lt;br /&gt;
    @headers['User-Agent'] = userAgent&lt;br /&gt;
    @headers['X-Api-Signature'] = apiKey + &amp;quot;:&amp;quot; + timestamp + &amp;quot;:&amp;quot; + signature&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_host&lt;br /&gt;
    'api.emailsrvr.com'&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_port&lt;br /&gt;
    '80'&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def version&lt;br /&gt;
    '/v0'&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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.Collections.Specialized;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net;&lt;br /&gt;
&lt;br /&gt;
public class WebMethods&lt;br /&gt;
{&lt;br /&gt;
  private WebClientBase client;&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 WebMethods(WebClientBase client, string baseUrl, string apiKey, string secretKey)&lt;br /&gt;
  {&lt;br /&gt;
    this.client = client;&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 virtual string Get(string url)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        return client.DownloadString(baseUrl + url);&lt;br /&gt;
      },&lt;br /&gt;
      format);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public virtual string Post(string url, NameValueCollection data)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        var bytes = client.UploadValues(baseUrl + url, data);&lt;br /&gt;
        return Encoding.UTF8.GetString(bytes);&lt;br /&gt;
      },&lt;br /&gt;
      format);&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;
    client.Headers[&amp;quot;User-Agent&amp;quot;] = userAgent;&lt;br /&gt;
&lt;br /&gt;
    var dateTime = DateTime.UtcNow.ToString(&amp;quot;yyyyMMddHHmmssff&amp;quot;);&lt;br /&gt;
&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;
    client.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;
    client.Headers[&amp;quot;Accept&amp;quot;] = format;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private string MakeRemoteCall(Func&amp;lt;WebClientBase, string&amp;gt; remoteCall, string format)&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      SignMessage();&lt;br /&gt;
      AssignFormat(format);&lt;br /&gt;
      return remoteCall.Invoke(client);&lt;br /&gt;
    }&lt;br /&gt;
    catch (WebException e)&lt;br /&gt;
    {&lt;br /&gt;
      throw new ApiException(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=MediaWiki:Sidebar&amp;diff=337</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=MediaWiki:Sidebar&amp;diff=337"/>
				<updated>2009-11-30T18:12:35Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Changed 'Beta API' to 'Rest API'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** Webmail|Webmail API&lt;br /&gt;
** Business|Business API&lt;br /&gt;
** Reseller|Reseller API&lt;br /&gt;
** Rest_API|REST API&lt;br /&gt;
** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Companies&amp;diff=336</id>
		<title>Companies</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Companies&amp;diff=336"/>
				<updated>2009-11-30T16:28:43Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Updating company name.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Resellers of Rackspace Email hosting services can add sub-accounts to their main reseller account.  Each sub-account usually represents a company that purchases email hosting from the reseller.  Sub-accounts may only be one level deep with respect to the reseller (no sub-accounts of sub-accounts).&lt;br /&gt;
&lt;br /&gt;
== Function List ==&lt;br /&gt;
[[GetSubaccounts()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[SearchSubaccounts()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[SearchDomains()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[AddSubaccount()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[DeleteSubaccount()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ModifySubaccount()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_GetDomains()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_GetAdmins()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_GetAdminType()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_AddAdmin()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_ChangeAdminPassword()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_ChangeAdminType()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_DeleteAdmin()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_AddDomain()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Subaccount_MoveDomain()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[GetAllDomainsUserCount()]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[GetAllDomainsMXRecords()]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=ModifyDomainMaxNumUsers()&amp;diff=335</id>
		<title>ModifyDomainMaxNumUsers()</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=ModifyDomainMaxNumUsers()&amp;diff=335"/>
				<updated>2009-11-20T21:17:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Removing webmail.us reference.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function will change the maximum number of mailboxes that can be created for a domain.  Please note that mailbox and domain aliases do not count towards the total number of mailboxes.  A limit of 0 is the same as saying that there are no limits to the number of mailboxes that may be created for the domain.  Please use the &amp;quot;0&amp;quot; cautiously and be certain that your contract with us permits this to prevent billing problems.&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
Three strings, one integer:&lt;br /&gt;
    Administrative username,&lt;br /&gt;
    Administrative password,&lt;br /&gt;
    Domain name,&lt;br /&gt;
    Maximum mailbox count (integer, must be 0 or greater, 0 = no limit)&lt;br /&gt;
===Return Values===&lt;br /&gt;
If successful, the return value of the function will be 1.&lt;br /&gt;
&lt;br /&gt;
Consult the [[resultcodes|Result Code Table]] for a list of result codes and their meaning.&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=ASP&amp;diff=334</id>
		<title>ASP</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=ASP&amp;diff=334"/>
				<updated>2009-11-20T21:14:43Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Removing webmail.us reference.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A customer recommended the following article as being helpful for System.Net.WebException errors: http://geekswithblogs.net/Denis/archive/2005/08/16/50365.aspx&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%&amp;lt;br&amp;gt;&lt;br /&gt;
Option Explicit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dim soapClient&amp;lt;br&amp;gt;&lt;br /&gt;
set soapclient = CreateObject(&amp;quot;MSSOAP.SoapClient&amp;quot;)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
soapclient.ClientProperty(&amp;quot;ServerHTTPRequest&amp;quot;) = True&amp;lt;br&amp;gt;&lt;br /&gt;
soapclient.mssoapinit &amp;quot;&amp;lt;nowiki&amp;gt;https://admin.webmail.us/excedentsoap/excedentsoap.wsdl&amp;lt;/nowiki&amp;gt;&amp;quot;, &amp;lt;br&amp;gt; &amp;quot;excedentsoap&amp;quot;, &amp;quot;UtilsSoapPort&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'*********************Initializing*************************&amp;lt;br&amp;gt;&lt;br /&gt;
Dim retval&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'this is the username and password you use to log in to our admin.webmail.us site&amp;lt;br&amp;gt;&lt;br /&gt;
Dim AdminUsername, AdminPassword&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
AdminUsername = &amp;quot;adminUser&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
AdminPassword = &amp;quot;adminPassword&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dim emailAddr&amp;lt;br&amp;gt;&lt;br /&gt;
Dim HostName	'the hostname of the email domain&amp;lt;br&amp;gt;&lt;br /&gt;
Dim UserID	'userid (id before the @ symbol in the email address)&amp;lt;br&amp;gt;&lt;br /&gt;
Dim sesID&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
HostName = &amp;quot;webmail.us&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
UserID = &amp;quot;someguy&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'*************function call checkuserexists****************&amp;lt;br&amp;gt;&lt;br /&gt;
retval = soapclient.LoginUserWebMail(AdminUsername, AdminPassword, HostName, UserID, sesID)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Response.Write retval&amp;lt;br&amp;gt;&lt;br /&gt;
Response.Write &amp;quot;&amp;lt;BR&amp;gt;&amp;quot; &amp;amp; sesID&amp;lt;br&amp;gt;&lt;br /&gt;
Response.Redirect &amp;quot;&amp;lt;nowiki&amp;gt;http://reseller1.webmail.us/mail/src/redirect.php?&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;user_name=someguy@webmail.us&amp;amp;emailaddress=someguy@webmail.us&amp;amp;sessionID=&amp;quot;&amp;amp;SesID&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Set soapclient = nothing&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
%&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=AddMailAllotStorage()&amp;diff=333</id>
		<title>AddMailAllotStorage()</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=AddMailAllotStorage()&amp;diff=333"/>
				<updated>2009-11-20T21:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: Removing webmail.us reference.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function will add or remove allocatable/extra storage for a domain.  Passing a negative value to reduce the allocatable storage.  After calling this function, extra storage may be assigned to a user with [[SetUserMailboxMaxSize()]].  Check current extra storage levels with [[GetMailAllotStorage()]].  Please make sure that your contract with us permits you to change these values to ensure that billing will be handled properly.&lt;br /&gt;
&lt;br /&gt;
===Input Parameters===&lt;br /&gt;
Three strings and one result array:&lt;br /&gt;
    Administrative username,&lt;br /&gt;
    Administrative password,&lt;br /&gt;
    Domain name,&lt;br /&gt;
    Storage change (integer, MB; use negative values to reduce storage, positive to add to existing extra storage)&lt;br /&gt;
===Return Values===&lt;br /&gt;
If successful, the return value of the function will be 1.&lt;br /&gt;
&lt;br /&gt;
Consult the [[resultcodes|Result Code Table]] for a list of result codes and their meaning.&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Subaccount_AddDomain()&amp;diff=332</id>
		<title>Subaccount AddDomain()</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Subaccount_AddDomain()&amp;diff=332"/>
				<updated>2009-11-20T21:13:28Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function will add a domain to a subaccount and configure the system to accept email for that domain.  Please note that this is wholly separate from the DNS process of configuring the DNS and especially MX records for a domain.&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
Five strings, 3 integers&lt;br /&gt;
    Administrative username (string),&lt;br /&gt;
    Administrative password (string),&lt;br /&gt;
    Subaccount number (string),&lt;br /&gt;
    New domain name (string),&lt;br /&gt;
    Aliases for the new domain (string, format &amp;quot;alias1.com, alias2.com, ...),&lt;br /&gt;
    Maximum mailbox size in MB (int, must be &amp;gt; 0),&lt;br /&gt;
    Maximum number of mailboxes (int, 0 means no limit and should be used cautiously),&lt;br /&gt;
    Placeholder (int, please set to 1)&lt;br /&gt;
===Return Values===&lt;br /&gt;
If successful, the return value of the function will be 1.&lt;br /&gt;
&lt;br /&gt;
Consult the [[resultcodes|Result Code Table]] for a list of result codes and their meaning.&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domains&amp;diff=331</id>
		<title>Domains</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domains&amp;diff=331"/>
				<updated>2009-11-20T21:12:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These functions are designed for resellers, but other customers may find these functions useful, as well.&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
[[Domain_spam|Domain-level spam settings]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Domain_parameters|Domain-level general parameters]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Domain_administration| Domain-level administration]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=AddUserWithLdapAttributes()&amp;diff=330</id>
		<title>AddUserWithLdapAttributes()</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=AddUserWithLdapAttributes()&amp;diff=330"/>
				<updated>2009-11-20T21:11:37Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function will add a new mailbox and set it's mailbox LDAP attributes.  Please note that a number of attributes cannot be edited from the control panel without contacting support and requesting &amp;quot;LDAP access&amp;quot; so that you can configure which attributes are optional or required when adding a new user via the control panel and to have required and optional attributes displayed.  Here is the list of LDAP attributes and their meaning:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
'sn' -                       As in surname, or last name&lt;br /&gt;
'displayName' -              Person's full name&lt;br /&gt;
'givenName' -                First name&lt;br /&gt;
&lt;br /&gt;
'intials' -                  Middle name or initial(s)&lt;br /&gt;
'personalTitle' -            As in &amp;quot;Mrs.&amp;quot;&lt;br /&gt;
'o' -                        Organization/company&lt;br /&gt;
&lt;br /&gt;
'ou' -                       Organizational unit/department&lt;br /&gt;
'title' -                    Title as in job title&lt;br /&gt;
'businessCategory' -         Flexible: region/type/other&lt;br /&gt;
&lt;br /&gt;
'telephoneNumber' -          Telephone number&lt;br /&gt;
'mobile' -                   Mobile telephone number&lt;br /&gt;
'pager' -                    Pager telephone number&lt;br /&gt;
&lt;br /&gt;
'facsimileTelephoneNumber' - Fax phone number&lt;br /&gt;
'street' -                   Street address&lt;br /&gt;
'l' -                        That's a lower-case &amp;quot;L&amp;quot;, for city&lt;br /&gt;
&lt;br /&gt;
'st' -                       State&lt;br /&gt;
'postalCode' -               Zip code in the U.S.&lt;br /&gt;
'c' -                        Country&lt;br /&gt;
&lt;br /&gt;
'mail' -                     Email address/reply-to address&lt;br /&gt;
'homePhone' -                Home phone number&lt;br /&gt;
'homeStreet' -               Home street address&lt;br /&gt;
&lt;br /&gt;
'homeCity' -                 Home city&lt;br /&gt;
'homeState' -                Home state&lt;br /&gt;
'homeCountry' -              Home country&lt;br /&gt;
&lt;br /&gt;
'homePostalCode' -           Home postal/zip code&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Input Parameters===&lt;br /&gt;
Five strings, one integer, and one array of strings:&lt;br /&gt;
    Administrative username,&lt;br /&gt;
    Administrative password,&lt;br /&gt;
    Domain name,&lt;br /&gt;
    UserID (the part before @),&lt;br /&gt;
    Surname (last name of user-- required),&lt;br /&gt;
    Password,&lt;br /&gt;
    Active (int; 1=active, 0=inactive),&lt;br /&gt;
    Attributes array (&amp;quot;givenname    John&amp;quot;, &amp;quot;o   MyCompany&amp;quot;, ...) (tab delimited)&lt;br /&gt;
===Return Values===&lt;br /&gt;
If successful, the return value of the function will be 1.&lt;br /&gt;
&lt;br /&gt;
Consult the [[resultcodes|Result Code Table]] for a list of result codes and their meaning.&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=GetTimeZoneVals()&amp;diff=329</id>
		<title>GetTimeZoneVals()</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=GetTimeZoneVals()&amp;diff=329"/>
				<updated>2009-11-20T21:10:31Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This function will return the long list of the time zone values that are supported.  Look at the bottom of this page for the current list as of 14 December 2005.&lt;br /&gt;
&lt;br /&gt;
===Input Parameters===&lt;br /&gt;
&lt;br /&gt;
Two strings and a result array:&lt;br /&gt;
    Administrative username,&lt;br /&gt;
    Administrative password,&lt;br /&gt;
    &lt;br /&gt;
    Contact list array (as in: array[0][&amp;quot;firstname&amp;quot;]=&amp;quot;Robert&amp;quot;, array[1][&amp;quot;firstname&amp;quot;]=&amp;quot;Janice&amp;quot;)&lt;br /&gt;
===Return Values===&lt;br /&gt;
If successful, the return value of the function will be 1.&lt;br /&gt;
&lt;br /&gt;
Consult the [[resultcodes|Result Code Table]] for a list of result codes and their meaning.&lt;br /&gt;
&lt;br /&gt;
===Time Zone Values===&lt;br /&gt;
From 14 December 2005:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Africa/Abidjan&lt;br /&gt;
Africa/Accra&lt;br /&gt;
Africa/Addis_Ababa&lt;br /&gt;
Africa/Algiers&lt;br /&gt;
Africa/Asmera&lt;br /&gt;
Africa/Bamako&lt;br /&gt;
Africa/Bangui&lt;br /&gt;
Africa/Banjul&lt;br /&gt;
Africa/Bissau&lt;br /&gt;
Africa/Blantyre&lt;br /&gt;
Africa/Brazzaville&lt;br /&gt;
Africa/Bujumbura&lt;br /&gt;
Africa/Cairo&lt;br /&gt;
Africa/Casablanca&lt;br /&gt;
Africa/Ceuta&lt;br /&gt;
Africa/Conakry&lt;br /&gt;
Africa/Dakar&lt;br /&gt;
Africa/Dar_es_Salaam&lt;br /&gt;
Africa/Djibouti&lt;br /&gt;
Africa/Douala&lt;br /&gt;
Africa/El_Aaiun&lt;br /&gt;
Africa/Freetown&lt;br /&gt;
Africa/Gaborone&lt;br /&gt;
Africa/Harare&lt;br /&gt;
Africa/Johannesburg&lt;br /&gt;
Africa/Kampala&lt;br /&gt;
Africa/Khartoum&lt;br /&gt;
Africa/Kigali&lt;br /&gt;
Africa/Kinshasa&lt;br /&gt;
Africa/Lagos&lt;br /&gt;
Africa/Libreville&lt;br /&gt;
Africa/Lome&lt;br /&gt;
Africa/Luanda&lt;br /&gt;
Africa/Lubumbashi&lt;br /&gt;
Africa/Lusaka&lt;br /&gt;
Africa/Malabo&lt;br /&gt;
Africa/Maputo&lt;br /&gt;
Africa/Maseru&lt;br /&gt;
Africa/Mbabane&lt;br /&gt;
Africa/Mogadishu&lt;br /&gt;
Africa/Monrovia&lt;br /&gt;
Africa/Nairobi&lt;br /&gt;
Africa/Ndjamena&lt;br /&gt;
Africa/Niamey&lt;br /&gt;
Africa/Nouakchott&lt;br /&gt;
Africa/Ouagadougou&lt;br /&gt;
Africa/Porto-Novo&lt;br /&gt;
Africa/Sao_Tome&lt;br /&gt;
Africa/Timbuktu&lt;br /&gt;
Africa/Tripoli&lt;br /&gt;
Africa/Tunis&lt;br /&gt;
Africa/Windhoek&lt;br /&gt;
America/Adak&lt;br /&gt;
America/Anchorage&lt;br /&gt;
America/Anguilla&lt;br /&gt;
America/Antigua&lt;br /&gt;
America/Araguaina&lt;br /&gt;
America/Aruba&lt;br /&gt;
America/Asuncion&lt;br /&gt;
America/Atka&lt;br /&gt;
America/Barbados&lt;br /&gt;
America/Belem&lt;br /&gt;
America/Belize&lt;br /&gt;
America/Boa_Vista&lt;br /&gt;
America/Bogota&lt;br /&gt;
America/Boise&lt;br /&gt;
America/Buenos_Aires&lt;br /&gt;
America/Cambridge_Bay&lt;br /&gt;
America/Cancun&lt;br /&gt;
America/Caracas&lt;br /&gt;
America/Catamarca&lt;br /&gt;
America/Cayenne&lt;br /&gt;
America/Cayman&lt;br /&gt;
America/Chicago&lt;br /&gt;
America/Chihuahua&lt;br /&gt;
America/Cordoba&lt;br /&gt;
America/Costa_Rica&lt;br /&gt;
America/Cuiaba&lt;br /&gt;
America/Curacao&lt;br /&gt;
America/Danmarkshavn&lt;br /&gt;
America/Dawson&lt;br /&gt;
America/Dawson_Creek&lt;br /&gt;
America/Denver&lt;br /&gt;
America/Detroit&lt;br /&gt;
America/Dominica&lt;br /&gt;
America/Edmonton&lt;br /&gt;
America/Eirunepe&lt;br /&gt;
America/El_Salvador&lt;br /&gt;
America/Ensenada&lt;br /&gt;
America/Fort_Wayne&lt;br /&gt;
America/Fortaleza&lt;br /&gt;
America/Glace_Bay&lt;br /&gt;
America/Godthab&lt;br /&gt;
America/Goose_Bay&lt;br /&gt;
America/Grand_Turk&lt;br /&gt;
America/Grenada&lt;br /&gt;
America/Guadeloupe&lt;br /&gt;
America/Guatemala&lt;br /&gt;
America/Guayaquil&lt;br /&gt;
America/Guyana&lt;br /&gt;
America/Halifax&lt;br /&gt;
America/Havana&lt;br /&gt;
America/Hermosillo&lt;br /&gt;
America/Indiana/Indianapolis&lt;br /&gt;
America/Indiana/Knox&lt;br /&gt;
America/Indiana/Marengo&lt;br /&gt;
America/Indiana/Vevay&lt;br /&gt;
America/Indianapolis&lt;br /&gt;
America/Inuvik&lt;br /&gt;
America/Iqaluit&lt;br /&gt;
America/Jamaica&lt;br /&gt;
America/Jujuy&lt;br /&gt;
America/Juneau&lt;br /&gt;
America/Kentucky/Louisville&lt;br /&gt;
America/Kentucky/Monticello&lt;br /&gt;
America/Knox_IN&lt;br /&gt;
America/La_Paz&lt;br /&gt;
America/Lima&lt;br /&gt;
America/Los_Angeles&lt;br /&gt;
America/Louisville&lt;br /&gt;
America/Maceio&lt;br /&gt;
America/Managua&lt;br /&gt;
America/Manaus&lt;br /&gt;
America/Martinique&lt;br /&gt;
America/Mazatlan&lt;br /&gt;
America/Mendoza&lt;br /&gt;
America/Menominee&lt;br /&gt;
America/Merida&lt;br /&gt;
America/Mexico_City&lt;br /&gt;
America/Miquelon&lt;br /&gt;
America/Monterrey&lt;br /&gt;
America/Montevideo&lt;br /&gt;
America/Montreal&lt;br /&gt;
America/Montserrat&lt;br /&gt;
America/Nassau&lt;br /&gt;
America/New_York&lt;br /&gt;
America/Nipigon&lt;br /&gt;
America/Nome&lt;br /&gt;
America/Noronha&lt;br /&gt;
America/North_Dakota/Center&lt;br /&gt;
America/Panama&lt;br /&gt;
America/Pangnirtung&lt;br /&gt;
America/Paramaribo&lt;br /&gt;
America/Phoenix&lt;br /&gt;
America/Port-au-Prince&lt;br /&gt;
America/Port_of_Spain&lt;br /&gt;
America/Porto_Acre&lt;br /&gt;
America/Porto_Velho&lt;br /&gt;
America/Puerto_Rico&lt;br /&gt;
America/Rainy_River&lt;br /&gt;
America/Rankin_Inlet&lt;br /&gt;
America/Recife&lt;br /&gt;
America/Regina&lt;br /&gt;
America/Rio_Branco&lt;br /&gt;
America/Rosario&lt;br /&gt;
America/Santiago&lt;br /&gt;
America/Santo_Domingo&lt;br /&gt;
America/Sao_Paulo&lt;br /&gt;
America/Scoresbysund&lt;br /&gt;
America/Shiprock&lt;br /&gt;
America/St_Johns&lt;br /&gt;
America/St_Kitts&lt;br /&gt;
America/St_Lucia&lt;br /&gt;
America/St_Thomas&lt;br /&gt;
America/St_Vincent&lt;br /&gt;
America/Swift_Current&lt;br /&gt;
America/Tegucigalpa&lt;br /&gt;
America/Thule&lt;br /&gt;
America/Thunder_Bay&lt;br /&gt;
America/Tijuana&lt;br /&gt;
America/Tortola&lt;br /&gt;
America/Vancouver&lt;br /&gt;
America/Virgin&lt;br /&gt;
America/Whitehorse&lt;br /&gt;
America/Winnipeg&lt;br /&gt;
America/Yakutat&lt;br /&gt;
America/Yellowknife&lt;br /&gt;
Antarctica/Casey&lt;br /&gt;
Antarctica/Davis&lt;br /&gt;
Antarctica/DumontDUrville&lt;br /&gt;
Antarctica/Mawson&lt;br /&gt;
Antarctica/McMurdo&lt;br /&gt;
Antarctica/Palmer&lt;br /&gt;
Antarctica/South_Pole&lt;br /&gt;
Antarctica/Syowa&lt;br /&gt;
Antarctica/Vostok&lt;br /&gt;
Arctic/Longyearbyen&lt;br /&gt;
Asia/Aden&lt;br /&gt;
Asia/Almaty&lt;br /&gt;
Asia/Amman&lt;br /&gt;
Asia/Anadyr&lt;br /&gt;
Asia/Aqtau&lt;br /&gt;
Asia/Aqtobe&lt;br /&gt;
Asia/Ashgabat&lt;br /&gt;
Asia/Ashkhabad&lt;br /&gt;
Asia/Baghdad&lt;br /&gt;
Asia/Bahrain&lt;br /&gt;
Asia/Baku&lt;br /&gt;
Asia/Bangkok&lt;br /&gt;
Asia/Beirut&lt;br /&gt;
Asia/Bishkek&lt;br /&gt;
Asia/Brunei&lt;br /&gt;
Asia/Calcutta&lt;br /&gt;
Asia/Choibalsan&lt;br /&gt;
Asia/Chongqing&lt;br /&gt;
Asia/Chungking&lt;br /&gt;
Asia/Colombo&lt;br /&gt;
Asia/Dacca&lt;br /&gt;
Asia/Damascus&lt;br /&gt;
Asia/Dhaka&lt;br /&gt;
Asia/Dili&lt;br /&gt;
Asia/Dubai&lt;br /&gt;
Asia/Dushanbe&lt;br /&gt;
Asia/Gaza&lt;br /&gt;
Asia/Harbin&lt;br /&gt;
Asia/Hong_Kong&lt;br /&gt;
Asia/Hovd&lt;br /&gt;
Asia/Irkutsk&lt;br /&gt;
Asia/Ishigaki&lt;br /&gt;
Asia/Istanbul&lt;br /&gt;
Asia/Jakarta&lt;br /&gt;
Asia/Jayapura&lt;br /&gt;
Asia/Jerusalem&lt;br /&gt;
Asia/Kabul&lt;br /&gt;
Asia/Kamchatka&lt;br /&gt;
Asia/Karachi&lt;br /&gt;
Asia/Kashgar&lt;br /&gt;
Asia/Katmandu&lt;br /&gt;
Asia/Krasnoyarsk&lt;br /&gt;
Asia/Kuala_Lumpur&lt;br /&gt;
Asia/Kuching&lt;br /&gt;
Asia/Kuwait&lt;br /&gt;
Asia/Macao&lt;br /&gt;
Asia/Macau&lt;br /&gt;
Asia/Magadan&lt;br /&gt;
Asia/Manila&lt;br /&gt;
Asia/Muscat&lt;br /&gt;
Asia/Nicosia&lt;br /&gt;
Asia/Novosibirsk&lt;br /&gt;
Asia/Omsk&lt;br /&gt;
Asia/Oral&lt;br /&gt;
Asia/Phnom_Penh&lt;br /&gt;
Asia/Pontianak&lt;br /&gt;
Asia/Pyongyang&lt;br /&gt;
Asia/Qatar&lt;br /&gt;
Asia/Qyzylorda&lt;br /&gt;
Asia/Rangoon&lt;br /&gt;
Asia/Riyadh&lt;br /&gt;
Asia/Riyadh87&lt;br /&gt;
Asia/Riyadh88&lt;br /&gt;
Asia/Riyadh89&lt;br /&gt;
Asia/Saigon&lt;br /&gt;
Asia/Sakhalin&lt;br /&gt;
Asia/Samarkand&lt;br /&gt;
Asia/Seoul&lt;br /&gt;
Asia/Shanghai&lt;br /&gt;
Asia/Singapore&lt;br /&gt;
Asia/Taipei&lt;br /&gt;
Asia/Tashkent&lt;br /&gt;
Asia/Tbilisi&lt;br /&gt;
Asia/Tehran&lt;br /&gt;
Asia/Tel_Aviv&lt;br /&gt;
Asia/Thimbu&lt;br /&gt;
Asia/Thimphu&lt;br /&gt;
Asia/Tokyo&lt;br /&gt;
Asia/Ujung_Pandang&lt;br /&gt;
Asia/Ulaanbaatar&lt;br /&gt;
Asia/Ulan_Bator&lt;br /&gt;
Asia/Urumqi&lt;br /&gt;
Asia/Vientiane&lt;br /&gt;
Asia/Vladivostok&lt;br /&gt;
Asia/Yakutsk&lt;br /&gt;
Asia/Yekaterinburg&lt;br /&gt;
Asia/Yerevan&lt;br /&gt;
Atlantic/Azores&lt;br /&gt;
Atlantic/Bermuda&lt;br /&gt;
Atlantic/Canary&lt;br /&gt;
Atlantic/Cape_Verde&lt;br /&gt;
Atlantic/Faeroe&lt;br /&gt;
Atlantic/Jan_Mayen&lt;br /&gt;
Atlantic/Madeira&lt;br /&gt;
Atlantic/Reykjavik&lt;br /&gt;
Atlantic/South_Georgia&lt;br /&gt;
Atlantic/St_Helena&lt;br /&gt;
Atlantic/Stanley&lt;br /&gt;
Australia/ACT&lt;br /&gt;
Australia/Adelaide&lt;br /&gt;
Australia/Brisbane&lt;br /&gt;
Australia/Broken_Hill&lt;br /&gt;
Australia/Canberra&lt;br /&gt;
Australia/Darwin&lt;br /&gt;
Australia/Hobart&lt;br /&gt;
Australia/LHI&lt;br /&gt;
Australia/Lindeman&lt;br /&gt;
Australia/Lord_Howe&lt;br /&gt;
Australia/Melbourne&lt;br /&gt;
Australia/NSW&lt;br /&gt;
Australia/North&lt;br /&gt;
Australia/Perth&lt;br /&gt;
Australia/Queensland&lt;br /&gt;
Australia/South&lt;br /&gt;
Australia/Sydney&lt;br /&gt;
Australia/Tasmania&lt;br /&gt;
Australia/Victoria&lt;br /&gt;
Australia/West&lt;br /&gt;
Australia/Yancowinna&lt;br /&gt;
Brazil/Acre&lt;br /&gt;
Brazil/DeNoronha&lt;br /&gt;
Brazil/East&lt;br /&gt;
Brazil/West&lt;br /&gt;
CET&lt;br /&gt;
CST6CDT&lt;br /&gt;
Canada/Atlantic&lt;br /&gt;
Canada/Central&lt;br /&gt;
Canada/East-Saskatchewan&lt;br /&gt;
Canada/Eastern&lt;br /&gt;
Canada/Mountain&lt;br /&gt;
Canada/Newfoundland&lt;br /&gt;
Canada/Pacific&lt;br /&gt;
Canada/Saskatchewan&lt;br /&gt;
Canada/Yukon&lt;br /&gt;
Chile/Continental&lt;br /&gt;
Chile/EasterIsland&lt;br /&gt;
China/Beijing&lt;br /&gt;
China/Shanghai&lt;br /&gt;
Cuba&lt;br /&gt;
EET&lt;br /&gt;
EST&lt;br /&gt;
EST5EDT&lt;br /&gt;
Egypt&lt;br /&gt;
Eire&lt;br /&gt;
Etc/GMT&lt;br /&gt;
Etc/GMT+0&lt;br /&gt;
Etc/GMT+1&lt;br /&gt;
Etc/GMT+10&lt;br /&gt;
Etc/GMT+11&lt;br /&gt;
Etc/GMT+12&lt;br /&gt;
Etc/GMT+2&lt;br /&gt;
Etc/GMT+3&lt;br /&gt;
Etc/GMT+4&lt;br /&gt;
Etc/GMT+5&lt;br /&gt;
Etc/GMT+6&lt;br /&gt;
Etc/GMT+7&lt;br /&gt;
Etc/GMT+8&lt;br /&gt;
Etc/GMT+9&lt;br /&gt;
Etc/GMT-0&lt;br /&gt;
Etc/GMT-1&lt;br /&gt;
Etc/GMT-10&lt;br /&gt;
Etc/GMT-11&lt;br /&gt;
Etc/GMT-12&lt;br /&gt;
Etc/GMT-13&lt;br /&gt;
Etc/GMT-14&lt;br /&gt;
Etc/GMT-2&lt;br /&gt;
Etc/GMT-3&lt;br /&gt;
Etc/GMT-4&lt;br /&gt;
Etc/GMT-5&lt;br /&gt;
Etc/GMT-6&lt;br /&gt;
Etc/GMT-7&lt;br /&gt;
Etc/GMT-8&lt;br /&gt;
Etc/GMT-9&lt;br /&gt;
Etc/GMT0&lt;br /&gt;
Etc/Greenwich&lt;br /&gt;
Etc/UCT&lt;br /&gt;
Etc/UTC&lt;br /&gt;
Etc/Universal&lt;br /&gt;
Etc/Zulu&lt;br /&gt;
Europe/Amsterdam&lt;br /&gt;
Europe/Andorra&lt;br /&gt;
Europe/Athens&lt;br /&gt;
Europe/Belfast&lt;br /&gt;
Europe/Belgrade&lt;br /&gt;
Europe/Berlin&lt;br /&gt;
Europe/Bratislava&lt;br /&gt;
Europe/Brussels&lt;br /&gt;
Europe/Bucharest&lt;br /&gt;
Europe/Budapest&lt;br /&gt;
Europe/Chisinau&lt;br /&gt;
Europe/Copenhagen&lt;br /&gt;
Europe/Dublin&lt;br /&gt;
Europe/Gibraltar&lt;br /&gt;
Europe/Helsinki&lt;br /&gt;
Europe/Istanbul&lt;br /&gt;
Europe/Kaliningrad&lt;br /&gt;
Europe/Kiev&lt;br /&gt;
Europe/Lisbon&lt;br /&gt;
Europe/Ljubljana&lt;br /&gt;
Europe/London&lt;br /&gt;
Europe/Luxembourg&lt;br /&gt;
Europe/Madrid&lt;br /&gt;
Europe/Malta&lt;br /&gt;
Europe/Minsk&lt;br /&gt;
Europe/Monaco&lt;br /&gt;
Europe/Moscow&lt;br /&gt;
Europe/Nicosia&lt;br /&gt;
Europe/Oslo&lt;br /&gt;
Europe/Paris&lt;br /&gt;
Europe/Prague&lt;br /&gt;
Europe/Riga&lt;br /&gt;
Europe/Rome&lt;br /&gt;
Europe/Samara&lt;br /&gt;
Europe/San_Marino&lt;br /&gt;
Europe/Sarajevo&lt;br /&gt;
Europe/Simferopol&lt;br /&gt;
Europe/Skopje&lt;br /&gt;
Europe/Sofia&lt;br /&gt;
Europe/Stockholm&lt;br /&gt;
Europe/Tallinn&lt;br /&gt;
Europe/Tirane&lt;br /&gt;
Europe/Tiraspol&lt;br /&gt;
Europe/Uzhgorod&lt;br /&gt;
Europe/Vaduz&lt;br /&gt;
Europe/Vatican&lt;br /&gt;
Europe/Vienna&lt;br /&gt;
Europe/Vilnius&lt;br /&gt;
Europe/Warsaw&lt;br /&gt;
Europe/Zagreb&lt;br /&gt;
Europe/Zaporozhye&lt;br /&gt;
Europe/Zurich&lt;br /&gt;
Factory&lt;br /&gt;
GB&lt;br /&gt;
GB-Eire&lt;br /&gt;
GMT&lt;br /&gt;
GMT+0&lt;br /&gt;
GMT-0&lt;br /&gt;
GMT0&lt;br /&gt;
Greenwich&lt;br /&gt;
HST&lt;br /&gt;
Hongkong&lt;br /&gt;
Iceland&lt;br /&gt;
Indian/Antananarivo&lt;br /&gt;
Indian/Chagos&lt;br /&gt;
Indian/Christmas&lt;br /&gt;
Indian/Cocos&lt;br /&gt;
Indian/Comoro&lt;br /&gt;
Indian/Kerguelen&lt;br /&gt;
Indian/Mahe&lt;br /&gt;
Indian/Maldives&lt;br /&gt;
Indian/Mauritius&lt;br /&gt;
Indian/Mayotte&lt;br /&gt;
Indian/Reunion&lt;br /&gt;
Iran&lt;br /&gt;
Israel&lt;br /&gt;
Jamaica&lt;br /&gt;
Japan&lt;br /&gt;
Kwajalein&lt;br /&gt;
Libya&lt;br /&gt;
MET&lt;br /&gt;
MST&lt;br /&gt;
MST7MDT&lt;br /&gt;
Mexico/BajaNorte&lt;br /&gt;
Mexico/BajaSur&lt;br /&gt;
Mexico/General&lt;br /&gt;
Mideast/Riyadh87&lt;br /&gt;
Mideast/Riyadh88&lt;br /&gt;
Mideast/Riyadh89&lt;br /&gt;
NZ&lt;br /&gt;
NZ-CHAT&lt;br /&gt;
Navajo&lt;br /&gt;
PRC&lt;br /&gt;
PST8PDT&lt;br /&gt;
Pacific/Apia&lt;br /&gt;
Pacific/Auckland&lt;br /&gt;
Pacific/Chatham&lt;br /&gt;
Pacific/Easter&lt;br /&gt;
Pacific/Efate&lt;br /&gt;
Pacific/Enderbury&lt;br /&gt;
Pacific/Fakaofo&lt;br /&gt;
Pacific/Fiji&lt;br /&gt;
Pacific/Funafuti&lt;br /&gt;
Pacific/Galapagos&lt;br /&gt;
Pacific/Gambier&lt;br /&gt;
Pacific/Guadalcanal&lt;br /&gt;
Pacific/Guam&lt;br /&gt;
Pacific/Honolulu&lt;br /&gt;
Pacific/Johnston&lt;br /&gt;
Pacific/Kiritimati&lt;br /&gt;
Pacific/Kosrae&lt;br /&gt;
Pacific/Kwajalein&lt;br /&gt;
Pacific/Majuro&lt;br /&gt;
Pacific/Marquesas&lt;br /&gt;
Pacific/Midway&lt;br /&gt;
Pacific/Nauru&lt;br /&gt;
Pacific/Niue&lt;br /&gt;
Pacific/Norfolk&lt;br /&gt;
Pacific/Noumea&lt;br /&gt;
Pacific/Pago_Pago&lt;br /&gt;
Pacific/Palau&lt;br /&gt;
Pacific/Pitcairn&lt;br /&gt;
Pacific/Ponape&lt;br /&gt;
Pacific/Port_Moresby&lt;br /&gt;
Pacific/Rarotonga&lt;br /&gt;
Pacific/Saipan&lt;br /&gt;
Pacific/Samoa&lt;br /&gt;
Pacific/Tahiti&lt;br /&gt;
Pacific/Tarawa&lt;br /&gt;
Pacific/Tongatapu&lt;br /&gt;
Pacific/Truk&lt;br /&gt;
Pacific/Wake&lt;br /&gt;
Pacific/Wallis&lt;br /&gt;
Pacific/Yap&lt;br /&gt;
Poland&lt;br /&gt;
Portugal&lt;br /&gt;
ROC&lt;br /&gt;
ROK&lt;br /&gt;
Singapore&lt;br /&gt;
SystemV/AST4&lt;br /&gt;
SystemV/AST4ADT&lt;br /&gt;
SystemV/CST6&lt;br /&gt;
SystemV/CST6CDT&lt;br /&gt;
SystemV/EST5&lt;br /&gt;
SystemV/EST5EDT&lt;br /&gt;
SystemV/HST10&lt;br /&gt;
SystemV/MST7&lt;br /&gt;
SystemV/MST7MDT&lt;br /&gt;
SystemV/PST8&lt;br /&gt;
SystemV/PST8PDT&lt;br /&gt;
SystemV/YST9&lt;br /&gt;
SystemV/YST9YDT&lt;br /&gt;
Turkey&lt;br /&gt;
UCT&lt;br /&gt;
US/Alaska&lt;br /&gt;
US/Aleutian&lt;br /&gt;
US/Arizona&lt;br /&gt;
US/Central&lt;br /&gt;
US/East-Indiana&lt;br /&gt;
US/Eastern&lt;br /&gt;
US/Hawaii&lt;br /&gt;
US/Indiana-Starke&lt;br /&gt;
US/Michigan&lt;br /&gt;
US/Mountain&lt;br /&gt;
US/Pacific&lt;br /&gt;
US/Samoa&lt;br /&gt;
UTC&lt;br /&gt;
Universal&lt;br /&gt;
W-SU&lt;br /&gt;
WET&lt;br /&gt;
Zulu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=327</id>
		<title>Exchange Mailbox (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Mailbox_(Rest_API)&amp;diff=327"/>
				<updated>2009-11-20T20:33:41Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Mailbox to Mailbox (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Shows a list of mailboxes under 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxList.xsd MailboxList.xsd]&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''XML Result Example'':&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;mailboxList 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:mailboxList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox55&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox6&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/mailboxList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox55&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox6&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Mailbox.xsd Mailbox.xsd]&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', 'text/xml'&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;mailbox 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:mailbox&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexmailbox90&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;size&amp;gt;2048&amp;lt;/size&amp;gt;&lt;br /&gt;
  &amp;lt;currentUsage&amp;gt;0&amp;lt;/currentUsage&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;isPublicFolderAdmin&amp;gt;true&amp;lt;/isPublicFolderAdmin&amp;gt;&lt;br /&gt;
  &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&lt;br /&gt;
  &amp;lt;contactInfo&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;API&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;Test&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;jobTitle&amp;gt;Dev&amp;lt;/jobTitle&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;My Company&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;department&amp;gt;R&amp;amp;amp;D&amp;lt;/department&amp;gt;&lt;br /&gt;
    &amp;lt;businessNumber&amp;gt;111-1111&amp;lt;/businessNumber&amp;gt;&lt;br /&gt;
    &amp;lt;homeNumber&amp;gt;222-2222&amp;lt;/homeNumber&amp;gt;&lt;br /&gt;
    &amp;lt;mobileNumber&amp;gt;333-3333&amp;lt;/mobileNumber&amp;gt;&lt;br /&gt;
    &amp;lt;faxNumber&amp;gt;444-4444&amp;lt;/faxNumber&amp;gt;&lt;br /&gt;
    &amp;lt;pagerNumber&amp;gt;1234&amp;lt;/pagerNumber&amp;gt;&lt;br /&gt;
    &amp;lt;addressLine1&amp;gt;123 Main Street&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Blacksburg&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;state&amp;gt;VA&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;zip&amp;gt;24060&amp;lt;/zip&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;notes&amp;gt;My Notes&amp;lt;/notes&amp;gt;&lt;br /&gt;
  &amp;lt;/contactInfo&amp;gt;&lt;br /&gt;
  &amp;lt;emailForwardingAddress /&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddressList&amp;gt;&lt;br /&gt;
    &amp;lt;emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;address&amp;gt;apiexmailbox90@apidomain92.com&amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;replyTo&amp;gt;true&amp;lt;/replyTo&amp;gt;&lt;br /&gt;
    &amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/emailAddressList&amp;gt;&lt;br /&gt;
  &amp;lt;hasBlackBerryMobileService&amp;gt;false&amp;lt;/hasBlackBerryMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;hasActiveSyncMobileService&amp;gt;false&amp;lt;/hasActiveSyncMobileService&amp;gt;&lt;br /&gt;
&amp;lt;/mailbox&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;name&amp;quot;:&amp;quot;apiexmailbox90&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;size&amp;quot;:2048,&amp;quot;currentUsage&amp;quot;:0,&amp;quot;isHidden&amp;quot;:false,&amp;quot;isPublicFolderAdmin&amp;quot;:true,&amp;quot;enabled&amp;quot;:true,&amp;quot;contactInfo&amp;quot;:{&amp;quot;firstName&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;jobTitle&amp;quot;:&amp;quot;Dev&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;My Company&amp;quot;,&amp;quot;department&amp;quot;:&amp;quot;R&amp;amp;D&amp;quot;,&amp;quot;businessNumber&amp;quot;:&amp;quot;111-1111&amp;quot;,&amp;quot;homeNumber&amp;quot;:&amp;quot;222-2222&amp;quot;,&amp;quot;mobileNumber&amp;quot;:&amp;quot;333-3333&amp;quot;,&amp;quot;faxNumber&amp;quot;:&amp;quot;444-4444&amp;quot;,&amp;quot;pagerNumber&amp;quot;:&amp;quot;1234&amp;quot;,&amp;quot;addressLine1&amp;quot;:&amp;quot;123 Main Street&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;Blacksburg&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;VA&amp;quot;,&amp;quot;zip&amp;quot;:&amp;quot;24060&amp;quot;,&amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&amp;quot;notes&amp;quot;:&amp;quot;My Notes&amp;quot;},&amp;quot;emailForwardingAddress&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;emailAddressList&amp;quot;:[{&amp;quot;address&amp;quot;:&amp;quot;apiexmailbox90@apidomain92.com&amp;quot;,&amp;quot;replyTo&amp;quot;:true}],&amp;quot;hasBlackBerryMobileService&amp;quot;:false,&amp;quot;hasActiveSyncMobileService&amp;quot;:false}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&lt;br /&gt;
Edit: [PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a mailbox using the specified form fields. All required fields must be supplied when adding. Other fields may be omitted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Display name (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Password (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| size&lt;br /&gt;
| positive integer&lt;br /&gt;
| Mailbox size in megabytes (Required for Add)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the mailbox is hidden from the Global Address List&lt;br /&gt;
|-&lt;br /&gt;
| isPublicFolderAdmin&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicates whether or not the account is a public folder administrator&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| First name&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Last name&lt;br /&gt;
|-&lt;br /&gt;
| company&lt;br /&gt;
| string&lt;br /&gt;
| Company&lt;br /&gt;
|-&lt;br /&gt;
| department&lt;br /&gt;
| string&lt;br /&gt;
| Department&lt;br /&gt;
|-&lt;br /&gt;
| jobTitle&lt;br /&gt;
| string&lt;br /&gt;
| Job title&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| City&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| State&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Zip or postal code&lt;br /&gt;
|-&lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| businessnumber&lt;br /&gt;
| string&lt;br /&gt;
| Business phone number&lt;br /&gt;
|-&lt;br /&gt;
| pagernumber&lt;br /&gt;
| string&lt;br /&gt;
| Pager phone number&lt;br /&gt;
|-&lt;br /&gt;
| homenumber&lt;br /&gt;
| string&lt;br /&gt;
| Home phone number&lt;br /&gt;
|-&lt;br /&gt;
| mobilenumber&lt;br /&gt;
| string&lt;br /&gt;
| Mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
| faxnumber&lt;br /&gt;
| string&lt;br /&gt;
| Fax phone number&lt;br /&gt;
|-&lt;br /&gt;
| notes&lt;br /&gt;
| string&lt;br /&gt;
| Notes field&lt;br /&gt;
|-&lt;br /&gt;
| emailForwardingAddress&lt;br /&gt;
| string&lt;br /&gt;
| Forwarding email address (If this field is assigned an email address, then email forwarding will be turned on. If this field is not assigned or assigned an empty string, then email forwarding will be disabled.)&lt;br /&gt;
|-&lt;br /&gt;
| enabled&lt;br /&gt;
| string&lt;br /&gt;
| Enable/Disable mailbox, input must be &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;&lt;br /&gt;
|}&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', 'text/xml', &lt;br /&gt;
{ &lt;br /&gt;
  'displayName' =&amp;gt; 'Alex Smith',&lt;br /&gt;
  'password' =&amp;gt; 'Secret123!@#',&lt;br /&gt;
  'size' =&amp;gt; '2048'&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml',&lt;br /&gt;
{ &lt;br /&gt;
  'homenumber' =&amp;gt; '8005551234'&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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox not found&lt;br /&gt;
|-&lt;br /&gt;
| Required form field is missing&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: displayName&lt;br /&gt;
|-&lt;br /&gt;
| Required form field has null or empty string input&lt;br /&gt;
| 400&lt;br /&gt;
| Required field displayName cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox name (user name) doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid user name&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| Integer form field has non-integer input&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid format for size, input must be an integer&lt;br /&gt;
|-&lt;br /&gt;
| Boolean form field has non-boolean input&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid format for Enabled, input must be True or False&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox password doesn't meet the password pattern requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Password must be at least 8 characters long&lt;br /&gt;
|-&lt;br /&gt;
| Form data has unrecognized field&lt;br /&gt;
| 400&lt;br /&gt;
| Unrecognized field: extraStorage&lt;br /&gt;
|-&lt;br /&gt;
| New mailbox name (user name) already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|}&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] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the mailbox. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The mailbox and mailbox contents are deleted permanently.&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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds a mailbox's email address.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete Email Address ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The delete email address. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The operation will fail if the email address does not exist.&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/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spam ==&lt;br /&gt;
&lt;br /&gt;
=== Index Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/blacklist&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 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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Blacklist.xsd Blacklist.xsd]&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/blacklist', 'text/xml'&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;blacklist 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:blacklist&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;/blacklist&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;
&lt;br /&gt;
''Errors'':  &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&lt;br /&gt;
|}&lt;br /&gt;
&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] http://api.emailsrvr.com/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpBlacklist.xsd IpBlacklist.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
''Errors'':  &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Index Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Safelist.xsd Safelist.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
''Errors'':  &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&lt;br /&gt;
|}&lt;br /&gt;
&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] http://api.emailsrvr.com/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/IpSafelist.xsd IpSafelist.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
''Errors'':  &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/blacklist/(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 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/anyone@spam.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&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 blacklist the current domain&lt;br /&gt;
|}&lt;br /&gt;
&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] http://api.emailsrvr.com/v0/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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&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;
&lt;br /&gt;
=== Add Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&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;
=== Add IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/spam/safelist/(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/ex/mailboxes/alex.smith/spam/safelist/216.12.34.1', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&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;
&lt;br /&gt;
=== Delete Blacklist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/spam/blacklist/(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 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/blacklist/anyone@yahoo.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&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 blacklist&lt;br /&gt;
| 400&lt;br /&gt;
| abc@junkmail.com is not found on the blacklist&lt;br /&gt;
|}&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] http://api.emailsrvr.com/v0/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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&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;
&lt;br /&gt;
=== Delete Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&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;
&lt;br /&gt;
=== Delete IP Safelist ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/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', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'': &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&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 safelist&lt;br /&gt;
|}&lt;br /&gt;
&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] http://api.emailsrvr.com/v0/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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/MailboxSpamSetting.xsd MailboxSpamSetting.xsd]&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', 'text/xml'&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;
&lt;br /&gt;
''Errors'':  &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Edit Spam Setting ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] http://api.emailsrvr.com/v0/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;
{| border=1 class=&amp;quot;simple&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;
&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', 'text/xml',&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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address alex.smith@example.com exists&lt;br /&gt;
|-&lt;br /&gt;
| Required form field is missing&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: filterlevel&lt;br /&gt;
|-&lt;br /&gt;
| Required form field has null or empty string input&lt;br /&gt;
| 400&lt;br /&gt;
| Required field filterlevel cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Form data has unrecognized field&lt;br /&gt;
| 400&lt;br /&gt;
| Unrecognized field: address&lt;br /&gt;
|-&lt;br /&gt;
| Boolean form field has non-boolean input&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid format for sendtodomainquarantine, input must be true or false&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;
&lt;br /&gt;
== BlackBerry Mobile Service ==&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/blackberrymobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that has BlackBerry mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/BlackberryMobileServiceList.xsd BlackberryMobileServiceList.xsd]&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/blackberrymobileservices', 'text/xml'&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;blackBerryMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:blackBerryMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/blackBerryMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a BlackBerry mobile service to the mailbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| activationPassword&lt;br /&gt;
| string&lt;br /&gt;
| Activation password (Required)&lt;br /&gt;
|}&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/john.smith/blackberrymobileservice', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'activationPassword' =&amp;gt; '12345'&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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox already has BlackBerry Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has BlackBerry Mobile Service already&lt;br /&gt;
|}&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] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a BlackBerry mobile service from a mailbox.&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/john.smith/blackberrymobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ActiveSync Mobile Service ==&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/activesyncmobileservices&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of mailboxes that has ActiveSync mobile service enabled.&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. For .xml format refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ActiveSyncMobileServiceList.xsd ActiveSyncMobileServiceList.xsd]&lt;br /&gt;
&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/activesyncmobileservices', 'text/xml'&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;activeSyncMobileServiceList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:activeSyncMobileServiceList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;mailboxes&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox36&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox66&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
    &amp;lt;mailbox&amp;gt;apiexmailbox85&amp;lt;/mailbox&amp;gt;&lt;br /&gt;
  &amp;lt;/mailboxes&amp;gt;&lt;br /&gt;
&amp;lt;/activeSyncMobileServiceList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;mailboxes&amp;quot;:[&amp;quot;apiexmailbox36&amp;quot;,&amp;quot;apiexmailbox66&amp;quot;,&amp;quot;apiexmailbox85&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/mailboxes/(mailbox name)/activesyncmobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Attaches a ActiveSync service to the mailbox.&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/john.smith/blackberrymobileservice', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'activationPassword' =&amp;gt; '12345'&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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox already has BlackBerry Service&lt;br /&gt;
| 400&lt;br /&gt;
| User john.smith@example.com has BlackBerry Mobile Service already&lt;br /&gt;
|}&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] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/mailboxes/(mailbox name)/blackberrymobileservice&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Detaches a ActiveSync mobile service from a mailbox.&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/john.smith/blackberrymobileservice', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Mailbox is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Mailbox not found&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Mailbox&amp;diff=328</id>
		<title>RestAPI/Mailbox</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Mailbox&amp;diff=328"/>
				<updated>2009-11-20T20:33:41Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Mailbox to Mailbox (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Mailbox (Rest API)]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Distribution_List_(Rest_API)&amp;diff=325</id>
		<title>Exchange Distribution List (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Distribution_List_(Rest_API)&amp;diff=325"/>
				<updated>2009-11-20T20:32:39Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Distributionlist to Distribution List (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of distribution lists 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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DistributionlistList.xsd DistributionlistList.xsd]&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/distributionlists?size=100&amp;amp;page=1&amp;amp;contains=mailing', 'text/xml'&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;distributionlistList 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; &lt;br /&gt;
xmlns=&amp;quot;urn:xml:distributionlistList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;distributionlists&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup4&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup62&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
    &amp;lt;distributionlist&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexgroup64&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
    &amp;lt;/distributionlist&amp;gt;&lt;br /&gt;
  &amp;lt;/distributionlists&amp;gt;&lt;br /&gt;
&amp;lt;/distributionlistList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;distributionlists&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup4&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup62&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexgroup64&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':  &lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Distribution List is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Show ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 [&amp;lt;nowiki&amp;gt;GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the distribution list's details.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Distributionlist.xsd Distributionlist.xsd]&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/distributionlists/all.employees', 'text/xml'&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;distributionlist 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:contact&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexgroup64&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test Group&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;emailAddressList&amp;gt;&lt;br /&gt;
    &amp;lt;emailAddress&amp;gt;&lt;br /&gt;
      &amp;lt;address&amp;gt;apiexgroup64@apidomain36.com&amp;lt;/address&amp;gt;&lt;br /&gt;
      &amp;lt;replyTo&amp;gt;true&amp;lt;/replyTo&amp;gt;&lt;br /&gt;
    &amp;lt;/emailAddress&amp;gt;&lt;br /&gt;
  &amp;lt;/emailAddressList&amp;gt;&lt;br /&gt;
  &amp;lt;memberList&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox30@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox7@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
    &amp;lt;member&amp;gt;apiexmailbox99@apidomain36.com&amp;lt;/member&amp;gt;&lt;br /&gt;
  &amp;lt;/memberList&amp;gt;&lt;br /&gt;
&amp;lt;/distributionlist&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;name&amp;quot;:&amp;quot;apiexgroup64&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test Group&amp;quot;,&amp;quot;isHidden&amp;quot;:false,&amp;quot;emailAddressList&amp;quot;:[{&amp;quot;address&amp;quot;:&amp;quot;apiexgroup64@apidomain36.com&amp;quot;,&amp;quot;replyTo&amp;quot;:true}],&amp;quot;memberList&amp;quot;:[&amp;quot;apiexmailbox30@apidomain36.com&amp;quot;,&amp;quot;apiexmailbox7@apidomain36.com&amp;quot;,&amp;quot;apiexmailbox99@apidomain36.com&amp;quot;]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/distributionlists/(distribution list name)&lt;br /&gt;
Edit: [PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits the distribution list with the specified information.  Required fields must be supplied when adding. Others are optional.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Distribution list display name (Required)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether or not the distribution list is hidden from the Global Address List (Defaults to false)&lt;br /&gt;
|}&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/distributionlists/all.employees',&lt;br /&gt;
{&lt;br /&gt;
  'name' =&amp;gt; 'all.employees',&lt;br /&gt;
  'displayName' =&amp;gt; 'Employees'&lt;br /&gt;
},&lt;br /&gt;
'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/distributionlists/all.employees',&lt;br /&gt;
{&lt;br /&gt;
  'displayName' =&amp;gt; 'Example.com Employees'&lt;br /&gt;
},&lt;br /&gt;
'text/xml',&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Required form field is missing&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|-&lt;br /&gt;
| Required form field has null or empty string input&lt;br /&gt;
| 400&lt;br /&gt;
| Required field displayName cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| Boolean form field has non-boolean input&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid format for isHidden, input must be True or False&lt;br /&gt;
|-&lt;br /&gt;
| Form data has unrecognized field&lt;br /&gt;
| 400&lt;br /&gt;
| Unrecognized field: size&lt;br /&gt;
|-&lt;br /&gt;
| New distribution list name already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|-&lt;br /&gt;
| New distribution list name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid user name&lt;br /&gt;
|-&lt;br /&gt;
| New distribution list display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|-&lt;br /&gt;
| Display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|}&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] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the distribution list.&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/distributionlists/all.employees', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution List not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Email Addresses ===&lt;br /&gt;
&lt;br /&gt;
This refers to the email addresses a distribution list can appear as.&lt;br /&gt;
&lt;br /&gt;
==== Add Email Address ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)/emailaddresses/(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 that the distribution list is associated with to the list.  This address' domain name must be the same as the domain the distribution list is under.&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/distributionlists/all.employees/emailaddresses/alex@example.com', {}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete Email Address ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)/emailaddresses/(email address)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the email address that is tied to the distribution list.&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/distributionlists/all.employees/emailaddresses/alex@example.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Member ===&lt;br /&gt;
&lt;br /&gt;
This refers to the recipients of the distribution list.&lt;br /&gt;
&lt;br /&gt;
==== Add Member ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/distributionlists/(distribution list name)/members/(member name)&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 to the distribution list.&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/distributionlists/all.employees/members/john.smith', {}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|-&lt;br /&gt;
| Required form field is missing&lt;br /&gt;
| 400&lt;br /&gt;
| Missing field: addmember&lt;br /&gt;
|-&lt;br /&gt;
| Form data has unrecognized field&lt;br /&gt;
| 400&lt;br /&gt;
| Unrecognized field: deletemember&lt;br /&gt;
|-&lt;br /&gt;
| New member is not found&lt;br /&gt;
| 400&lt;br /&gt;
| No user with the email address jane.doe exists&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Delete Member ====&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/distributionlists/(distribution list name)/members/(member name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Delete an email address from the distribution list.&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/distributionlists/all.employees/members/john.smith', {}, 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Distribution list is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Distribution list not found&lt;br /&gt;
|-&lt;br /&gt;
| Member is not found&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid group member name&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Distributionlist&amp;diff=326</id>
		<title>RestAPI/Distributionlist</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Distributionlist&amp;diff=326"/>
				<updated>2009-11-20T20:32:39Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Distributionlist to Distribution List (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Distribution List (Rest API)]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Contact_(Rest_API)&amp;diff=323</id>
		<title>Exchange Contact (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Contact_(Rest_API)&amp;diff=323"/>
				<updated>2009-11-20T20:32:02Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Contact to Contact (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Index ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/contacts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns a list of contacts under the domain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/ContactList.xsd ContactList.xsd]&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/contacts?size=100&amp;amp;page=1&amp;amp;contains=john', 'text/xml'&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;contactList 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:contactList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;contacts&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact66&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail58@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact73&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail98@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
    &amp;lt;contact&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apiexcontact81&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
      &amp;lt;externalEmail&amp;gt;externalemail46@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
    &amp;lt;/contact&amp;gt;&lt;br /&gt;
  &amp;lt;/contacts&amp;gt;&lt;br /&gt;
&amp;lt;/contactList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;contacts&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact66&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail58@yahoo.com&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact73&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail98@yahoo.com&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apiexcontact81&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail46@yahoo.com&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Show ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
        /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Returns the contact's details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Contact.xsd Contact.xsd]&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/contacts/alex.smith', 'text/xml'&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;contact 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:contact&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apiexcontact73&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;displayName&amp;gt;API Test&amp;lt;/displayName&amp;gt;&lt;br /&gt;
  &amp;lt;externalEmail&amp;gt;externalemail98@yahoo.com&amp;lt;/externalEmail&amp;gt;&lt;br /&gt;
  &amp;lt;isHidden&amp;gt;false&amp;lt;/isHidden&amp;gt;&lt;br /&gt;
  &amp;lt;contactInfo&amp;gt;&lt;br /&gt;
    &amp;lt;firstName&amp;gt;API&amp;lt;/firstName&amp;gt;&lt;br /&gt;
    &amp;lt;lastName&amp;gt;Test&amp;lt;/lastName&amp;gt;&lt;br /&gt;
    &amp;lt;jobTitle&amp;gt;Dev&amp;lt;/jobTitle&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;My Company&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;department&amp;gt;R&amp;amp;amp;D&amp;lt;/department&amp;gt;&lt;br /&gt;
    &amp;lt;businessNumber&amp;gt;111-1111&amp;lt;/businessNumber&amp;gt;&lt;br /&gt;
    &amp;lt;homeNumber&amp;gt;222-2222&amp;lt;/homeNumber&amp;gt;&lt;br /&gt;
    &amp;lt;mobileNumber&amp;gt;333-3333&amp;lt;/mobileNumber&amp;gt;&lt;br /&gt;
    &amp;lt;faxNumber&amp;gt;444-4444&amp;lt;/faxNumber&amp;gt;&lt;br /&gt;
    &amp;lt;pagerNumber&amp;gt;1234&amp;lt;/pagerNumber&amp;gt;&lt;br /&gt;
    &amp;lt;addressLine1&amp;gt;123 Main Street&amp;lt;/addressLine1&amp;gt;&lt;br /&gt;
    &amp;lt;city&amp;gt;Blacksburg&amp;lt;/city&amp;gt;&lt;br /&gt;
    &amp;lt;state&amp;gt;VA&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;zip&amp;gt;24060&amp;lt;/zip&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;notes&amp;gt;My Notes&amp;lt;/notes&amp;gt;&lt;br /&gt;
  &amp;lt;/contactInfo&amp;gt;&lt;br /&gt;
&amp;lt;/contact&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;name&amp;quot;:&amp;quot;apiexcontact73&amp;quot;,&amp;quot;displayName&amp;quot;:&amp;quot;API Test&amp;quot;,&amp;quot;externalEmail&amp;quot;:&amp;quot;externalemail98@yahoo.com&amp;quot;,&amp;quot;isHidden&amp;quot;:false,&amp;quot;contactInfo&amp;quot;:{&amp;quot;firstName&amp;quot;:&amp;quot;API&amp;quot;,&amp;quot;lastName&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;jobTitle&amp;quot;:&amp;quot;Dev&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;My Company&amp;quot;,&amp;quot;department&amp;quot;:&amp;quot;R&amp;amp;D&amp;quot;,&amp;quot;businessNumber&amp;quot;:&amp;quot;111-1111&amp;quot;,&amp;quot;homeNumber&amp;quot;:&amp;quot;222-2222&amp;quot;,&amp;quot;mobileNumber&amp;quot;:&amp;quot;333-3333&amp;quot;,&amp;quot;faxNumber&amp;quot;:&amp;quot;444-4444&amp;quot;,&amp;quot;pagerNumber&amp;quot;:&amp;quot;1234&amp;quot;,&amp;quot;addressLine1&amp;quot;:&amp;quot;123 Main Street&amp;quot;,&amp;quot;city&amp;quot;:&amp;quot;Blacksburg&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;VA&amp;quot;,&amp;quot;zip&amp;quot;:&amp;quot;24060&amp;quot;,&amp;quot;country&amp;quot;:&amp;quot;USA&amp;quot;,&amp;quot;notes&amp;quot;:&amp;quot;My Notes&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Contact not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add/Edit ===&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Add: [POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/contacts/(contact name)&lt;br /&gt;
&lt;br /&gt;
Edit: [PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
                /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds or edits the contact's details as specified. If the contact does not exist, use Add, if it does, use Edit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|-&lt;br /&gt;
| displayName&lt;br /&gt;
| string&lt;br /&gt;
| Name of contact when displayed (Required for add)&lt;br /&gt;
|-&lt;br /&gt;
| externalEmail&lt;br /&gt;
| string&lt;br /&gt;
| Email address (Required for add)&lt;br /&gt;
|-&lt;br /&gt;
| isHidden&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether the contact is hidden from the Global List&lt;br /&gt;
|-&lt;br /&gt;
| firstName&lt;br /&gt;
| string&lt;br /&gt;
| First name&lt;br /&gt;
|-&lt;br /&gt;
| lastName&lt;br /&gt;
| string&lt;br /&gt;
| Last name&lt;br /&gt;
|-&lt;br /&gt;
| jobTitle&lt;br /&gt;
| string&lt;br /&gt;
| Job title&lt;br /&gt;
|-&lt;br /&gt;
| company&lt;br /&gt;
| string&lt;br /&gt;
| Company&lt;br /&gt;
|-&lt;br /&gt;
| department&lt;br /&gt;
| string&lt;br /&gt;
| Department&lt;br /&gt;
|-&lt;br /&gt;
| businessnumber&lt;br /&gt;
| string&lt;br /&gt;
| Business phone number&lt;br /&gt;
|-&lt;br /&gt;
| homenumber&lt;br /&gt;
| string&lt;br /&gt;
| Home phone number&lt;br /&gt;
|-&lt;br /&gt;
| mobilenumber&lt;br /&gt;
| string&lt;br /&gt;
| Mobile phone number&lt;br /&gt;
|-&lt;br /&gt;
| faxnumber&lt;br /&gt;
| string&lt;br /&gt;
| Fax number&lt;br /&gt;
|-&lt;br /&gt;
| pagernumber&lt;br /&gt;
| string&lt;br /&gt;
| Pager number&lt;br /&gt;
|-&lt;br /&gt;
| addressLine1&lt;br /&gt;
| string&lt;br /&gt;
| Street address&lt;br /&gt;
|-&lt;br /&gt;
| city&lt;br /&gt;
| string&lt;br /&gt;
| City&lt;br /&gt;
|-&lt;br /&gt;
| state&lt;br /&gt;
| string&lt;br /&gt;
| State&lt;br /&gt;
|-&lt;br /&gt;
| zip&lt;br /&gt;
| string&lt;br /&gt;
| Zip or postal code&lt;br /&gt;
|-&lt;br /&gt;
| country&lt;br /&gt;
| string&lt;br /&gt;
| Country&lt;br /&gt;
|-&lt;br /&gt;
| notes&lt;br /&gt;
| string&lt;br /&gt;
| Notes field&lt;br /&gt;
|}&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/contacts/alex.smith', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'displayName' =&amp;gt; 'Johnny Customer',&lt;br /&gt;
  'externalEmail' =&amp;gt; 'jonny@apple.com'&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/12345678/domains/example.com/ex/contacts/alex.smith', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'externalEmail' =&amp;gt; 'jonnysNewEmail@microsoft.com',&lt;br /&gt;
  'company' =&amp;gt; 'Microsoft',&lt;br /&gt;
  'businessnumber' =&amp;gt; '425 555 5555'&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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address jane.doe@abc.com exists&lt;br /&gt;
|-&lt;br /&gt;
| New display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| Boolean form field has non-boolean input&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid format for Enabled, input must be True or False&lt;br /&gt;
|-&lt;br /&gt;
| Form data has unrecognized field&lt;br /&gt;
| 400&lt;br /&gt;
| Unrecognized field: size&lt;br /&gt;
|-&lt;br /&gt;
| Required form field is missing&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: displayName&lt;br /&gt;
|-&lt;br /&gt;
| Required form field has null or empty string input&lt;br /&gt;
| 400&lt;br /&gt;
| Required field displayName cannot be empty&lt;br /&gt;
|-&lt;br /&gt;
| New display name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid display name&lt;br /&gt;
|-&lt;br /&gt;
| New contact name (user name) already exists&lt;br /&gt;
| 400&lt;br /&gt;
| The email address john.doe@abc.com is already in use&lt;br /&gt;
|-&lt;br /&gt;
| New contact name (user name) is reserved by Exchange&lt;br /&gt;
| 400&lt;br /&gt;
| user name reserved&lt;br /&gt;
|}&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] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
            /ex/contacts/(contact name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the contact.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Contact is deleted immediately without verification and data is lost permanently.&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/contacts/alex.smith', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|-&lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|-&lt;br /&gt;
| Contact is not found&lt;br /&gt;
| 404&lt;br /&gt;
| No user with the email address jane.doe@abc.com exists&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Contact&amp;diff=324</id>
		<title>RestAPI/Contact</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Contact&amp;diff=324"/>
				<updated>2009-11-20T20:32:02Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Contact to Contact (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Contact (Rest API)]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_(Rest_API)&amp;diff=321</id>
		<title>Domain (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Domain_(Rest_API)&amp;diff=321"/>
				<updated>2009-11-20T20:31:46Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Domain to Domain (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns a list of domains under the account. If a customer account is specified, then a list of domains under that specific account will be returned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To retrieve a list of domains owned by the account that is logged in, use &amp;quot;me&amp;quot; as the customer account number i.e. &amp;lt;nowiki&amp;gt;'http://api.emailsrvr.com/v0/customers/me/domains'&amp;lt;/nowiki&amp;gt;. To retrieve a list of domains owned by all customer sub-accounts and your own account, use &amp;quot;all&amp;quot; as the customer account number.&lt;br /&gt;
&lt;br /&gt;
The index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/DomainList.xsd DomainList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/all/domains?size=100&amp;amp;page=1', 'text/xml'&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;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;3&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;apidomain53.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100000&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apidomain66.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100001&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
    &amp;lt;/domain&amp;gt;&lt;br /&gt;
    &amp;lt;domain&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;apidomain68.com&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;100002&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;serviceType&amp;gt;both&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;
&lt;br /&gt;
''Json Result Example'':&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;domains&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;apidomain53.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100000&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apidomain66.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100001&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;apidomain68.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;100002&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| Customer account number is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid account number&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified domain name.&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. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Domain.xsd Domain.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/999999/domains/example.com', 'text/xml'&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;domain 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:domain&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;apidomain66.com&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;100000&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;serviceType&amp;gt;both&amp;lt;/serviceType&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeBaseMailboxSize&amp;gt;2048&amp;lt;/exchangeBaseMailboxSize&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeUsedStorage&amp;gt;0&amp;lt;/exchangeUsedStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeTotalStorage&amp;gt;18432&amp;lt;/exchangeTotalStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeExtraStorage&amp;gt;10240&amp;lt;/exchangeExtraStorage&amp;gt;&lt;br /&gt;
  &amp;lt;exchangeMaxNumMailboxes&amp;gt;4&amp;lt;/exchangeMaxNumMailboxes&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailBaseMailboxSize&amp;gt;2048&amp;lt;/rsEmailBaseMailboxSize&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailMaxNumberMailboxes&amp;gt;4&amp;lt;/rsEmailMaxNumberMailboxes&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailExtraStorage&amp;gt;10240&amp;lt;/rsEmailExtraStorage&amp;gt;&lt;br /&gt;
  &amp;lt;rsEmailUsedStorage&amp;gt;0&amp;lt;/rsEmailUsedStorage&amp;gt;&lt;br /&gt;
  &amp;lt;aliases /&amp;gt;&lt;br /&gt;
  &amp;lt;hasArchivingService&amp;gt;false&amp;lt;/hasArchivingService&amp;gt;&lt;br /&gt;
  &amp;lt;hasBlackBerryMobileService&amp;gt;true&amp;lt;/hasBlackBerryMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;blackBerryLicenses&amp;gt;4&amp;lt;/blackBerryLicenses&amp;gt;&lt;br /&gt;
  &amp;lt;hasActivesyncMobileService&amp;gt;true&amp;lt;/hasActivesyncMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;activeSyncLicenses&amp;gt;4&amp;lt;/activeSyncLicenses&amp;gt;&lt;br /&gt;
  &amp;lt;hasGoodmobileMobileService&amp;gt;true&amp;lt;/hasGoodmobileMobileService&amp;gt;&lt;br /&gt;
  &amp;lt;goodmobileLicenses&amp;gt;4&amp;lt;/goodmobileLicenses&amp;gt;&lt;br /&gt;
&amp;lt;/domain&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;name&amp;quot;:&amp;quot;apidomain66.com&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;200001&amp;quot;,&amp;quot;serviceType&amp;quot;:&amp;quot;both&amp;quot;,&amp;quot;exchangeBaseMailboxSize&amp;quot;:2048,&amp;quot;exchangeUsedStorage&amp;quot;:0,&amp;quot;exchangeTotalStorage&amp;quot;:18432,&amp;quot;exchangeExtraStorage&amp;quot;:10240,&amp;quot;exchangeMaxNumMailboxes&amp;quot;:4,&amp;quot;rsEmailBaseMailboxSize&amp;quot;:2048,&amp;quot;rsEmailMaxNumberMailboxes&amp;quot;:4,&amp;quot;rsEmailExtraStorage&amp;quot;:10240,&amp;quot;rsEmailUsedStorage&amp;quot;:0,&amp;quot;aliases&amp;quot;:[],&amp;quot;hasArchivingService&amp;quot;:false,&amp;quot;hasBlackBerryMobileService&amp;quot;:true,&amp;quot;blackBerryLicenses&amp;quot;:4,&amp;quot;hasActivesyncMobileService&amp;quot;:true,&amp;quot;activeSyncLicenses&amp;quot;:4,&amp;quot;hasGoodmobileMobileService&amp;quot;:true,&amp;quot;goodmobileLicenses&amp;quot;:4}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 Add: [POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
 Edit: [PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Adds/edits a new domain to the account with the data specified. To add a domain to your own account, use your own account id.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|- &lt;br /&gt;
| serviceType&lt;br /&gt;
| string&lt;br /&gt;
| Domain service type. &amp;quot;rsemail&amp;quot; = &amp;quot;Rackspace Email Only&amp;quot;. &amp;quot;exchange&amp;quot; = &amp;quot;Exchange Only&amp;quot;. &amp;quot;both&amp;quot; = &amp;quot;Rackspace Email and Exchange&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| exchangeExtraStorage&lt;br /&gt;
| int&lt;br /&gt;
| Exchange service extra storage in megabytes&lt;br /&gt;
|- &lt;br /&gt;
| exchangeMaxNumMailboxes&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed under the domain Exchange service. Required for Adding Exchange service&lt;br /&gt;
|- &lt;br /&gt;
| rsEmailBaseMailboxSize&lt;br /&gt;
| int&lt;br /&gt;
| Rackspace Email base mailbox size in megabytes&lt;br /&gt;
|- &lt;br /&gt;
| rsEmailMaxNumberMailboxes&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed under the domain Rackspace Email service. Required for Adding Rackspace Email service&lt;br /&gt;
|- &lt;br /&gt;
| rsEmailExtraStorage&lt;br /&gt;
| int&lt;br /&gt;
| Rackspace Email service extra storage in megabytes&lt;br /&gt;
|- &lt;br /&gt;
| blackberry&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain BlackBerryMobile service&lt;br /&gt;
|- &lt;br /&gt;
| blackberryLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have BlackBerryMobile service. 0 means unlimited&lt;br /&gt;
|- &lt;br /&gt;
| activesync&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain ActiveSyncMobile service&lt;br /&gt;
|- &lt;br /&gt;
| activesyncLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have ActiveSyncMobile service. 0 means unlimited&lt;br /&gt;
|- &lt;br /&gt;
| goodmobile&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain GoodMobile service&lt;br /&gt;
|- &lt;br /&gt;
| goodmobileLicenses&lt;br /&gt;
| int&lt;br /&gt;
| Maximum number of mailboxes allowed to have GoodMobile service. 0 means unlimited&lt;br /&gt;
|- &lt;br /&gt;
| hasArchivingService&lt;br /&gt;
| boolean&lt;br /&gt;
| Enable or disable domain archiving service&lt;br /&gt;
|- &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;
post '/customers/123455/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'maxNumMailboxes' =&amp;gt; '5',&lt;br /&gt;
  'extraStorage' =&amp;gt; '1024'  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/123455/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'maxNumMailboxes' =&amp;gt; '25',&lt;br /&gt;
  'extraStorage' =&amp;gt; '2048'  &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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| Customer account number is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid account number&lt;br /&gt;
|- &lt;br /&gt;
| Form data has unrecognized field&lt;br /&gt;
| 400&lt;br /&gt;
| Unrecognized field: size&lt;br /&gt;
|- &lt;br /&gt;
| Required form field is missing&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: maxNumMailboxes&lt;br /&gt;
|- &lt;br /&gt;
| Required form field has null or empty string input&lt;br /&gt;
| 400&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|- &lt;br /&gt;
| Integer form field has non-integer input&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid format for maxNumMailboxes, input must be an integer&lt;br /&gt;
|- &lt;br /&gt;
| New domain name doesn't meet the naming requirements&lt;br /&gt;
| 400&lt;br /&gt;
| Invalid domain name&lt;br /&gt;
|- &lt;br /&gt;
| New domain name already exists&lt;br /&gt;
| 400&lt;br /&gt;
| abc.com already exists as a domain or alternate domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Move ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[PUT] http://api.emailsrvr.com/v0/customers/(new customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Moves the domain to another customer account.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|- &lt;br /&gt;
| moveDomain&lt;br /&gt;
| boolean&lt;br /&gt;
| Indicate whether or not moving the domain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
Note 'Move Domain' and 'Edit Domain' share the same URI and HTTP verb. When the domain doesn't belong to the customer and 'moveDomain' is set to 'true', API will take the request as a 'Move Domain' call.&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/123456/domains/newcompany.com', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
  'moveDomain' =&amp;gt; 'true'&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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|- &lt;br /&gt;
| Customer is not found&lt;br /&gt;
| 404&lt;br /&gt;
| Customer not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the domain.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The domain and all the mailboxes, mailbox contents, groups, and contacts are deleted permanently.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/12345678/domains/newcompany.com', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Archiving SSO Login URL ==&lt;br /&gt;
&lt;br /&gt;
''URL'':&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain)/archivingSSOLoginURL&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Gets the domain archiving service SSO login URL.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
The retrieved URL can be used in browser to access the domain archiving control panel.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/12345678/domains/company.com/archivingSSOLoginURL', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| Domain is not found&lt;br /&gt;
| 404&lt;br /&gt;
| abc.com not found&lt;br /&gt;
|- &lt;br /&gt;
| No archiving service&lt;br /&gt;
| 404&lt;br /&gt;
| Domain abc.com has no archiving service enabled&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Domain&amp;diff=322</id>
		<title>RestAPI/Domain</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Domain&amp;diff=322"/>
				<updated>2009-11-20T20:31:46Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Domain to Domain (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Domain (Rest API)]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=319</id>
		<title>Customer (Rest API)</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Customer_(Rest_API)&amp;diff=319"/>
				<updated>2009-11-20T20:30:21Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Customer to Customer (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Index ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;http://api.emailsrvr.com/v0/customers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
This operation returns the list of customers that the authenticated user has access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
For the text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/CustomerList.xsd CustomerList.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers?size=100&amp;amp;page=1', 'text/xml'&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;customerList 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:customerList&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;3&amp;lt;/total&amp;gt;&lt;br /&gt;
  &amp;lt;customers&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 39&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460181&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;23&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
    &amp;lt;customer&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;API Customer 50&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;accountNumber&amp;gt;460183&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
      &amp;lt;referenceNumber&amp;gt;10&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
    &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;/customers&amp;gt;&lt;br /&gt;
&amp;lt;/customerList&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;offset&amp;quot;:0,&amp;quot;size&amp;quot;:50,&amp;quot;total&amp;quot;:3,&amp;quot;customers&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;API Customer 39&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460181&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;23&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;API Customer 50&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460183&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;10&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Show ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [GET] &amp;lt;nowiki&amp;gt;http://api.emailsrvr.com/v0/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
The show operation will return detailed information about the specified account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Remarks'':&lt;br /&gt;
&lt;br /&gt;
To do the show operation on the account that is logged in instead of a customer's account, use &amp;quot;me&amp;quot; in the place of the customer account number i.e. &amp;lt;nowiki&amp;gt;'http://api.emailsrvr.com/v0/customers/me'&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: [http://api.emailsrvr.com/v0/Schemas/Customer.xsd Customer.xsd]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
get '/customers/me', 'text/xml'&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;customer 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:customer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;API Customer 17&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;accountNumber&amp;gt;460182&amp;lt;/accountNumber&amp;gt;&lt;br /&gt;
  &amp;lt;referenceNumber&amp;gt;49&amp;lt;/referenceNumber&amp;gt;&lt;br /&gt;
&amp;lt;/customer&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;name&amp;quot;:&amp;quot;API Customer 17&amp;quot;,&amp;quot;accountNumber&amp;quot;:&amp;quot;460182&amp;quot;,&amp;quot;referenceNumber&amp;quot;:&amp;quot;49&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| Customer account number is invalid&lt;br /&gt;
| 404&lt;br /&gt;
| Invalid account number&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add/Edit ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 Add: [POST] &amp;lt;nowiki&amp;gt;http://api.emailsrvr.com/customers&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Edit: [PUT] &amp;lt;nowiki&amp;gt;http://api.emailsrvr.com/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Add/Edit a new sub-account. Note that customer number is not known until the customer is added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Field Name''&lt;br /&gt;
!''Data Type''&lt;br /&gt;
!''Description''&lt;br /&gt;
|- &lt;br /&gt;
| name&lt;br /&gt;
| string&lt;br /&gt;
| The customer's display name (Required for Add)&lt;br /&gt;
|- &lt;br /&gt;
| referenceNumber&lt;br /&gt;
| string&lt;br /&gt;
| The reference number of this account&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;
post '/customers', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'Name' &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
put '/customers/999999', 'text/xml',&lt;br /&gt;
{&lt;br /&gt;
 'name' =&amp;gt; 'NewName',&lt;br /&gt;
 'referenceNumber' =&amp;gt; '12345' &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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| The name field was not specified&lt;br /&gt;
| 400&lt;br /&gt;
| Missing required field: name&lt;br /&gt;
|- &lt;br /&gt;
| The name field cannot be blank&lt;br /&gt;
| 400&lt;br /&gt;
| Required field name cannot be empty&lt;br /&gt;
|- &lt;br /&gt;
| Names cannot start with a space&lt;br /&gt;
| 400&lt;br /&gt;
| Improper Customer Name&lt;br /&gt;
|- &lt;br /&gt;
| The customer account was not found&lt;br /&gt;
| 404&lt;br /&gt;
| Customer Not Found&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete ==&lt;br /&gt;
&lt;br /&gt;
''URL'': &lt;br /&gt;
&lt;br /&gt;
 [DELETE] &amp;lt;nowiki&amp;gt;http://api.emailsrvr.com/customers/(customer account number)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Description'':&lt;br /&gt;
&lt;br /&gt;
Deletes the account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Example'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
delete '/customers/999999', 'text/xml'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Errors'':&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Description''&lt;br /&gt;
!''HTTP Response Code''&lt;br /&gt;
!''Sample Message''&lt;br /&gt;
|- &lt;br /&gt;
| Format is invalid&lt;br /&gt;
| 406&lt;br /&gt;
| Invalid format&lt;br /&gt;
|- &lt;br /&gt;
| The customer account was not found&lt;br /&gt;
| 404&lt;br /&gt;
| Customer Not Found&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Customer&amp;diff=320</id>
		<title>RestAPI/Customer</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI/Customer&amp;diff=320"/>
				<updated>2009-11-20T20:30:21Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI/Customer to Customer (Rest API)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Customer (Rest API)]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=317</id>
		<title>Rest API</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Rest_API&amp;diff=317"/>
				<updated>2009-11-20T20:29:16Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI to Rest API&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC_right}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Email API provides most of the functions of Rackspace's Email and Apps Control Panel through a web-based API ([http://en.wikipedia.org/wiki/Application_programming_interface Application Programming Interface]). 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. The API is a RESTful web service based on the Hypertext Transfer Protocol (HTTP). Actions and data requests are performed by using HTTP-based commands. For more information on RESTful web services refer to the following sites:&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Representational_State_Transfer&lt;br /&gt;
&lt;br /&gt;
http://java.sun.com/developer/technicalArticles/WebServices/restful/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Right now the API is in its beta release and is restricted to resellers only.&lt;br /&gt;
&lt;br /&gt;
&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.&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!Resource&lt;br /&gt;
!Example URI&lt;br /&gt;
|-&lt;br /&gt;
| [[RestAPI/Customer| Customer]]&lt;br /&gt;
| /customers/123456789&lt;br /&gt;
|-&lt;br /&gt;
| [[RestAPI/Domain| Domain]]&lt;br /&gt;
| /customers/123456789/domains/example.com&lt;br /&gt;
|-&lt;br /&gt;
| [[RestAPI/Mailbox| Exchange Mailbox]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
|-&lt;br /&gt;
| [[RestAPI/Distributionlist| Exchange Distribution List]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/distributionlists/group.name&lt;br /&gt;
|-&lt;br /&gt;
| [[RestAPI/Contact| Exchange Contact]]&lt;br /&gt;
| /customers/123456789/domains/example.com/ex/contacts/john.smith&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;
&lt;br /&gt;
== Accessing the API ==&lt;br /&gt;
&lt;br /&gt;
Your application will need to make HTTP requests to remote servers. Most programming languages have this function provided in its class library. In addition to the common GET and POST HTTP methods, the library used will also need to support PUT and DELETE. All API calls should be directed to a URL in the following format.&lt;br /&gt;
&amp;lt;pre&amp;gt;http://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;http://api.emailsrvr.com/v0/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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Supported Versions''&lt;br /&gt;
!''URL''&lt;br /&gt;
!''Version Documentation''&lt;br /&gt;
|-&lt;br /&gt;
| v0 (current)&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;http://api.emailsrvr.com/v0/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| http://signup.apps.rackspace.com/api-wiki/index.php/RestAPI&lt;br /&gt;
|}&lt;br /&gt;
&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 http://api.emailsrvr.com/v0/. 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;
Note: Pre-release versions of the API will be located at &amp;lt;nowiki&amp;gt;http://api.emailsrvr.com/v0/&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&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;
&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 that are generated from the Control Panel Web interface.&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&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;
&lt;br /&gt;
&amp;lt;'''User Key'''&amp;gt;:&amp;lt;'''Timestamp'''&amp;gt;:&amp;lt;'''Signature'''&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=''&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 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 YYYYMMDDHHmmssff. All values besides year are zero-padded to two spaces. For example, March 17th 2001 at 2:37.25pm would be ''20010317143725''.&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&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;
| ff&lt;br /&gt;
| Millisecond&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Signature''':&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 Interface20010317143725QHOvchm/40czXhJ1OxfxK7jDHr3t''&lt;br /&gt;
&lt;br /&gt;
Resulting base-64 SHA1 Hash:&amp;lt;br&amp;gt;''HKUn0aajpSDx7qqGK3vqzn3FglI=''&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;
&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 URLs, corresponding HTTP Methods, and necessary form data for the desired operations are detailed in the [[RestAPI#Operations|operation pages]].&lt;br /&gt;
&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;
&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 consistent and is outlined in the table below.&lt;br /&gt;
&lt;br /&gt;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''HTTP Method''&lt;br /&gt;
!''Operations''&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=2|GET&lt;br /&gt;
|Index - returns a list of the resources&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;
|-&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;
{| border=1 class=&amp;quot;simple&amp;quot;&lt;br /&gt;
!''Header Name''&lt;br /&gt;
!''Description''&lt;br /&gt;
!''Example''&lt;br /&gt;
|-&lt;br /&gt;
| Accept&lt;br /&gt;
| The requested content type (required regardless of type of operation)&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 [[RestAPI#X-Api-Signature_Header|here]]&lt;br /&gt;
| ''eGbq9/2hcZsRlr1JV1Pi:20010317143725:HKUn0aajpSDx7qqGK3vqzn3FglI=''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 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;
{| border=1 class=&amp;quot;simple&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&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;
&lt;br /&gt;
&lt;br /&gt;
'''Reference Number'''&lt;br /&gt;
&lt;br /&gt;
For the customer object only, the query string &amp;quot;referenceNumber=xx&amp;quot; searches for a customer with an exact reference number. The result if found is the detail page of the customer.&lt;br /&gt;
&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 current limit is 2500 requests over 5 minutes. 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;
&lt;br /&gt;
==== Examples ====&lt;br /&gt;
&lt;br /&gt;
Example requests:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index of Exchange Mailboxes:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    GET /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100 HTTP/1.1&lt;br /&gt;
        Request Method: GET&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes?size=100&amp;amp;offset=100&lt;br /&gt;
        Request Version: 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;
&lt;br /&gt;
    &lt;br /&gt;
Adding New Exchange Mailbox:&lt;br /&gt;
&lt;br /&gt;
Hypertext Transfer Protocol&lt;br /&gt;
    POST /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith HTTP/1.1&lt;br /&gt;
        Request Method: POST&lt;br /&gt;
        Request URI: /v0/customers/12345678/domains/example.com/ex/mailboxes/john.smith&lt;br /&gt;
        Request Version: 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;
    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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Responses ===&lt;br /&gt;
&lt;br /&gt;
On a successfully executed request, a 200 HTTP Code is returned. Requested data is also returned if the operation was a Show or Index action. If the request is unsuccessful, then an error HTTP Code is returned with a message detailing the error. The errors and their corresponding codes are detailed on the operation pages.&lt;br /&gt;
&lt;br /&gt;
==== Returned Data ====&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 Accept Header 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 extract data from 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 library with the functions necessary for whichever method you choose to use to extract data.&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;
&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;
{| border=1 class=&amp;quot;simple&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;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&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;
module NetMethods &lt;br /&gt;
  def get(url_string, format)&lt;br /&gt;
    url = URI.parse('http://' + server_host + server_port + version + url_string)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port)  do |http|&lt;br /&gt;
      sign_request&lt;br /&gt;
      assign_format(format)&lt;br /&gt;
      @request = Net::HTTP::Get.new(url.path, @headers)&lt;br /&gt;
     &lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def post(url_string, format, fields_hash)&lt;br /&gt;
    url = URI.parse('http://' + server_host + server_port + version + url_string)&lt;br /&gt;
&lt;br /&gt;
    sign_request&lt;br /&gt;
    assign_format(format)&lt;br /&gt;
    @request = Net::HTTP::Post.new(url.path, @headers)&lt;br /&gt;
&lt;br /&gt;
    @request.set_form_data(fields_hash)&lt;br /&gt;
    @response = Net::HTTP::start(url.host, url.port) do |http|&lt;br /&gt;
      http.request(@request)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def assign_format (format)&lt;br /&gt;
    @headers['Accept'] = format&lt;br /&gt;
  end&lt;br /&gt;
   &lt;br /&gt;
  def sign_request&lt;br /&gt;
    userAgent = 'Ruby Test Client'&lt;br /&gt;
    timestamp = DateTime.now.new_offset.strftime('%Y%m%d%H%M%S00')&lt;br /&gt;
    apiKey = 'XXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
    secretKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'&lt;br /&gt;
   &lt;br /&gt;
    data_to_sign = apiKey + userAgent + timestamp + secretKey&lt;br /&gt;
   &lt;br /&gt;
    signature = Base64.encode64(Digest::SHA1.digest(data_to_sign))&lt;br /&gt;
   &lt;br /&gt;
    @headers = Hash.new&lt;br /&gt;
    @headers['User-Agent'] = userAgent&lt;br /&gt;
    @headers['X-Api-Signature'] = apiKey + &amp;quot;:&amp;quot; + timestamp + &amp;quot;:&amp;quot; + signature&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_host&lt;br /&gt;
    'api.emailsrvr.com'&lt;br /&gt;
  end&lt;br /&gt;
 &lt;br /&gt;
  def server_port&lt;br /&gt;
    '80'&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  def version&lt;br /&gt;
    '/v0'&lt;br /&gt;
  end&lt;br /&gt;
end &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&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.Collections.Specialized;&lt;br /&gt;
using System.Security.Cryptography;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net;&lt;br /&gt;
&lt;br /&gt;
public class WebMethods&lt;br /&gt;
{&lt;br /&gt;
  private WebClientBase client;&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 WebMethods(WebClientBase client, string baseUrl, string apiKey, string secretKey)&lt;br /&gt;
  {&lt;br /&gt;
    this.client = client;&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 virtual string Get(string url)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        return client.DownloadString(baseUrl + url);&lt;br /&gt;
      },&lt;br /&gt;
      format);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public virtual string Post(string url, NameValueCollection data)&lt;br /&gt;
  {&lt;br /&gt;
    return MakeRemoteCall((client) =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
        var bytes = client.UploadValues(baseUrl + url, data);&lt;br /&gt;
        return Encoding.UTF8.GetString(bytes);&lt;br /&gt;
      },&lt;br /&gt;
      format);&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;
    client.Headers[&amp;quot;User-Agent&amp;quot;] = userAgent;&lt;br /&gt;
&lt;br /&gt;
    var dateTime = DateTime.UtcNow.ToString(&amp;quot;yyyyMMddHHmmssff&amp;quot;);&lt;br /&gt;
&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;
    client.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;
    client.Headers[&amp;quot;Accept&amp;quot;] = format;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private string MakeRemoteCall(Func&amp;lt;WebClientBase, string&amp;gt; remoteCall, string format)&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      SignMessage();&lt;br /&gt;
      AssignFormat(format);&lt;br /&gt;
      return remoteCall.Invoke(client);&lt;br /&gt;
    }&lt;br /&gt;
    catch (WebException e)&lt;br /&gt;
    {&lt;br /&gt;
      throw new ApiException(e);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&lt;br /&gt;
The PHP Example can be found [http://signup.apps.rackspace.com/api-wiki/index.php/RestAPI/Examples/PHP here].&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	<entry>
		<id>http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI&amp;diff=318</id>
		<title>RestAPI</title>
		<link rel="alternate" type="text/html" href="http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=RestAPI&amp;diff=318"/>
				<updated>2009-11-20T20:29:16Z</updated>
		
		<summary type="html">&lt;p&gt;Kevin.lin: moved RestAPI to Rest API&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Rest API]]&lt;/div&gt;</summary>
		<author><name>Kevin.lin</name></author>	</entry>

	</feed>