Exchange Distribution List (Rest API)
Contents
v1 - Current
This resource supports submitting and responding with both XML and JSON. (The v0 method of submitting data via form URL-encoded variables is NOT supported in v1.)
Data Model
(See Serialization)
Distribution List
Operations:
This model extends Mailbox.
Field Name | Data Type | Verbs | Description |
---|---|---|---|
Description | String | GET, POST, PUT | A user-defined description of the list. |
MemberCount | Integer | GET | A number of members currently assigned to this list. |
PrimarySmtpAddress | String | GET | The external email address for this list. |
EmailAddresses | Email Address Array | POST, PUT | See examples below. |
Members | Members Object | POST, PUT | See examples below. |
ManagedBy | Managers Object | POST, PUT | See examples below. |
AcceptMessagesOnlyFrom | Senders Object | POST, PUT | See examples below. |
Email Addresses
Field Name | Data Type | Verbs | Description |
---|---|---|---|
Action | String | PUT | Must be 'Add', 'Update' or 'Remove' |
AddressPrimary | Boolean | GET, PUT | True if this is the primary email address. Only one email address can be primary |
AddressProtocol | String | GET, POST, PUT | Must be 'smtp' or 'x500'. The primary email address must be 'smtp' |
Value | String | GET, POST, PUT | The email address, including the domain (See example below) |
When creating a new mailbox you are allowed to configure alternate email addresses, however there are a few special considerations
Allowed Domains
- Primary Domain (specified in the url)
- Accepted Domains
Domain Aliases
- Each email address entry using the primary domain will result in a corresponding entry for each domain alias
- Example: Adding myalternate@primary.com will also add an entry for myalternate@alias1.com and myalternate@alias2.com
- Example: Removing myalternate@primary.com will also remove myalternate@alias1.com and myalternate@alias2.com
- Domain alias entries cannot be independently added or removed
Common Name Email Address
- The common name email address is the mailbox name and domain used in the url
- The common name email address cannot be removed
AddressPrimary (Reply-To)
- The primary address is automatically set based on the supplied CommonName when the mailbox is added
- An entry for CommonName@PrimaryDomain will be added to the email address list with AddressPrimary set to 'true'
- The primary address can be changed after the mailbox is created
- Changing the primary address does not change the name of the mailbox
- Deleting the primary address without setting another address as the primary address will result in the common name email address being reset as the primary address
Members
Field Name | Data Type | Description |
---|---|---|
Recipients | Recipient Array | Array of Recipient (see below). |
Managers
Field Name | Data Type | Description |
---|---|---|
Recipients | Recipient Array | Array of Recipient (see below). |
Senders
Field Name | Data Type | Description |
---|---|---|
All | String | Must be 'restricted' or 'public'. In order to add specific recipients, this must be 'restricted'. |
Recipients | Recipient Array | Array of Recipient (see below). |
Recipient
Field Name | Data Type | Verbs | Description |
---|---|---|---|
Value | String | GET, PUT | Email Address |
Action | String | PUT | Must be "Add" or "Remove". |
List
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/ |
Description | Lists Distribution Lists, supports exporting. (see Listings) |
Model | Distribution List Listing |
HTTP Codes
Code | Condition |
---|---|
200 OK | The listing was successfully retrieved. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the marker was not found. Inspect the itemNotFoundFault for more detail. |
Request: GET https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists Response: 200 OK { "DistributionLists": [ { "Description": "This is an example of an edited DL.", "MemberCount": 0, "CommonName": "exampledl", "DisplayName": "ExampleDL", "Alias": "exampledl.example.com", "IsHiddenFromAddressList": false, "PrimarySmtpAddress": "exampledl@example.com", "Status": "Ready", "LegacyExchangeDn": "/o=e14s/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=exampledl59c" } ], "Sort": "primarysmtpaddress", "Limit": 25, "Total": 1, "Order": "asc" }
Distribution List
POSTS, PUTS, and DELETES support Asynchronous Statuses and Asynchronous Errors.
Create
Verb | POST |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/ |
Description | Use this route to add a new Distribution List. |
Model | Distribution List |
HTTP Codes
Code | Condition |
---|---|
204 No Content | The request has been accepted and will be processed. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the marker was not found. Inspect the itemNotFoundFault for more detail. |
Request: POST: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists { "Description": "This is an example DL.", "CommonName": "ExampleDL", "DisplayName": "ExampleDL", "IsHiddenFromAddressList": false, "EmailAddresses": [ { "Action":"Add", "Value": "exampledl-alias@example.com", "AddressPrimary": false, "AddressProtocol": "smtp" } ], "Members": { "Recipients": [ { "Action":"Add", "Value":"mexuser1" }, { "Action":"Add", "Value":"mexuser2" } ] }, "ManagedBy": { "Recipients": [ { "Action":"Add", "Value":"mexuser1" }, { "Action":"Add", "Value":"mexuser2" } ] }, "AcceptMessagesOnlyFrom": { "All":"restricted", "Recipients": [ { "Action":"Add", "Value":"mexuser1" }, { "Action":"Add", "Value":"mexuser2" } ] } } Response: 204 No Content
Read
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/{common name} |
Description | Use this route to read an existing Distribution List. |
Model | Distribution List * |
* Note: The Distribution List resource contains some paged data that must be accessed via separate GET requests. Properties directly on the object can be accessed via a GET on the base resource, however Members, Senders, and Managers must each be retrieved by separate requests.
HTTP Codes
Code | Condition |
---|---|
200 OK | The resource was successfully retrieved. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the marker was not found. Inspect the itemNotFoundFault for more detail. |
Request: GET: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL Response: 200 OK { "Description": "This is an example DL.", "MemberCount": 2, "CommonName": "exampledl", "DisplayName": "Example DL", "Alias": "exampledl.example.com", "IsHiddenFromAddressList": false, "PrimarySmtpAddress": "exampledl@example.com", "Status": "Ready", "LegacyExchangeDn": "/o=e14s/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=exampledl59c" }
Update
Verb | PUT |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/{common name} |
Description | Updates an existing Distribution List. |
Model | Distribution List |
HTTP Codes
Code | Condition |
---|---|
204 No Content | The request has been accepted and will be processed. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the marker was not found. Inspect the itemNotFoundFault for more detail. |
All data that is part of the Exchange Distribution List resource can be updated in a single PUT request. Recipients, ManagedBy, and AcceptMessagesOnlyFrom must specify an Action, set to either Add or Remove, to specify the operation for that value. AcceptMessagesOnlyFrom also has an additional parameter All that can be set to restricted (to specify specific allowed senders) or public.
Request: PUT: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL { "Description": "This is an example of an edited DL.", "DisplayName": "ExampleDL", "IsHiddenFromAddressList": false, "EmailAddresses": [ { "Action":"remove", "Value": "exampledl-alias@example.com", "AddressPrimary": false, "AddressProtocol": "smtp" } ], "Members": { "Recipients": [ { "Action":"Remove", "Value":"mexuser1" }, { "Action":"Add", "Value":"mexuser3" } ] }, "ManagedBy": { "Recipients": [ { "Action":"Remove", "Value":"mexuser1" }, { "Action":"Add", "Value":"mexuser3" } ] }, "AcceptMessagesOnlyFrom": { "All":"restricted", "Recipients": [ { "Action":"Remove", "Value":"mexuser3" }, { "Action":"Add", "Value":"mexuser2" } ] } } Response: 204 No Content
Delete
Verb | DELETE |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionList/{common name} |
Description | Use this route to delete a distribution list. |
Model | None |
HTTP Codes
Code | Condition |
---|---|
204 No Content | The request has been accepted and will be processed. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the marker was not found. Inspect the itemNotFoundFault for more detail. |
Request: DELETE https://api.emailsrvr.com/v1/domains/example.com/ex/distributionList/ExampleDL Response: 204 No Content
Export
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists?exportTo={your email address} |
Description | Use this route to export a file of distribution lists. |
Model | Distribution List Listing |
HTTP Codes
Code | Condition |
---|---|
202 Accepted | The request has been accepted and will be processed. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the marker was not found. Inspect the itemNotFoundFault for more detail. |
Request: GET https://api.emailsrvr.com/v1/domains/example.com/ex/distributionLists?exportTo=myAdminEmail@example.com Response: 202 Accepted
Email Addresses
List
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/{common name}/emailaddresses |
Description | Lists an existing Distribution List's alternate email addresses. (see Listings) |
Model | Email Address Listing |
HTTP Codes
Code | Condition |
---|---|
200 OK | The data was successfully retrieved. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the resource was not found. Inspect the itemNotFoundFault for more detail. |
GET: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL/emailaddresses Response: 200 OK { "EmailAddresses": [ { "Value": "exampledl@example.com", "AddressPrimary": true, "AddressProtocol": "smtp" }, { "Value": "exampledl-alias@example.com", "AddressPrimary": false, "AddressProtocol": "smtp" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Bulk Update
Although addresses can be updated as part of the base Exchange Distribution List update, a convenience route is also available for just sending the Email address part of the request.
Verb | PUT |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionList/{common name}/emailAddresses |
Description | Updates an existing Distribution Lists's alternate email addresses. |
Model | Email Address Array |
HTTP Codes
Code | Condition |
---|---|
200 OK | The data was successfully retrieved. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the resource was not found. Inspect the itemNotFoundFault for more detail. |
Request: PUT: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL/emailaddresses { "EmailAddresses": [ { "Action": "add", "Value": "exampledl-alias2@example.com", "AddressPrimary": false, "AddressProtocol": "smtp" } ] } Response: 204 No Content
Members
List
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/{common name}/members |
Description | Lists an existing Distribution List's Members. (see Listings) |
Model | Members Listing |
HTTP Codes
Code | Condition |
---|---|
200 OK | The data was successfully retrieved. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the resource was not found. Inspect the itemNotFoundFault for more detail. |
GET: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL/members Response: 200 OK { "Recipients": [ { "Value": "mexuser1" }, { "Value": "mexuser2" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Bulk Update
Although members can be updated as part of the base Exchange Distribution List update, a convenience route is also available for just sending the Members part of the request.
Verb | PUT |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionList/{common name}/members |
Description | Updates an existing Distribution Lists's Members. |
Model | Members Array |
HTTP Codes
Code | Condition |
---|---|
200 OK | The data was successfully retrieved. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the resource was not found. Inspect the itemNotFoundFault for more detail. |
Request: PUT: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL/members { "Recipients": [ { "Action":"Remove", "Value": "MexUser1" }, { "Action":"Add", "Value": "MexUser2" } ] } Response: 204 No Content
Managers
List
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionlists/{common name}/managers |
Description | Lists an existing Distribution List's Managers. (see Listing) |
Model | Managers Listing |
HTTP Codes
Code | Condition |
---|---|
200 OK | The data was successfully retrieved. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the resource was not found. Inspect the itemNotFoundFault for more detail. |
GET: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL/Managers Response: 200 OK { "Recipients": [ { "Value": "mexuser1" }, { "Value": "mexuser2" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Bulk Update
Although managers can be updated as part of the base Exchange Distribution List update, a convenience route is also available for just sending the Managers part of the request.
Verb | PUT |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionList/{common name}/managers |
Description | Updates an existing Distribution Lists's Managers. |
Model | Managers Array |
HTTP Codes
Code | Condition |
---|---|
200 OK | The data was successfully retrieved. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the resource was not found. Inspect the itemNotFoundFault for more detail. |
Request: PUT: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL/managers { "Recipients": [ { "Action":"Remove", "Value": "MexUser1" }, { "Action":"Add", "Value": "MexUser2" } ] } Response: 204 No Content
Senders
List
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionlists/{common name}/senders |
Description | Lists an existing Distribution List's Senders. (see Listings) |
Model | Senders Listing |
HTTP Codes
Code | Condition |
---|---|
200 OK | The data was successfully retrieved. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the resource was not found. Inspect the itemNotFoundFault for more detail. |
GET: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL/senders Response: 200 OK { "All": "restricted", "Recipients": [ { "Value": "mexuser1" }, { "Value": "mexuser2" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Bulk Update
Although senders can be updated as part of the base Exchange Distribution List update, a convenience route is also available for just sending the Senders part of the request.
Verb | PUT |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionList/{common name}/senders |
Description | Updates an existing Distribution Lists's Senders. |
Model | Senders Array |
HTTP Codes
Code | Condition |
---|---|
200 OK | The data was successfully retrieved. |
400 Bad Request | The request was invalid. Inspect the validationFault response for more detail. |
404 Not Found | The domain does not exist, the domain does not have Exchange, or the resource was not found. Inspect the itemNotFoundFault for more detail. |
Request: PUT: https://api.emailsrvr.com/v1/domains/example.com/ex/distributionlists/ExampleDL/senders { "All": "restricted", "Recipients": [ { "Action":"Remove", "Value": "MexUser1" }, { "Action":"Add", "Value": "MexUser2" } ] } Response: 204 No Content
New Distribution List Options
https://api.emailsrvr.com/v1/domains/(domain)/ex/distributionListOptions/ is the base URL for getting complete sets of valid data that can be submitted as part of a Distribution List create operation.
Available Senders Recipients
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionListOptions/AvailableSendersRecipients |
Description | Use this route to retrieve a list of recipients that can be senders for a new Distribution List on the given domain. |
Model | Senders Listing |
Request: GET https://api.emailsrvr.com/v1/customers/all/domains/example.com/ex/distributionlistOptions/AvailableSendersRecipients Response: 200 OK { "Recipients": [ { "Value": "mexuser1" }, { "Value": "mexuser2" }, { "Value": "mexuser3" }, { "Value": "mexuser4" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Available Managers Recipients
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionListOptions/AvailableManagersRecipients |
Description | Use this route to retrieve a list of recipients that can be managers for a new Distribution List on the given domain. |
Model | Managers Listing |
Request: GET https://api.emailsrvr.com/v1/customers/all/domains/example.com/ex/distributionlistOptions/AvailableManagersRecipients Response: 200 OK { "Recipients": [ { "Value": "mexuser1" }, { "Value": "mexuser2" }, { "Value": "mexuser3" }, { "Value": "mexuser4" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Available Members Recipients
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionListOptions/AvailableMembersRecipients |
Description | Use this route to retrieve a list of recipients that can be Members for a new Distribution List on the given domain. |
Model | Members Listing |
Request: GET https://api.emailsrvr.com/v1/customers/all/domains/example.com/ex/distributionlistOptions/AvailableMembersRecipients Response: 200 OK { "Recipients": [ { "Value": "mexuser1" }, { "Value": "mexuser2" }, { "Value": "mexuser3" }, { "Value": "mexuser4" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Existing Distribution List Options
https://api.emailsrvr.com/v1/domains/(domain)/ex/distributionLists/(common name)/options is the base URL for getting complete sets of valid data that can be submitted as part of a Distribution List update operation.
Available Senders Recipients
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/{common name}/options/AvailableSendersRecipients |
Description | Use this route to retrieve a list of recipients that can be senders for a specific Distribution List on the given domain. |
Model | Senders Listing |
Request: GET https://api.emailsrvr.com/v1/customers/all/domains/example.com/ex/distributionLists/ExampleDL/options/AvailableSendersRecipients Response: 200 OK { "Recipients": [ { "Value": "mexuser3" }, { "Value": "mexuser4" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Available Managers Recipients
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/{common name}/options/AvailableManagersRecipients |
Description | Use this route to retrieve a list of recipients that can be managers for a specific Distribution List on the given domain. |
Model | Managers Listing |
Request: GET https://api.emailsrvr.com/v1/customers/all/domains/example.com/ex/distributionLists/ExampleDL/options/AvailableManagersRecipients Response: 200 OK { "Recipients": [ { "Value": "mexuser3" }, { "Value": "mexuser4" } ], "Limit": 25, "Total": 2, "Order": "asc" }
Available Members Recipients
Verb | GET |
---|---|
URL Format | /v1/customers/{customer account number}/domains/{domain name}/ex/distributionLists/{common name}/options/AvailableMembersRecipients |
Description | Use this route to retrieve a list of recipients that can be Members for a specific Distribution List on the given domain. |
Model | Members Listing |
Request: GET https://api.emailsrvr.com/v1/customers/all/domains/example.com/ex/distributionLists/ExampleDL/options/AvailableMembersRecipients Response: 200 OK { "Recipients": [ { "Value": "mexuser3" }, { "Value": "mexuser4" } ], "Limit": 25, "Total": 2, "Order": "asc" }
v0
Index
URL:
[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists
Description:
This operation returns a list of distribution lists associated with the domain.
Remarks:
The Index operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: DistributionlistList.xsd
Example:
get '/customers/12345678/domains/example.com/ex/distributionlists?contains=mailing', 'text/xml'
XML Result Example:
<?xml version="1.0" encoding="utf-8"?> <distributionlistList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:distributionlistList"> <offset>0</offset> <size>50</size> <total>3</total> <distributionlists> <distributionlist> <name>apiexgroup4</name> <displayName>API Test Group</displayName> </distributionlist> <distributionlist> <name>apiexgroup62</name> <displayName>API Test Group</displayName> </distributionlist> <distributionlist> <name>apiexgroup64</name> <displayName>API Test Group</displayName> </distributionlist> </distributionlists> </distributionlistList>
Json Result Example:
{"offset":0,"size":50,"total":3,"distributionlists":[{"name":"apiexgroup4","displayName":"API Test Group"},{"name":"apiexgroup62","displayName":"API Test Group"},{"name":"apiexgroup64","displayName":"API Test Group"}]}
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Distribution List is not found | 404 | Distribution List not found |
Show
URL:
[GET] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists/(distribution list name)
Description:
Returns the distribution list's details.
Remarks:
The show operation only supports the GET HTTP verb. For text/xml format, refer to the following schema document: Distributionlist.xsd
Example:
get '/customers/12345678/domains/example.com/ex/distributionlists/all.employees', 'text/xml'
XML Result Example
<?xml version="1.0" encoding="utf-8"?> <distributionlist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:xml:contact"> <name>apiexgroup64</name> <displayName>API Test Group</displayName> <isHidden>false</isHidden> <emailAddressList> <emailAddress> <address>apiexgroup64@apidomain36.com</address> <replyTo>true</replyTo> </emailAddress> </emailAddressList> <memberList> <member>apiexmailbox30@apidomain36.com</member> <member>apiexmailbox7@apidomain36.com</member> <member>apiexmailbox99@apidomain36.com</member> </memberList> </distributionlist>
Json Result Example:
{"name":"apiexgroup64","displayName":"API Test Group","isHidden":false,"emailAddressList":[{"address":"apiexgroup64@apidomain36.com","replyTo":true}],"memberList":["apiexmailbox30@apidomain36.com","apiexmailbox7@apidomain36.com","apiexmailbox99@apidomain36.com"]}
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Distribution list is not found | 404 | Distribution List not found |
Add/Edit
URL:
Add: [POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists/(distribution list name) Edit: [PUT] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists/(distribution list name)
Description:
Adds/edits the distribution list with the specified information. Required fields must be supplied when adding. Others are optional.
Field Name | Data Type | Description |
---|---|---|
displayName | string | Distribution list display name (Required) |
isHidden | boolean | Whether or not the distribution list is hidden from the Global Address List (Defaults to false) |
Example:
post '/customers/12345678/domains/example.com/ex/distributionlists/all.employees', { 'name' => 'all.employees', 'displayName' => 'Employees' }, 'text/xml'
put '/customers/12345678/domains/example.com/ex/distributionlists/all.employees', { 'displayName' => 'Example.com Employees' }, 'text/xml',
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
New distribution list name already exists | 400 | The email address john.doe@abc.com is already in use |
New distribution list name doesn't meet the naming requirements | 400 | Invalid user name |
New distribution list display name doesn't meet the naming requirements | 400 | Invalid display name |
Distribution list is not found | 404 | Distribution List not found |
Display name doesn't meet the naming requirements | 400 | Invalid display name |
Delete
URL:
[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists/(distribution list name)
Description:
Deletes the distribution list.
Example:
delete '/customers/12345678/domains/example.com/ex/distributionlists/all.employees', 'text/xml'
Description | HTTP Response Code | Sample Message |
---|---|---|
Distribution list is not found | 404 | Distribution List not found |
Email Addresses
This refers to the email addresses a distribution list can appear as.
Add Email Address
URL:
[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists/(distribution list name)/emailaddresses/(email address)
Description:
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.
Example:
post '/customers/12345678/domains/example.com/ex/distributionlists/all.employees/emailaddresses/alex@example.com', {}, 'text/xml'
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Distribution list is not found | 404 | Distribution list not found |
Delete Email Address
URL:
[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists/(distribution list name)/emailaddresses/(email address)
Description:
Deletes the email address that is tied to the distribution list.
Example:
delete '/customers/12345678/domains/example.com/ex/distributionlists/all.employees/emailaddresses/alex@example.com', 'text/xml'
Member
This refers to the recipients of the distribution list.
Add Member
URL:
[POST] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists/(distribution list name)/members/(member name)
Description:
Adds an email address to the distribution list.
Example:
post '/customers/12345678/domains/example.com/ex/distributionlists/all.employees/members/john.smith', {}, 'text/xml'
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Distribution list is not found | 404 | Distribution list not found |
New member is not found | 400 | No user with the email address jane.doe exists |
Delete Member
URL:
[DELETE] https://api.emailsrvr.com/v0/customers/(customer account number)/domains/(domain name) /ex/distributionlists/(distribution list name)/members/(member name)
Description:
Delete an email address from the distribution list.
Example:
delete '/customers/12345678/domains/example.com/ex/distributionlists/all.employees/members/john.smith', {}, 'text/xml'
Errors:
Description | HTTP Response Code | Sample Message |
---|---|---|
Distribution list is not found | 404 | Distribution list not found |
Member is not found | 400 | Invalid group member name |