Difference between revisions of "Exchange Mailbox (Rest API)"

From Rackspace Email & Apps API
Jump to: navigation, search
(v1 - Current)
m (Reverted edits by Appscp (talk) to last revision by Zhen.wei)
Line 1: Line 1:
 
__TOC__
 
__TOC__
  
== v1 - Current ==
 
  
=== Index ===
+
== Index ==
  
 
''URL'':  
 
''URL'':  
  
  <nowiki>[GET] http://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes</nowiki>
 
         /ex/mailboxes</nowiki>
  
Line 23: Line 22:
 
''Remarks'':
 
''Remarks'':
  
The show operation only supports the GET HTTP verb.
+
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]
  
  
Line 72: Line 71:
 
</pre>
 
</pre>
  
=== Show ===
+
 
 +
== Show ==
  
 
''URL'':
 
''URL'':
  <nowiki>[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(mailbox name)</nowiki>
 
         /ex/mailboxes/(mailbox name)</nowiki>
  
Line 86: Line 86:
 
''Remarks'':
 
''Remarks'':
  
The show operation only supports the GET HTTP verb.
+
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]
  
 
The "samAccountName" is the logon name used to support clients and servers running older versions of the operating system.
 
The "samAccountName" is the logon name used to support clients and servers running older versions of the operating system.
Line 100: Line 100:
  
 
<pre>
 
<pre>
 +
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
 
<mailbox xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:mailbox">
 
<mailbox xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:mailbox">
Line 128: Line 129:
 
     <country>USA</country>
 
     <country>USA</country>
 
     <notes>My Notes</notes>
 
     <notes>My Notes</notes>
    <customID>0123456789</customID>
 
 
   </contactInfo>
 
   </contactInfo>
 
   <emailForwardingAddress>apiexmailbox8@apidomain24.com</emailForwardingAddress>
 
   <emailForwardingAddress>apiexmailbox8@apidomain24.com</emailForwardingAddress>
Line 146: Line 146:
 
''Json Result Example'':
 
''Json Result Example'':
  
{"name":"apiexmailbox90", "displayName":"API Test", "size":2048, "currentUsage":0, "isHidden":false, "isPublicFolderAdmin":true, "enabled":true, "lastLogin":"2\/12\/2006 1:00:00 AM", "contactInfo":{"firstName":"API", "lastName":"Test", "jobTitle":"Dev", "company":"My Company", "department":"R&D", "businessNumber":"111-1111", "homeNumber":"222-2222", "mobileNumber":"333-3333", "faxNumber":"444-4444", "pagerNumber":"1234", "addressLine1":"123 Main Street", "city":"Blacksburg", "state":"VA", "zip":"24060", "country":"USA", "notes":"My Notes", "customID":"0123456789"}, "emailForwardingAddress":"apiexmailbox8@apidomain24.com", "emailAddressList":[{"address":"apiexmailbox90@apidomain92.com", "replyTo":true}], "hasBlackBerryMobileService":false, "hasActiveSyncMobileService":false, "samAccountName":"apiexmailbox90_53B5B", "visibleInRackspaceEmailCompanyDirectory":false}
+
{"name":"apiexmailbox90", "displayName":"API Test", "size":2048, "currentUsage":0, "isHidden":false, "isPublicFolderAdmin":true, "enabled":true, "lastLogin":"2\/12\/2006 1:00:00 AM", "contactInfo":{"firstName":"API", "lastName":"Test", "jobTitle":"Dev", "company":"My Company", "department":"R&D", "businessNumber":"111-1111", "homeNumber":"222-2222", "mobileNumber":"333-3333", "faxNumber":"444-4444", "pagerNumber":"1234", "addressLine1":"123 Main Street", "city":"Blacksburg", "state":"VA", "zip":"24060", "country":"USA", "notes":"My Notes"}, "emailForwardingAddress":"apiexmailbox8@apidomain24.com", "emailAddressList":[{"address":"apiexmailbox90@apidomain92.com", "replyTo":true}], "hasBlackBerryMobileService":false, "hasActiveSyncMobileService":false, "samAccountName":"apiexmailbox90_53B5B", "visibleInRackspaceEmailCompanyDirectory":false}
 +
 
  
=== Add/Edit ===
+
== Add/Edit ==
  
 
''URL'':
 
