http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Public_Folders_(Rest_API)&feed=atom&action=history
Exchange Public Folders (Rest API) - Revision history
2024-03-29T15:06:21Z
Revision history for this page on the wiki
MediaWiki 1.29.1
http://api-wiki.apps.rackspace.com/api-wiki/index.php?title=Exchange_Public_Folders_(Rest_API)&diff=582&oldid=prev
Appscp: Created page with '== v2 - Current== This resource supports enabling, adding, updating and removing public folders on a specified domain with both XML and JSON. === Data Model === ==== Public Fo…'
2015-01-21T23:22:28Z
<p>Created page with '== v2 - Current== This resource supports enabling, adding, updating and removing public folders on a specified domain with both XML and JSON. === Data Model === ==== Public Fo…'</p>
<p><b>New page</b></p><div>== v2 - Current==<br />
<br />
This resource supports enabling, adding, updating and removing public folders on a specified domain with both XML and JSON. <br />
=== Data Model ===<br />
<br />
==== Public Folder Domain Settings ====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| Enabled<br />
| Boolean<br />
| GET<br />
| True if public folders are enabled, false otherwise<br />
|-<br />
| [[Exchange_Public_Folders_(Rest_API)#Limits | Limits]]<br />
| Object<br />
| GET<br />
| Object containing information about the maximum number of public folders allowed on the domain<br />
|-<br />
| [[Exchange_Public_Folders_(Rest_API)#Usage | Usage]]<br />
| Object<br />
| GET<br />
| Object containing information about the current number of public folders provisioned on the domain<br />
|}<br />
<br />
===== Limits =====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| MaxFolderCount<br />
| Integer<br />
| GET<br />
| Maximum number of public folders allowed on the domain<br />
|-<br />
| MaxFolderStorageSize<br />
| [[Exchange_Public_Folders_(Rest_API)#Size | Size]]<br />
| GET<br />
| Object containing information about the maximum storage size of public folders allowed on the domain<br />
|}<br />
<br />
===== Usage =====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| CurrentFolderCount<br />
| Integer<br />
| GET<br />
| Number of public folders provisioned on the domain<br />
|}<br />
<br />
==== Public Folder ====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| Id*<br />
| String<br />
| GET<br />
| Exchange identifier for and individual public folder.<br />
|-<br />
| Name<br />
| String<br />
| GET, POST, PUT<br />
| Public folder name<br />
|-<br />
| Path<br />
| String<br />
| GET<br />
| Path to public folder<br />
|-<br />
| ParentId<br />
| String<br />
| GET, POST, PUT<br />
| Exchange identifier of the parent public folder<br />
|-<br />
| ParentPath<br />
| String<br />
| GET<br />
| Path of the parent public folder<br />
|-<br />
| HasChildren<br />
| Boolean<br />
| GET<br />
| True if the public folder has child folders, false otherwise<br />
|-<br />
| Type<br />
| String<br />
| GET, POST<br />
| Type of public folder (Calendar, Contacts, Mail, Note, Task)<br />
|-<br />
| MailEnabled<br />
| Boolean<br />
| GET, POST, PUT<br />
| True if the public folder is mail enabled, false otherwise<br />
|-<br />
| [[Exchange_Public_Folders_(Rest_API)#Mail_Data | MailData]]<br />
| Object<br />
| GET, POST, PUT<br />
| Object containing mail information about a mail enabled public folder. This field is only included for mail enabled public folders.<br />
|-<br />
| [[Exchange_Public_Folders_(Rest_API)#Usage_Statistics | UsageStatistics]]<br />
| Object<br />
| GET<br />
| Object containing usage statistics about a public folder<br />
|-<br />
| [[Exchange_Public_Folders_(Rest_API)#Status | Status]]<br />
| Object<br />
| GET<br />
| Status of a public folder.<br />
|}<br />
<br />
<nowiki>*</nowiki>Various operations on a public folder can cause the Id to change over time.<br />
<br />
===== Mail Data =====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| DisplayName<br />
| String<br />
| GET, POST, PUT<br />
| Display name of mail enabled public folder<br />
|-<br />
| PrimarySmtpAddress<br />
| String<br />
| GET<br />
| Primary SMTP address of mail enabled public folder<br />
|-<br />
| HiddenFromAddressLists<br />
| Boolean<br />
| GET, POST, PUT<br />
| True if mail enabled public folder should be hidden from address lists, false otherwise<br />
|-<br />
| CreationTime<br />
| String<br />
| GET<br />
| Date and time public folder was mail enabled formatted as ISO 8601<br />
|-<br />
| LastModificationTime<br />
| String<br />
| GET<br />
| Date and time public folder mail data was last modified formatted as ISO 8601<br />
|-<br />
| Addresses<br />
| Array of [[Exchange_Public_Folders_(Rest_API)#Address | Addresses]]<br />
| PUT, POST<br />
| Array of address objects used to add or remove email addresses to a mail enabled public folder<br />
|}<br />
<br />
====== Address ======<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| Address<br />
| String<br />
| GET, POST, PUT<br />
| Full email address being added or removed<br />
|-<br />
| Protocol<br />
| String<br />
| GET, POST, PUT<br />
| Email protocol to be used. Note: Currently only supports smtp.<br />
|-<br />
| Primary<br />
| Boolean<br />
| GET, POST, PUT<br />
| True should be set as primary email address, false otherwise. Note: Mail enabled public folders must have always have one primary address set at all times.<br />
|-<br />
| Action<br />
| String<br />
| PUT<br />
| Specifies what action to perform on a given email address. Options are add, update or remove.<br />
|}<br />
<br />
===== Usage Statistics =====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| CreationTime<br />
| String<br />
| GET<br />
| Date and time public folder was created formatted as ISO 8601<br />
|-<br />
| LastModificationTime<br />
| String<br />
| GET<br />
| Date and time public folder was last modified formatted as ISO 8601<br />
|-<br />
| TotalItemSize<br />
| [[Exchange_Public_Folders_(Rest_API)#Size | Size]]<br />
| GET<br />
| Object containing the total size of all items stored for the public folder<br />
|-<br />
| ItemCount<br />
| Integer<br />
| GET<br />
| Total number of child folders for the public folder<br />
|}<br />
<br />
===== Status =====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| State**<br />
| String<br />
| GET<br />
| Status of a public folder. Can be ready, pending or error.<br />
|-<br />
| Operation<br />
| String<br />
| GET<br />
| Represents the operation type that failed (create, update, delete). This field only applies to an Error status.<br />
|-<br />
| RequestId<br />
| String<br />
| GET<br />
| Represents the request id of the operation that failed. This field only applies to an Error status.<br />
|}<br />
<br />
<nowiki>**</nowiki>States<br />
* A '''ready''' state means that there are no scheduled operations for the object. <br/><br />
* A '''pending''' state signifies the object is being modified. A public folder cannot be updated or deleted while it is in a pending state.<br/><br />
* An '''error''' state represents that there was a problem with the previous operation. To clear an error, delete the related request using the RequestId field included in the Status object utilizing the [[#Delete_2 | Delete Public Folder Request]] route. Error information is only available for a short period time and will eventually be cleared resulting in the public folder returning to a ready state. Also note, that a public folder in an error state is still a fully functioning public folder that can be updated and deleted.<br />
<br />
----<br />
<br />
==== Exchange Response ====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| StatusCode<br />
| Integer<br />
| GET<br />
| API response code of the related request<br />
|-<br />
| StatusToken<br />
| String<br />
| GET<br />
| Unique token used to monitor the progress of an API request<br />
|}<br />
<br />
----<br />
<br />
==== Exchange Request ====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| Id<br />
| Integer<br />
| GET<br />
| Unique identifier representing a request<br />
|-<br />
| Status<br />
| String<br />
| GET<br />
| Current status of the request. Can be ready, pending or error.<br />
|-<br />
| Operation<br />
| String<br />
| GET<br />
| Represents the operation type that failed (create, update, delete)<br />
|-<br />
| LastModified<br />
| String<br />
| GET<br />
| Date and time request was last updated<br />
|-<br />
| [[Exchange_Public_Folders_(Rest_API)#Target | Target]]<br />
| Object<br />
| GET<br />
| An object representing details about the public folder being interacted with<br />
|-<br />
| Request<br />
| Object<br />
| GET<br />
| A copy of the data sent with the original request<br />
|-<br />
| [[Exchange_Public_Folders_(Rest_API)#Error | Error]]<br />
| Object<br />
| GET<br />
| An object representing error details about the request. This object only exists when the request is in an error state.<br />
|}<br />
<br />
===== Target =====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| Id<br />
| Integer<br />
| GET<br />
| Represents the Id of the public folder being altered for the request<br />
|-<br />
| Type<br />
| String<br />
| GET<br />
| Represents the type of request<br />
|}<br />
<br />
===== Error =====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| StatusCode<br />
| Integer<br />
| GET<br />
| The API response code of the request in error<br />
|-<br />
| Message<br />
| String<br />
| GET<br />
| Details about the errored request<br />
|}<br />
<br />
==== Size Model ====<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Data Type''<br />
!''Verbs''<br />
!''Description''<br />
|-<br />
| Value<br />
| Integer<br />
| GET<br />
| Numerical value <br />
|-<br />
| Unit<br />
| String<br />
| GET<br />
| Unit of measure<br />
|}<br />
<br />
----<br />
<br />
=== Read Domain Settings ===<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| GET<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/publicFolders/<br />
|-<br />
! Description<br />
| Returns domain level settings for public folders on the domain.<br />
|-<br />
! Model<br />
| [[#Public_Folder_Domain_Settings|Domain Settings]]<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 200 OK<br />
| The information was successfully retrieved and Public Folders are currently enabled on the domain.<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist or the domain does not have Exchange. Inspect the <tt>itemNotFondFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
GET https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders<br />
<br />
Response:<br />
200 OK<br />
{<br />
"Enabled": true,<br />
"Limits": {<br />
"MaxFolderCount": 25,<br />
"MaxFolderStorageSize": {<br />
"Value": 250,<br />
"Unit": "MB"<br />
}<br />
},<br />
"Usage": {<br />
"CurrentFolderCount": 19<br />
}<br />
}<br />
</pre><br />
<br />
----<br />
<br />
=== Enable (JSON Only) ===<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| POST<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/publicFolders<br />
|-<br />
! Description<br />
| Use this route to enable public folders for the specified domain. <br />
|-<br />
! Note<br />
| To enabled public folders on the domain, the body of the request must contain an empty JSON object. This route does not support XML.<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 202 Accepted<br />
| The request has been accepted and will be processed.<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist or the domain does not have Exchange. Inspect the <tt>itemNotFondFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
GET https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders<br />
{}<br />
<br />
Response:<br />
202 Accepted<br />
{<br />
"StatusCode": 202,<br />
"StatusToken": "54b9561a2c50b41e0833b437"<br />
}<br />
</pre><br />
<br />
----<br />
<br />
=== Create ===<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| POST<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/publicFolders<br />
|-<br />
! Description<br />
| Use this route to create a public folder.<br />
|-<br />
! Note<br />
| Newly created public folders will not show up in the child listing until they are fully provisioned.<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 202 Accepted<br />
| The request has been accepted and will be processed.<br />
|-<br />
| 400 Bad Request<br />
| The request has is not formatted correctly or missing required information. Inspect the <tt>validationFault</tt> response for more detail.<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist or the domain does not have Exchange. Inspect the <tt>itemNotFondFault</tt> for more detail.<br />
|-<br />
| 409 Conflict<br />
| Duplicated creation request. Inspect the <tt>conflictFault</tt> response for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
POST https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders<br />
{<br />
"Name" : "Mail Enabled Test Folder",<br />
"ParentId" : "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2",<br />
"Type" : "mail",<br />
"MailEnabled" : true,<br />
"MailData" : {<br />
"DisplayName" : "Mail Enabled Test Folder",<br />
"HiddenFromAddressLists" : false,<br />
"Addresses": [<br />
{<br />
"Address": "mailenabledtestfolder@example.com",<br />
"Protocol": "smtp",<br />
"Primary": true<br />
}<br />
]<br />
}<br />
}<br />
<br />
Response:<br />
202 Accepted<br />
{<br />
"StatusCode": 202,<br />
"StatusToken": "54b9561a2c50b41e0833b437"<br />
}<br />
</pre><br />
<br />
----<br />
<br />
=== Read ===<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| GET<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/publicFolders/{public_folder_id}<br />
|-<br />
! Description<br />
| Use this route to get information about a public folder.<br />
|-<br />
! Model<br />
| [[#Public_Folder|Public Folder]]<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 200 OK<br />
| Returns a public folder.<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist, the domain does not have Exchange or the request public folder does not exist. Inspect the <tt>itemNotFondFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
GET https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders/AQEuAAAD6HpX-1SJxU-_bhN3jiR1fAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2jgAAAA2<br />
<br />
Response:<br />
200 OK<br />
{<br />
"Id": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2jgAAAA2",<br />
"Name": "Mail Enabled Test Folder",<br />
"Path": "/Parent Folder/Mail Enabled Test Folder/",<br />
"ParentId": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2",<br />
"ParentPath": "/",<br />
"HasChildren": false,<br />
"Type": "mail",<br />
"MailEnabled": true,<br />
"MailData": {<br />
"DisplayName": "Mail Enabled Test Folder",<br />
"PrimarySmtpAddress": "mailenabledtestfolder@example.com",<br />
"HiddenFromAddressLists": false,<br />
"CreationTime": "2015-01-17T00:35:42Z",<br />
"LastModificationTime": "2015-01-17T00:36:44Z"<br />
},<br />
"UsageStatistics": {<br />
"CreationTime": "2015-01-16T18:35:33Z",<br />
"LastModificationTime": "2015-01-16T19:36:28Z",<br />
"TotalItemSize": {<br />
"Value": 0,<br />
"Unit": "MB"<br />
},<br />
"ItemCount": 0<br />
},<br />
"Status": {<br />
"State": "error",<br />
"Operation": "update",<br />
"RequestId": "54ad74692c50b41ffcaa418d"<br />
}<br />
}<br />
</pre><br />
<br />
----<br />
<br />
=== List Public Folder Children ===<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| GET<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/publicFolders/{public_folder_id}/children<br />
|-<br />
! Description<br />
| Use this route to list child folders.<br />
|-<br />
! Model<br />
| [[#Public_Folder|Public Folder]] Listing<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 200 OK<br />
| Returns a list of public folder children<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist or the domain does not have Exchange. Inspect the <tt>itemNotFoundFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
GET https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders/AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2/children<br />
<br />
Response:<br />
200 OK<br />
{<br />
"Sort": "asc",<br />
"Offset": 0,<br />
"Size": 50,<br />
"Total": 3,<br />
"Items": [<br />
{<br />
"Id": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2kAAAAA2",<br />
"Name": "Child Folder 1",<br />
"Path": "/Folder 1/Mail Enabled Test Folder/Child Folder 1/",<br />
"ParentId": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2jgAAAA2",<br />
"ParentPath": "/Folder 1/Mail Enabled Test Folder/",<br />
"HasChildren": false,<br />
"Type": "mail",<br />
"MailEnabled": false,<br />
"UsageStatistics": {<br />
"CreationTime": "2015-01-16T21:56:56Z",<br />
"LastModificationTime": "2015-01-16T21:56:56Z",<br />
"TotalItemSize": {<br />
"Value": 0,<br />
"Unit": "MB"<br />
},<br />
"ItemCount": 0<br />
},<br />
"Status": {<br />
"State": "ready"<br />
}<br />
},<br />
{<br />
"Id": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2lAAAAA2",<br />
"Name": "Child Folder 3",<br />
"Path": "/Folder 1/Mail Enabled Test Folder/Child Folder 3/",<br />
"ParentId": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2jgAAAA2",<br />
"ParentPath": "/Folder 1/Mail Enabled Test Folder/",<br />
"HasChildren": false,<br />
"Type": "calendar",<br />
"MailEnabled": false,<br />
"UsageStatistics": {<br />
"CreationTime": "2015-01-16T21:57:50Z",<br />
"LastModificationTime": "2015-01-16T21:57:50Z",<br />
"TotalItemSize": {<br />
"Value": 0,<br />
"Unit": "MB"<br />
},<br />
"ItemCount": 0<br />
},<br />
"Status": {<br />
"State": "ready"<br />
}<br />
},<br />
{<br />
"Id": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2kgAAAA2",<br />
"Name": "Mail Enabled Child Folder 2",<br />
"Path": "/Folder 1/Mail Enabled Test Folder/Mail Enabled Child Folder 2/",<br />
"ParentId": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2jgAAAA2",<br />
"ParentPath": "/Folder 1/Mail Enabled Test Folder/",<br />
"HasChildren": false,<br />
"Type": "mail",<br />
"MailEnabled": true,<br />
"MailData": {<br />
"DisplayName": "Mail Enabled Child Folder 2",<br />
"PrimarySmtpAddress": "child3@example.com",<br />
"HiddenFromAddressLists": true,<br />
"CreationTime": "2015-01-17T03:57:25Z",<br />
"LastModificationTime": "2015-01-17T03:57:54Z"<br />
},<br />
"UsageStatistics": {<br />
"CreationTime": "2015-01-16T21:57:20Z",<br />
"LastModificationTime": "2015-01-16T21:58:00Z",<br />
"TotalItemSize": {<br />
"Value": 0,<br />
"Unit": "MB"<br />
},<br />
"ItemCount": 0<br />
},<br />
"Status": {<br />
"State": "ready"<br />
}<br />
}<br />
]<br />
}<br />
</pre><br />
<br />
==== Public Folder Children Filtering ====<br />
<br />
''These fields are set as query parameters on the URL''<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Description''<br />
|-<br />
| Offset<br />
| Starting position of listing<br />
|-<br />
| Sort<br />
| Sort direction by public folder name.<br />
|-<br />
| Size<br />
| Maximum number of public folders to return<br />
|}<br />
<br />
----<br />
<br />
=== Update ===<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| PUT<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/publicFolders/{public_folder_id}<br />
|-<br />
! Description<br />
| Use this route to update a public folder.<br />
|-<br />
! Model<br />
| [[#Public_Folder|Public Folder]]<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 202 Accepted<br />
| The request has been accepted and will be processed.<br />
|-<br />
| 400 Bad Request<br />
| The request was invalid. Inspect the <tt>validationFault</tt> response for more detail.<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist or the domain does not have Exchange. Inspect the <tt>itemNotFondFault</tt> for more detail.<br />
|-<br />
| 409 Conflict<br />
| There are existing pending requests for the public folder. Inspect the <tt>conflictFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
PUT https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders/AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2<br />
{<br />
"Name" : "Mail Enabled Test Folder",<br />
"ParentId" : "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABcUVv_AAAAA2",<br />
"MailData" : {<br />
"DisplayName" : "Change Display Name",<br />
"HiddenFromAddressLists" : true,<br />
"Addresses": [<br />
{<br />
"Address": "mailenabledtestfolder@example.com",<br />
"Protocol": "smtp",<br />
"Primary": false,<br />
"Action": "Remove"<br />
},<br />
{<br />
"Address": "changed_display_name@example.com",<br />
"Protocol": "smtp",<br />
"Primary": true,<br />
"Action": "Add"<br />
}<br />
]<br />
}<br />
} <br />
<br />
Response:<br />
202 Accepted<br />
{<br />
"StatusCode": 202,<br />
"StatusToken": "54b9561a2c50b41e0833b437"<br />
}<br />
</pre><br />
<br />
==== Move ====<br />
* Set the public folders ParentId to the Id of the new parent.<br />
<br />
<pre><br />
PUT https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders/AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2<br />
{<br />
"ParentId" : "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABcUVv_AAAAA2"<br />
}<br />
</pre><br />
<br />
==== Mail Enable ====<br />
* Set the MailEnabled property to true and include the MailData property information. There must be at least one email address included and one email address set as the primary.<br />
<br />
<pre><br />
PUT https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders/AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2<br />
{<br />
"MailEnabled" : true,<br />
"MailData" : {<br />
"DisplayName" : "Some Display Name",<br />
"HiddenFromAddressLists" : true,<br />
"Addresses": [<br />
{<br />
"Address": "mailenabledtestfolder@example.com",<br />
"Protocol": "smtp",<br />
"Primary": true<br />
}<br />
]<br />
}<br />
} <br />
</pre><br />
<br />
==== Mail Disable ====<br />
* Set the MailEnabled property to false.<br />
<pre><br />
PUT https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders/AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2<br />
{<br />
"MailEnabled" : false<br />
} <br />
</pre><br />
<br />
==== Adding/Removing Email Addresses ====<br />
* To add or remove email addresses for a public folder, set the Action to Add or Remove.<br />
* If removing the primary email address, a new primary email address must be added as part of the same request.<br />
* Only email addresses on the primary domain or domain aliases are allowed.<br />
<br />
<pre><br />
Request:<br />
PUT https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders/AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2<br />
{<br />
"MailData" : {<br />
"Addresses": [<br />
{<br />
"Address": "mailenabledtestfolder@example.com",<br />
"Protocol": "smtp",<br />
"Primary": false,<br />
"Action": "Remove"<br />
},<br />
{<br />
"Address": "other@example.com",<br />
"Protocol": "smtp",<br />
"Primary": true,<br />
"Action": "Add"<br />
}<br />
]<br />
}<br />
} <br />
</pre><br />
----<br />
<br />
=== Delete ===<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| DELETE<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/publicFolders/{public_folder_id}<br />
|-<br />
! Description<br />
| Use this route to delete a public folder.<br />
|-<br />
! Model<br />
| [[#Public_Folder|Public Folder]]<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 202 Accepted<br />
| The request has been accepted and will be processed.<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist or the domain does not have Exchange. Inspect the <tt>itemNotFoundFault</tt> for more detail.<br />
|-<br />
| 409 Conflict<br />
| A request already exists to delete the public folder. Inspect the <tt>conflictFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
DELETE https://api.emailsrvr.com/v2/domains/example.com/ex/publicFolders/AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABgxHHlgAAAA2<br />
<br />
Response:<br />
202 Accepted<br />
{<br />
"StatusCode": 202,<br />
"StatusToken": "54b9561a2c50b41e0833b437"<br />
}<br />
</pre><br />
<br />
----<br />
<br />
=== Public Folder Requests ===<br />
<br />
==== Read ====<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| GET<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/requests/publicFolders/{request_id}<br />
|-<br />
! Description<br />
| Use this route to get a public folder request<br />
|-<br />
! Model<br />
| [[#Exchange_Request|Exchange Request]]<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 200 OK<br />
| Returns public folder request<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist, the domain does not have Exchange or the request id does not exist. Inspect the <tt>itemNotFoundFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
GET https://api.emailsrvr.com/v2/domains/example.com/ex/requests/publicFolders/54ad74692c50b41ffcaa418d<br />
<br />
Response:<br />
200 OK<br />
{<br />
"Id": "54ad74692c50b41ffcaa418d",<br />
"Status": "error",<br />
"Operation": "update",<br />
"LastModified": "2015-01-07T18:01:21Z",<br />
"Target": {<br />
"Id": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABcUVuOAAAAA2",<br />
"Type": "publicfolder"<br />
},<br />
"Request": {<br />
"id": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABcUVuOAAAAA2",<br />
"parentId": "AQEuAAAD1WUW8Zz97kKsRBRlco1SyAEAOLcEK87Q0Uaq-FAXzNm3JgABcUVv_AAAAA2"<br />
},<br />
"Error": {<br />
"StatusCode": 400,<br />
"Message": "Some error message."<br />
}<br />
}<br />
</pre><br />
<br />
----<br />
<br />
==== List ====<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| GET<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/requests/publicFolders<br />
|-<br />
! Description<br />
| Use this route to get a list public folder requests for a domain<br />
|-<br />
! Model<br />
| [[#Exchange_Request|Exchange Request]]<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 200 OK<br />
| Returns a list of public folder requests<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist or the domain does not have Exchange. Inspect the <tt>itemNotFoundFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
GET https://api.emailsrvr.com/v2/domains/example.com/ex/requests/publicFolders<br />
<br />
Response:<br />
200 OK<br />
{<br />
"Offset": 0,<br />
"Size": 100,<br />
"Total": 3,<br />
"Items": [<br />
{<br />
"Id": "54b989372c50b40db494f2cd",<br />
"Status": "completed",<br />
"Operation": "create",<br />
"LastModified": "2015-01-16T21:58:02Z",<br />
"Target": {<br />
"Id": "AQEuAAAD6HpX-1SJxU-_bhN3jiR1fAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2kgAAAA2",<br />
"Type": "publicfolder"<br />
}<br />
},<br />
{<br />
"Id": "54b989492c50b40db494f2ce",<br />
"Status": "completed",<br />
"Operation": "create",<br />
"LastModified": "2015-01-16T21:57:52Z",<br />
"Target": {<br />
"Id": "AQEuAAAD6HpX-1SJxU-_bhN3jiR1fAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2lAAAAA2",<br />
"Type": "publicfolder"<br />
}<br />
},<br />
{<br />
"Id": "54b989202c50b40db494f2cc",<br />
"Status": "completed",<br />
"Operation": "create",<br />
"LastModified": "2015-01-16T21:56:58Z",<br />
"Target": {<br />
"Id": "AQEuAAAD6HpX-1SJxU-_bhN3jiR1fAEAOLcEK87Q0Uaq-FAXzNm3JgABlUc2kAAAAA2",<br />
"Type": "publicfolder"<br />
}<br />
}<br />
]<br />
}<br />
</pre><br />
<br />
===== Public Folder Request Filtering =====<br />
<br />
''These fields are set as query parameters on the URL''<br />
<br />
{| class="wikitable"<br />
!''Field Name''<br />
!''Description''<br />
|-<br />
| Operation<br />
| Filter by operation (create, update, delete)<br />
|-<br />
| Status<br />
| Filter by status (completed, pending, error)<br />
|-<br />
| Offset<br />
| Starting position of listing<br />
|-<br />
| Size<br />
| Maximum number of public folders to return<br />
|}<br />
<br />
----<br />
<br />
==== Delete ====<br />
<br />
{| class="wikitable"<br />
! Verb<br />
| DELETE<br />
|-<br />
! URL Format<br />
| /v2/customers/{customer account number}/domains/{domain name}/ex/requests/publicFolders/{request_id}<br />
|-<br />
! Description<br />
| Use this route to delete a public folder request<br />
|}<br />
<br />
HTTP Codes<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Condition<br />
|-<br />
| 204 No Content<br />
| The request has been accepted and will be processed.<br />
|-<br />
| 404 Not Found<br />
| The domain does not exist, the domain does not have Exchange or the request id does not exist. Inspect the <tt>itemNotFoundFault</tt> for more detail.<br />
|}<br />
<br />
<pre><br />
Request:<br />
DELETE https://api.emailsrvr.com/v2/domains/example.com/ex/requests/publicFolders/54b9561a2c50b41e0833b437<br />
<br />
Response:<br />
204 No Content<br />
</pre><br />
<br />
----</div>
Appscp