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