''URL'':
  <nowiki>Add: [POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(mailbox name)
 
         /ex/mailboxes/(mailbox name)
Edit: [PUT] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(mailbox name)</nowiki>
 
         /ex/mailboxes/(mailbox name)</nowiki>
  
Line 250: Line 251:
 
| string
 
| string
 
| Notes field
 
| Notes field
|-
 
| customID
 
| string
 
| A custom field that can be used to tie user mailboxes to external user systems
 
 
|-
 
|-
 
| emailForwardingAddress
 
| emailForwardingAddress
Line 315: Line 312:
 
|}
 
|}
  
=== Delete ===
+
== Delete ==
  
 
''URL'':
 
''URL'':
  <nowiki>[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
             /ex/mailboxes/(mailbox name)</nowiki>
 
             /ex/mailboxes/(mailbox name)</nowiki>
  
Line 338: Line 335:
  
  
=== Add Email Address ===
+
== Add Email Address ==
  
 
''URL'':
 
''URL'':
  <nowiki>[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(mailbox name)/emailaddresses/(email address)</nowiki>
 
         /ex/mailboxes/(mailbox name)/emailaddresses/(email address)</nowiki>
  
Line 355: Line 352:
 
</pre>
 
</pre>
  
=== Delete Email Address ===
+
== Delete Email Address ==
  
 
''URL'':
 
''URL'':
  <nowiki>[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
             /ex/mailboxes/(mailbox name)/emailaddresses/(email address)</nowiki>
 
             /ex/mailboxes/(mailbox name)/emailaddresses/(email address)</nowiki>
  
Line 378: Line 375:
  
  
=== Spam Settings ===
+
== Spam Settings ==
  
 
See [[Mailbox_Spam_(Rest_API)| Exchange Mailbox Spam Settings]].
 
See [[Mailbox_Spam_(Rest_API)| Exchange Mailbox Spam Settings]].
  
  
=== Mailbox Permissions ===
+
== Mailbox Permissions ==
  
 
Exchange mailboxes can be given permissions. A permission is defined as a tuple (mailbox, permissionType).
 
Exchange mailboxes can be given permissions. A permission is defined as a tuple (mailbox, permissionType).
Line 389: Line 386:
 
permissionType:= (SendAs | FullAccess | Both)
 
permissionType:= (SendAs | FullAccess | Both)
  
==== Index Permissions ====
+
=== Index Permissions ===
 
''URL'':
 
''URL'':
  
  <nowiki>[GET] http://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(user)/permissions</nowiki>
 
         /ex/mailboxes/(user)/permissions</nowiki>
  
Line 429: Line 426:
 
that of user Joe Schmoe with permission type of "FullAccess".
 
that of user Joe Schmoe with permission type of "FullAccess".
  
==== Adding Permission ====
+
=== Adding Permission ===
  
 
''URL'':
 
''URL'':
  
  <nowiki>[POST] http://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(user1)/permissions/(user2)</nowiki>
 
         /ex/mailboxes/(user1)/permissions/(user2)</nowiki>
  
Line 458: Line 455:
 
The above result shows that on the mailbox of user Jane Doe, the user John Doe has been granted the permission of type "fullAccess".
 
The above result shows that on the mailbox of user Jane Doe, the user John Doe has been granted the permission of type "fullAccess".
  
==== Editing Permission ====
+
=== Editing Permission ===
  
 
''URL'':
 
''URL'':
  
  <nowiki>[PUT] http://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(user1)/permissions/(user2)</nowiki>
 
         /ex/mailboxes/(user1)/permissions/(user2)</nowiki>
  
Line 488: Line 485:
 
The permission granted to user John Doe on the mailbox of Jane Doe is modified to "both".
 
The permission granted to user John Doe on the mailbox of Jane Doe is modified to "both".
  
==== Deleting Permission ====
+
=== Deleting Permission ===
  
 
''URL'':
 
''URL'':
  
  <nowiki>[DELETE] http://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(user1)/permissions/(user2)</nowiki>
 
         /ex/mailboxes/(user1)/permissions/(user2)</nowiki>
  
Line 507: Line 504:
 
The permission granted to user John Doe on the mailbox of Jane Doe is deleted.
 
The permission granted to user John Doe on the mailbox of Jane Doe is deleted.
  
=== BlackBerry Mobile Service ===
+
== BlackBerry Mobile Service ==
  
==== Index ====
+
=== Index ===
  
 
''URL'':
 
''URL'':
  <nowiki>[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/blackberrymobileservices</nowiki>
 
         /ex/blackberrymobileservices</nowiki>
  
Line 523: Line 520:
 
''Remarks'':
 
''Remarks'':
  
The index operation only supports the GET HTTP verb.
+
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]
  
  
Line 554: Line 551:
 
{"offset":0,"size":50,"total":3,"mailboxes":["apiexmailbox36","apiexmailbox66","apiexmailbox85"]}
 
{"offset":0,"size":50,"total":3,"mailboxes":["apiexmailbox36","apiexmailbox66","apiexmailbox85"]}
  
==== Add ====
+
 
 +
=== Add ===
  
 
''URL'':
 
''URL'':
  <nowiki>[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(mailbox name)/blackberrymobileservice</nowiki>
 
         /ex/mailboxes/(mailbox name)/blackberrymobileservice</nowiki>
  
Line 599: Line 597:
  
  
==== Delete ====
+
=== Delete ===
  
 
''URL'':
 
''URL'':
  <nowiki>[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
             /ex/mailboxes/(mailbox name)/blackberrymobileservice</nowiki>
 
             /ex/mailboxes/(mailbox name)/blackberrymobileservice</nowiki>
  
Line 617: Line 615:
  
  
=== ActiveSync Mobile Service ===
+
== ActiveSync Mobile Service ==
  
==== Index ====
+
=== Index ===
  
 
''URL'':
 
''URL'':
  <nowiki>[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/activesyncmobileservices</nowiki>
 
         /ex/activesyncmobileservices</nowiki>
  
Line 633: Line 631:
 
''Remarks'':
 
''Remarks'':
  
The index operation only supports the GET HTTP verb.
+
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]
  
  
Line 665: Line 663:
 
{"offset":0,"size":50,"total":3,"mailboxes":["apiexmailbox36","apiexmailbox66","apiexmailbox85"]}
 
{"offset":0,"size":50,"total":3,"mailboxes":["apiexmailbox36","apiexmailbox66","apiexmailbox85"]}
  
==== Show ====
+
 
 +
=== Show ===
  
 
''URL'':
 
''URL'':
  <nowiki>[GET] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(mailbox name)/activesyncmobileservice</nowiki>
 
         /ex/mailboxes/(mailbox name)/activesyncmobileservice</nowiki>
  
Line 679: Line 678:
 
''Remarks'':
 
''Remarks'':
  
The index operation only supports the GET HTTP verb.
+
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]
  
  
Line 718: Line 717:
 
|}
 
|}
  
==== Add ====
+
=== Add ===
  
 
''URL'':
 
''URL'':
  <nowiki>[POST] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
         /ex/mailboxes/(mailbox name)/activesyncmobileservice</nowiki>
 
         /ex/mailboxes/(mailbox name)/activesyncmobileservice</nowiki>
  
Line 749: Line 748:
  
  
==== Delete ====
+
=== Delete ===
  
 
''URL'':
 
''URL'':
  <nowiki>[DELETE] https://api.emailsrvr.com/v1/customers/(customer account number)/domains/(domain name)
+
  <nowiki>[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
 
             /ex/mailboxes/(mailbox name)/activesyncmobileservice</nowiki>
 
             /ex/mailboxes/(mailbox name)/activesyncmobileservice</nowiki>
  

Revision as of 14:37, 9 January 2017


Index

URL:

[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes


Description:

Shows a list of mailboxes under the domain


Filter/Search:

Mailbox searches may be filtered by the 'enabled' flag using query methods ?enabled=true and ?enabled=false.


Remarks:

The show operation only supports the GET HTTP verb. For .xml format refer to the following schema document: MailboxList.xsd


Example:

get '/customers/12345678/domains/example.com/ex/mailboxes', 'text/xml'


XML Result Example:

<?xml version="1.0" encoding="utf-8"?>
<mailboxList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:mailboxList">
  <offset>0</offset>
  <size>50</size>
  <total>3</total>
  <mailboxes>
    <mailbox>
      <name>apiexmailbox55</name>
      <displayName>API Test</displayName>
    </mailbox>
    <mailbox>
      <name>apiexmailbox6</name>
      <displayName>API Test</displayName>
    </mailbox>
    <mailbox>
      <name>apiexmailbox90</name>
      <displayName>API Test</displayName>
    </mailbox>
  </mailboxes>
</mailboxList>


Json Result Example:

{"offset":0,"size":50,"total":3,"mailboxes":[{"name":"apiexmailbox55","displayName":"API Test"},{"name":"apiexmailbox6","displayName":"API Test"},{"name":"apiexmailbox90","displayName":"API Test"}]}


Custom Fields:

The result displays each mailbox's 'name' and 'displayName' as default. There is a query string 'fields' that allows the result to display more mailbox properties. The additional properties are: 'size', 'currentUsage', 'hasBlackBerryMobileService', 'hasActiveSyncMobileService'.


Example:

get '/customers/12345678/domains/example.com/ex/mailboxes?fields=size,currentUsage', 'text/xml'


Show

URL:

[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(mailbox name)


Description:

The show operation will return detailed information about the specified mailbox.


Remarks:

The show operation only supports the GET HTTP verb. For .xml format refer to the following schema document: Mailbox.xsd

The "samAccountName" is the logon name used to support clients and servers running older versions of the operating system.


Example:

get '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml'


XML Result Example:

<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<mailbox xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:mailbox">
  <name>apiexmailbox90</name>
  <displayName>API Test</displayName>
  <size>2048</size>
  <currentUsage>0</currentUsage>
  <isHidden>false</isHidden>
  <visibleInRackspaceEmailCompanyDirectory>false</visibleInRackspaceEmailCompanyDirectory>
  <isPublicFolderAdmin>true</isPublicFolderAdmin>
  <enabled>true</enabled>
  <lastLogin>2/12/2010 1:00:00 AM</lastLogin>
  <contactInfo>
    <firstName>API</firstName>
    <lastName>Test</lastName>
    <jobTitle>Dev</jobTitle>
    <company>My Company</company>
    <department>R&D</department>
    <businessNumber>111-1111</businessNumber>
    <homeNumber>222-2222</homeNumber>
    <mobileNumber>333-3333</mobileNumber>
    <faxNumber>444-4444</faxNumber>
    <pagerNumber>1234</pagerNumber>
    <addressLine1>123 Main Street</addressLine1>
    <city>Blacksburg</city>
    <state>VA</state>
    <zip>24060</zip>
    <country>USA</country>
    <notes>My Notes</notes>
  </contactInfo>
  <emailForwardingAddress>apiexmailbox8@apidomain24.com</emailForwardingAddress>
  <emailAddressList>
    <emailAddress>
      <address>apiexmailbox90@apidomain92.com</address>
      <replyTo>true</replyTo>
    </emailAddress>
  </emailAddressList>
  <hasBlackBerryMobileService>false</hasBlackBerryMobileService>
  <hasActiveSyncMobileService>false</hasActiveSyncMobileService>
  <samAccountName>apiexmailbox90_53B5B</samAccountName>
</mailbox>


Json Result Example:

{"name":"apiexmailbox90", "displayName":"API Test", "size":2048, "currentUsage":0, "isHidden":false, "isPublicFolderAdmin":true, "enabled":true, "lastLogin":"2\/12\/2006 1:00:00 AM", "contactInfo":{"firstName":"API", "lastName":"Test", "jobTitle":"Dev", "company":"My Company", "department":"R&D", "businessNumber":"111-1111", "homeNumber":"222-2222", "mobileNumber":"333-3333", "faxNumber":"444-4444", "pagerNumber":"1234", "addressLine1":"123 Main Street", "city":"Blacksburg", "state":"VA", "zip":"24060", "country":"USA", "notes":"My Notes"}, "emailForwardingAddress":"apiexmailbox8@apidomain24.com", "emailAddressList":[{"address":"apiexmailbox90@apidomain92.com", "replyTo":true}], "hasBlackBerryMobileService":false, "hasActiveSyncMobileService":false, "samAccountName":"apiexmailbox90_53B5B", "visibleInRackspaceEmailCompanyDirectory":false}


Add/Edit

URL:

Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(mailbox name)
Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(mailbox name)


Description:

Adds/edits a mailbox using the specified form fields. All required fields must be supplied when adding. Other fields may be omitted.


Field Name Data Type Description
displayName string Display name (Required for Add)
password string Password (Required for Add)
size positive integer Mailbox size in megabytes (Required for Add)
isHidden boolean Indicates whether or not the mailbox is hidden from the Global Address List
isPublicFolderAdmin boolean Indicates whether or not the account is a public folder administrator
firstName string First name
lastName string Last name
company string Company
department string Department
jobTitle string Job title
addressLine1 string Street address
city string City
state string State
zip string Zip or postal code
country string Country
businessNumber string Business phone number
pagerNumber string Pager phone number
homeNumber string Home phone number
mobileNumber string Mobile phone number
faxNumber string Fax phone number
notes string Notes field
emailForwardingAddress string 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.)
visibleInRackspaceEmailCompanyDirectory boolean Flag indicating whether the mailbox is visible in the company directory
enabled boolean Enable/Disable mailbox, input must be "true" or "false"
lastLogin (read only) string Date of last login, EST Time (in string format)


Example:

post '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml', 
{ 
  'displayName' => 'Alex Smith',
  'password' => 'Secret123!@#',
  'size' => '2048'
} 
put '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml',
{ 
  'homeNumber' => '8005551234'
}  


Errors:

Description HTTP Response Code Sample Message
New mailbox name (user name) doesn't meet the naming requirements 400 Invalid user name
New mailbox display name doesn't meet the naming requirements 400 Invalid display name
New mailbox password doesn't meet the password pattern requirements 400 Password must be at least 8 characters long
New mailbox name (user name) already exists 400 The email address john.doe@abc.com is already in use

Delete

URL:

[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
            /ex/mailboxes/(mailbox name)


Description:

Deletes the mailbox.


Remarks:

The mailbox and mailbox contents are deleted permanently.


Example:

delete '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith', 'text/xml'


Add Email Address

URL:

[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(mailbox name)/emailaddresses/(email address)


Description:

Adds a mailbox's email address.


Example:

post '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/emailaddresses/alex@example.com', {}, 'text/xml'

Delete Email Address

URL:

[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
            /ex/mailboxes/(mailbox name)/emailaddresses/(email address)


Description:

Deletes the email address.


Remarks:

The operation will fail if the email address does not exist.


Example:

delete '/customers/12345678/domains/example.com/ex/mailboxes/alex.smith/emailaddresses/alex@example.com', 'text/xml'


Spam Settings

See Exchange Mailbox Spam Settings.


Mailbox Permissions

Exchange mailboxes can be given permissions. A permission is defined as a tuple (mailbox, permissionType).

permissionType:= (SendAs | FullAccess | Both)

Index Permissions

URL:

[GET] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(user)/permissions

Description:

Shows the current set of permissions granted on a user's mailbox.

Example:

get '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions', 'text/xml'

XML Result Example:

<?xml version="1.0" encoding="utf-8"?>
<permissionList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:permissionList">
  <offset>0</offset>
  <size>50</size>
  <total>0</total>
  <permissions>
    <permission>
      <emailAddress>joe.schmoe@enterpriseallservices.net</emailAddress>
      <permissionType>fullAccess</permissionType>
    </permission>
  </permissions>
</permissionList>

Json Result Example:

{"offset":0,"size":50,"total":0,"permissions":[{"emailAddress":"joe.schmoe@enterpriseallservices.net","permissionType":"fullAccess"}]}

Comments: The above result shows the permission list for user Jane Doe's mailbox. The list contains one entry corresponding to that of user Joe Schmoe with permission type of "FullAccess".

Adding Permission

URL:

[POST] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(user1)/permissions/(user2)

Description:

Grants user2 the specified permission on mailbox of user1.

Field Name Data Type Description
permission string permissionType (Required)

Example:

post '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', {'permission' => 'fullAccess'}, 'text/xml'

Comments: The above result shows that on the mailbox of user Jane Doe, the user John Doe has been granted the permission of type "fullAccess".

Editing Permission

URL:

[PUT] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(user1)/permissions/(user2)

Description:

Modifies permission granted to user2 on the mailbox of user1.

Field Name Data Type Description
permission string permissionType (Required)

Example:

put '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', 
{'permission' => 'both'}, 'text/xml'

Comments: The permission granted to user John Doe on the mailbox of Jane Doe is modified to "both".

Deleting Permission

URL:

[DELETE] http://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(user1)/permissions/(user2)

Description:

Deletes permission granted to user2 on the mailbox of user1.

Example:

delete '/customers/100012/domains/enterpriseallservices.net/ex/mailboxes/jane.doe/permissions/john.doe', 'text/xml'

Comments: The permission granted to user John Doe on the mailbox of Jane Doe is deleted.

BlackBerry Mobile Service

Index

URL:

[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/blackberrymobileservices


Description:

Returns a list of mailboxes that has BlackBerry mobile service enabled.


Remarks:

The index operation only supports the GET HTTP verb. For .xml format refer to the following schema document: BlackberryMobileServiceList.xsd


Example:

get '/customers/12345678/domains/example.com/ex/blackberrymobileservices', 'text/xml'


XML Result Example:

<?xml version="1.0" encoding="utf-8"?>
<blackBerryMobileServiceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns="urn:xml:blackBerryMobileServiceList">
  <offset>0</offset>
  <size>50</size>
  <total>3</total>
  <mailboxes>
    <mailbox>apiexmailbox36</mailbox>
    <mailbox>apiexmailbox66</mailbox>
    <mailbox>apiexmailbox85</mailbox>
  </mailboxes>
</blackBerryMobileServiceList>


Json Result Example:

{"offset":0,"size":50,"total":3,"mailboxes":["apiexmailbox36","apiexmailbox66","apiexmailbox85"]}


Add

URL:

[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(mailbox name)/blackberrymobileservice


Description:

Attaches a BlackBerry mobile service to the mailbox.


Field Name Data Type Description
activationPassword string Activation password (Required)


Example:

post '/customers/12345678/domains/example.com/ex/mailboxes/john.smith/blackberrymobileservice', 'text/xml',
{
  'activationPassword' => '12345'
}


Errors:

Description HTTP Response Code Sample Message
Mailbox already has BlackBerry Service 400 User john.smith@example.com has BlackBerry Mobile Service already


Delete

URL:

[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
            /ex/mailboxes/(mailbox name)/blackberrymobileservice


Description:

Detaches a BlackBerry mobile service from a mailbox.


Example:

delete '/customers/12345678/domains/example.com/ex/mailboxes/john.smith/blackberrymobileservice', 'text/xml'


ActiveSync Mobile Service

Index

URL:

[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/activesyncmobileservices


Description:

Returns a list of mailboxes that have ActiveSync mobile service enabled.


Remarks:

The index operation only supports the GET HTTP verb. For .xml format refer to the following schema document: ActiveSyncMobileServiceList.xsd


Example:

get '/customers/12345678/domains/example.com/ex/activesyncmobileservices', 'text/xml'


XML Result Example:

<?xml version="1.0" encoding="utf-8"?>
<activeSyncMobileServiceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns="urn:xml:activeSyncMobileServiceList">
  <offset>0</offset>
  <size>50</size>
  <total>3</total>
  <mailboxes>
    <mailbox>apiexmailbox36</mailbox>
    <mailbox>apiexmailbox66</mailbox>
    <mailbox>apiexmailbox85</mailbox>
  </mailboxes>
</activeSyncMobileServiceList>


Json Result Example:

{"offset":0,"size":50,"total":3,"mailboxes":["apiexmailbox36","apiexmailbox66","apiexmailbox85"]}


Show

URL:

[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(mailbox name)/activesyncmobileservice


Description:

Returns the mailbox ActiveSync mobile service setup information to access Hosted Exchange 2007.


Remarks:

The index operation only supports the GET HTTP verb. For .xml format, refer to the following schema document: ActiveSyncMobileService.xsd


Example:

get '/customers/12345678/domains/example.com/ex/mailboxes/john.smith/activesyncmobileservice', 'text/xml'


XML Result Example:

<?xml version="1.0" encoding="utf-8"?>
<activeSyncMobileService xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:activeSyncMobileService">
  <emailAddress>john.smith@example.com</emailAddress>
  <serverAddress>mex07A.emailsrvr.com</serverAddress>
  <userName>johnsmith1234</userName>
  <domainAddress>mex07A.mlsrvr.com</domainAddress>
</activeSyncMobileService>


Json Result Example:

{"emailAddress":"john.smith@example.com","serverAddress":"mex07A.emailsrvr.com","userName":"johnsmith1234","domainAddress":"mex07A.mlsrvr.com"}


Errors:

Description HTTP Response Code Sample Message
Mailbox has no ActiveSync service 404 User john.smith@example.com has no active ActiveSync Mobile Service.

Add

URL:

[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
        /ex/mailboxes/(mailbox name)/activesyncmobileservice


Description:

Attaches a ActiveSync service to the mailbox.


Example:

post '/customers/12345678/domains/example.com/ex/mailboxes/john.smith/activesyncmobileservice', 'text/xml', {}


Errors:

Description HTTP Response Code Sample Message
Mailbox already has ActiveSync Service 400 User john.smith@example.com has ActiveSync Mobile Service already


Delete

URL:

[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name)
            /ex/mailboxes/(mailbox name)/activesyncmobileservice


Description:

Detaches a ActiveSync mobile service from a mailbox.


Example:

delete '/customers/12345678/domains/example.com/ex/mailboxes/john.smith/activesyncmobileservice', 'text/xml'