<p>To restrict API access to few IP addresses, please login to iRedAdmin-Pro as
global admin, then click menu <code>System -> Settings</code>, find option <code>RESTful API is accessible only from specified IP addresses or networks</code>, input the allowed IP addresses or
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/login</code><codeclass="comment">Login with an admin username (full email address) and password</code><codeclass="has_params">Parameters</code></p>
<divclass="params params_domain">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>username</code></td>
<td>Admin username. Must be a full email address.</td>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/domains</code><codeclass="comment">Get profiles of all managed mail domains</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/domain/<domain></code><codeclass="comment">Get profile of an existing domain</code></p>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/domain/<domain></code><codeclass="comment">Create a new domain</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/domain/<domain></code><codeclass="comment">Delete an existing domain (all mail messages will NOT be removed)</code></p>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/domain/<domain>/keep_mailbox_days/<number></code><codeclass="comment">Delete domain, and keep all mail messages for given days. Defaults to 0 day which means keeping forever.</code></p>
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/domain/<domain></code><codeclass="comment">Update profile of an existing domain</code><codeclass="has_params">Parameters</code></p>
<td>Hostname or IP address of primary MX, smtp port number is optional. Must be used with parameter <code>is_backupmx</code>. Conflicts with parameter <code>transport</code>.</td>
<td>Per-domain catch-all account (a list of email addresses used to receive emails sent to non-existing addresses under same domain). Multiple addresses must be separated by comma. Set an empty value to disable catch-all support.</td>
<td><code>catchall=user@domain.com,user2@domain.com</code> or <code>catchall=</code> (disable catch-all)</td>
<td>Reset all alias domains. If empty, all existing alias domains will be removed. Conflicts with parameter <code>addAliasDomain</code> and <code>removeAliasDomain</code>.</td>
<td>disable given domain profiles. Normal admin cannot view and update disabled profiles in domain profile page. Available domain profiles are listed below.</td>
<td>enable given domain profiles. Normal admin can view and update disabled profiles in domain profile page. Available domain profiles are listed below.</td>
<td>disable given user profiles. Normal admin cannot view and update disabled profiles in user profile page. Available user profiles are listed below.</td>
<td>enable given domain profiles. Normal admin can view and update disabled profiles in user profile page. Available user profiles are listed below.</td>
<td>disable given user preferences in self-service page. Normal mail user cannot view and update disabled preferences. Available user preferences are listed below.</td>
<td>disable given user preferences in self-service page. Normal mail user can view and update disabled preferences. Available user preferences are listed below.</td>
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/domain/admins/<domain></code><codeclass="comment">Manage normal domain admins.</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/admin/<mail></code><codeclass="comment">Get profile of an existing domain admin</code></p>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/admin/<mail></code><codeclass="comment">Create a new domain admin</code><codeclass="has_params">Parameters</code></p>
<p>Below parameters are used by normal domain admin (<code>isGlobalAdmin=no</code>). With <code>isGlobalAdmin=yes</code>, these parameters will be discarded.</p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>maxDomains</code></td>
<td>how many mail domains this admin can create</td>
<td><code>maxDomains=5</code></td>
</tr>
<tr>
<td><code>maxQuota</code></td>
<td>how much mailbox quota this admin can create. Quota is shared by all domains created/managed by this admin. Must be used with parameter <code>quotaUnit</code>. Sample: 10TB, 20GB, 100MB.</td>
<td><code>maxQuota=2</code></td>
</tr>
<tr>
<td><code>quotaUnit</code></td>
<td>Quota unit used by <code>maxQuota</code> parameter. Must be used with parameter <code>maxQuota</code>. Possible values: TB, GB, MB.</td>
<td><code>quotaUnit=TB</code></td>
</tr>
<tr>
<td><code>maxUsers</code></td>
<td>how many mail users this admin can create. It's shared by all domains created/managed by this admin.</td>
<td><code>maxUsers=100</code></td>
</tr>
<tr>
<td><code>maxAliases</code></td>
<td>how many mail aliases this admin can create. It's shared by all domains created/managed by this admin.</td>
<td><code>maxAliases=200</code></td>
</tr>
<tr>
<td><code>maxLists</code></td>
<td>how many mailing lists this admin can create. It's shared by all domains created/managed by this admin.</td>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/admin/<mail></code><codeclass="comment">Delete an existing domain admin</code></p>
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/admin/<mail></code><codeclass="comment">Update profile of an existing domain admin</code><codeclass="has_params">Parameters</code></p>
<p>Below parameters are used by normal domain admin (<code>isGlobalAdmin=no</code>). With <code>isGlobalAdmin=yes</code>, these parameters will be discarded.</p>
<td>how many mail domains this admin can create</td>
<td><code>maxDomains=5</code></td>
</tr>
<tr>
<td><code>maxQuota</code></td>
<td>how much mailbox quota this admin can create. Quota is shared by all domains created/managed by this admin. Must be used with parameter <code>quotaUnit</code>. Sample: 10TB, 20GB, 100MB.</td>
<td><code>maxQuota=2</code></td>
</tr>
<tr>
<td><code>quotaUnit</code></td>
<td>Quota unit used by <code>maxQuota</code> parameter. Must be used with parameter <code>maxQuota</code>. Possible values: TB, GB, MB.</td>
<td><code>quotaUnit=TB</code></td>
</tr>
<tr>
<td><code>maxUsers</code></td>
<td>how many mail users this admin can create. It's shared by all domains created/managed by this admin.</td>
<td><code>maxUsers=100</code></td>
</tr>
<tr>
<td><code>maxAliases</code></td>
<td>how many mail aliases this admin can create. It's shared by all domains created/managed by this admin.</td>
<td><code>maxAliases=200</code></td>
</tr>
<tr>
<td><code>maxLists</code></td>
<td>how many mailing lists this admin can create. It's shared by all domains created/managed by this admin.</td>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/verify_password/admin/<mail></code><codeclass="comment">Verify given (plain) password against the one stored in SQL/LDAP</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/user/<mail></code><codeclass="comment">Get profile of an existing mail user</code></p>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/user/<mail></code><codeclass="comment">Create a new mail user</code><codeclass="has_params">Parameters</code></p>
<td>Set user password to the given hashed/encrypted password. <strong>NOTE</strong>: Since the password is encrypted, iRedAdmin-Pro can not verify it against password policies. <strong>WARNING</strong>: Conflict with parameter <code>password</code>.</td>
<td>Mailbox format. e.g. <code>maildir</code>, <code>mdbox</code>. Defaults to <code>maildir</code> if not present. For more details, please read Dovecot document: <ahref="https://wiki2.dovecot.org/MailboxFormat">https://wiki2.dovecot.org/MailboxFormat</a>. <strong>WARNING</strong>: Changing mailbox format does not migrate the mailbox on file system automatically, you have to migrate it manually. New email will be stored in new mailbox format immediately.</td>
<td><code>mailboxFormat=mdbox</code></td>
</tr>
<tr>
<td><code>mailboxFolder</code></td>
<td>Mailbox folder name (case sensitive) which will be appended to user's home path. Defaults to <code>Maildir</code>. It's useful if you need to migrate to different mailbox folder. <strong>WARNING</strong>: New email will be stored in new mailbox folder immediately.</td>
<td><code>mailboxFolder=Maildir</code></td>
</tr>
<tr>
<td><code>maildir</code></td>
<td>Absolute path of the mailbox. All characters will be converted to lower cases.</td>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/user/<mail></code><codeclass="comment">Delete an existing mail user</code></p>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/user/<mail>/keep_mailbox_days/<number></code><codeclass="comment">Delete an existing mail user, and keep the mailbox for given days. Defaults to 0 day which means keeping forever.</code></p>
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/user/<mail></code><codeclass="comment">Update profile of an existing mail user</code><codeclass="has_params">Parameters</code></p>
<td>Set user password to the given hashed/encrypted password. <strong>NOTE</strong>: Since the password is encrypted, iRedAdmin-Pro can not verify it against password plicies. <strong>WARNING</strong>: Conflict with parameter <code>password</code>.</td>
<td>Per-user mail forwarding. Multiple addresses must be separated by comma. To save an email copy in mailbox, add original email address as one of forwarding addresses.</td>
<td>Per-user alias addresses. Multiple addresses must be separated by comma. If empty, all per-user alias addresses owned by this user will be removed. Conflicts with parameter <code>addAlias</code> and <code>removeAlias</code>.</td>
<td>Reset per-user enabled mail services to given values. Conflicts with parameter <code>addService</code> and <code>removeService</code>. See additional notes below.</td>
<td>Add new per-user enabled mail service(s). Multiple values must be separated by comma. Conflicts with parameter <code>services</code>. See additional notes below.</td>
<td><code>addService=vpn,owncloud</code></td>
</tr>
<tr>
<td><code>removeService</code></td>
<td>Add new per-user enabled mail service(s). Multiple values must be separated by comma. Conflicts with parameter <code>services</code>. See additional notes below.</td>
<td>Mailbox format. e.g. <code>maildir</code>, <code>mdbox</code>. Defaults to <code>maildir</code> if not present. For more details, please read Dovecot document: <ahref="https://wiki2.dovecot.org/MailboxFormat">https://wiki2.dovecot.org/MailboxFormat</a>. <strong>WARNING</strong>: Changing mailbox format does not migrate the mailbox on file system automatically, you have to migrate it manually. New email will be stored in new mailbox format immediately.</td>
<td><code>mailboxFormat=mdbox</code></td>
</tr>
<tr>
<td><code>mailboxFolder</code></td>
<td>Mailbox folder name (case sensitive) which will be appended to user's home path. Defaults to <code>Maildir</code>. It's useful if you need to migrate to different mailbox folder. <strong>WARNING</strong>: New email will be stored in new mailbox folder immediately.</td>
<td><code>mailboxFolder=Maildir</code></td>
</tr>
<tr>
<td><code>maildir</code></td>
<td>Absolute path of the mailbox. All characters will be converted to lower cases.</td>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/users/<domain></code><codeclass="comment">Get user profiles under given domain</code><codeclass="has_params">Parameters</code></p>
<divclass="params">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Default Value</th>
<th>Comment</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>email_only</code></td>
<td><code>no</code></td>
<td>Return a list of mail users' email addresses instead of detailed profiles.</td>
<td><code>email_only=yes</code></td>
</tr>
<tr>
<td><code>disabled_only</code></td>
<td><code>no</code></td>
<td>Return only disabled mail users.</td>
<td><code>disabled_only=yes</code></td>
</tr>
</tbody>
</table>
</div>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/users/<domain></code><codeclass="comment">Update profiles of all users under given domain</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/verify_password/user/<mail></code><codeclass="comment">Verify given (plain) password against the one stored in SQL/LDAP</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/mls/<domain></code><codeclass="comment">Get profile of all mailing lists under given domain</code><codeclass="has_params">Parameters</code></p>
<divclass="params">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Sample Usage</th>
<th>Default Value</th>
<th>Comment</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>email_only</code></td>
<td><code>email_only=yes</code></td>
<td><code>no</code></td>
<td>Return a list of mailing list email addresses instead of detailed profile.</td>
</tr>
</tbody>
</table>
</div>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/ml/<mail></code><codeclass="comment">Get profile of an existing mailing list account</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/ml/<mail></code><codeclass="comment">Create a new mailing list</code><codeclass="has_params">Parameters</code></p>
<divclass="params">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Sample Usage</th>
<th>Default Value</th>
<th>Comment</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>name</code></td>
<td><code>name=Sales Team</code></td>
<td></td>
<td>Display name of the mailing list.</td>
</tr>
<tr>
<td><code>accountStatus</code></td>
<td><code>accountStatus=active</code></td>
<td></td>
<td>Enable or disable account. Possible values: <code>active</code>, <code>disabled</code>.</td>
</tr>
<tr>
<td><code>accessPolicy</code></td>
<td><code>accessPolicy=membersonly</code></td>
<td></td>
<td>Defines who can send email to this mailing list. Possible values: <code>public</code>, <code>domain</code>, <code>subdomain</code>, <code>membersonly</code>, <code>moderatorsonly</code>.</td>
</tr>
<tr>
<td><code>is_newsletter</code></td>
<td><code>is_newsletter=yes</code></td>
<td><code>no</code></td>
<td>Mark this mailing list as a newsletter, to enable subscription/unsubscription from web site.</td>
<td>If set to <code>yes</code>, mlmmj won't send mail to subscriber to ask for confirmation to subscribe to the list. <strong>WARNING</strong>: This should in principle never ever be used, but there are times on local lists etc. where this is useful. HANDLE WITH CARE!</td>
<td>If set to <code>yes</code>, subscription to the digest version of the mailing list is disabled. Useful if you don't want to allow digests and notify users about it.</td>
</tr>
<tr>
<td><code>disable_digest_text</code></td>
<td><code>disable_digest_text=yes</code></td>
<td></td>
<td>If set to <code>yes</code>, digest mails won't have a text part with a thread summary.</td>
<td>If set to <code>yes</code>, subscription to the 'nomail' version of the mailing list is disabled. Useful if you don't want to allow 'nomail' and notify users about it.</td>
</tr>
<tr>
<td><code>moderated</code></td>
<td><code>moderated=yes</code></td>
<td><code>no</code></td>
<td>If set to <code>yes</code>. Parameter <code>owner</code><strong>or</strong><code>moderators</code> is required to specify the moderators. Note: <code>moderators</code> has higher priority (means only addresses specified by <code>moderators</code> are act as moderators).</td>
<td>If set to <code>yes</code>, all postings from people who are not allowed to post to the list will be moderated. Default (set to <code>no</code>) is denied.</td>
<td>If set to <code>yes</code>, (owner) retrieving subscribers by sending email to <code>LISTNAME+list@</code> is disabled. Note: only owner can send to such address.</td>
<td>Notify sender (based on the envelope from) when their post is being moderated.</td>
</tr>
<tr>
<td><code>disable_archive</code></td>
<td><code>disable_archive=yes</code></td>
<td><code>no</code></td>
<td>If set to <code>yes</code>, emails won't be saved in the archive but simply deleted.</td>
</tr>
<tr>
<td><code>moderate_subscription</code></td>
<td><code>moderate_subscription=yes</code></td>
<td><code>no</code></td>
<td>If set to <code>yes</code>, subscription will be moderated by owner(s) or moderators specified by <code>subscription_moderators</code>. Moderators specified by <code>subscription_moderators</code> has higher priority. If set to <code>no</code>, subscription is not moderated, also, all moderators which were specified by <code>subscription_moderators</code> will be removed.</td>
<td>Specify subscription moderators. Note: if <code>subscription_moderators</code> is given, <code>moderate_subscription</code> will be set to <code>yes</code> automatically. If no valid moderators are given, subscription will be moderated by owner(s).</td>
<td>Add custom headers to every mail coming through. Multiple headers must be separated by <code>\n</code>. Set empty value to remove it. Note: mlmmjadmin will always add <code>X-Mailing-List: <mail></code> and <code>Reply-To: <mail></code> for each mailing list account.</td>
<td>Remove given mail headers. NOTE: either <code>header:</code> or <code>header</code> (without <code>:</code>) is ok. Note: mlmmjadmin will always remove <code>DKIM-Signature:</code> and <code>Authentication-Results:</code>.</td>
</tr>
<tr>
<td><code>name</code></td>
<td><code>name=Short description of list</code></td>
<td></td>
<td>Set a short description of the mailing list account.</td>
</tr>
<tr>
<td><code>footer_text</code></td>
<td><code>footer_text=footer in plain text</code></td>
<td></td>
<td>Append footer (in plain text format) to every email sent to the list.</td>
</tr>
<tr>
<td><code>footer_html</code></td>
<td><code>footer_text=<p>footer in html</p></code></td>
<td></td>
<td>Append footer (in html format) to every email sent to the list.</td>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/ml/<mail></code><codeclass="comment">Delete an existing mailing list</code><codeclass="has_params">Parameters</code></p>
<divclass="params">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>keep_archive</code></td>
<td>Archive account settings and messages before deleting the mailing list.</td>
<td><code>keep_archive=no</code></td>
</tr>
</tbody>
</table>
</div>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/ml/<mail></code><codeclass="comment">Update profile of an existing mailing list</code><codeclass="has_params">Parameters</code></p>
<divclass="params">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Sample Usage</th>
<th>Default Value</th>
<th>Comment</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>name</code></td>
<td><code>name=Sales Team</code></td>
<td></td>
<td>Display name of the mailing list.</td>
</tr>
<tr>
<td><code>accountStatus</code></td>
<td><code>accountStatus=active</code></td>
<td></td>
<td>Enable or disable account. Possible values: <code>active</code>, <code>disabled</code>.</td>
</tr>
<tr>
<td><code>accessPolicy</code></td>
<td><code>accessPolicy=membersonly</code></td>
<td></td>
<td>Defines who can send email to this mailing list. Possible values: <code>public</code>, <code>domain</code>, <code>subdomain</code>, <code>membersonly</code>, <code>moderatorsonly</code>.</td>
</tr>
<tr>
<td><code>is_newsletter</code></td>
<td><code>is_newsletter=yes</code></td>
<td><code>no</code></td>
<td>Mark this mailing list as a newsletter, to enable subscription/unsubscription from web site.</td>
<td>If set to <code>yes</code>, mlmmj won't send mail to subscriber to ask for confirmation to subscribe to the list. <strong>WARNING</strong>: This should in principle never ever be used, but there are times on local lists etc. where this is useful. HANDLE WITH CARE!</td>
<td>If set to <code>yes</code>, subscription to the digest version of the mailing list is disabled. Useful if you don't want to allow digests and notify users about it.</td>
</tr>
<tr>
<td><code>disable_digest_text</code></td>
<td><code>disable_digest_text=yes</code></td>
<td></td>
<td>If set to <code>yes</code>, digest mails won't have a text part with a thread summary.</td>
<td>If set to <code>yes</code>, subscription to the 'nomail' version of the mailing list is disabled. Useful if you don't want to allow 'nomail' and notify users about it.</td>
</tr>
<tr>
<td><code>moderated</code></td>
<td><code>moderated=yes</code></td>
<td><code>no</code></td>
<td>If set to <code>yes</code>. Parameter <code>owner</code><strong>or</strong><code>moderators</code> is required to specify the moderators. Note: <code>moderators</code> has higher priority (means only addresses specified by <code>moderators</code> are act as moderators).</td>
<td>If set to <code>yes</code>, all postings from people who are not allowed to post to the list will be moderated. Default (set to <code>no</code>) is denied.</td>
<td>If set to <code>yes</code>, (owner) retrieving subscribers by sending email to <code>LISTNAME+list@</code> is disabled. Note: only owner can send to such address.</td>
<td>Notify sender (based on the envelope from) when their post is being moderated.</td>
</tr>
<tr>
<td><code>disable_archive</code></td>
<td><code>disable_archive=yes</code></td>
<td><code>no</code></td>
<td>If set to <code>yes</code>, emails won't be saved in the archive but simply deleted.</td>
</tr>
<tr>
<td><code>moderate_subscription</code></td>
<td><code>moderate_subscription=yes</code></td>
<td><code>no</code></td>
<td>If set to <code>yes</code>, subscription will be moderated by owner(s) or moderators specified by <code>subscription_moderators</code>. Moderators specified by <code>subscription_moderators</code> has higher priority. If set to <code>no</code>, subscription is not moderated, also, all moderators which were specified by <code>subscription_moderators</code> will be removed.</td>
<td>Specify subscription moderators. Note: if <code>subscription_moderators</code> is given, <code>moderate_subscription</code> will be set to <code>yes</code> automatically. If no valid moderators are given, subscription will be moderated by owner(s).</td>
<td>Add custom headers to every mail coming through. Multiple headers must be separated by <code>\n</code>. Set empty value to remove it. Note: mlmmjadmin will always add <code>X-Mailing-List: <mail></code> and <code>Reply-To: <mail></code> for each mailing list account.</td>
<td>Remove given mail headers. NOTE: either <code>header:</code> or <code>header</code> (without <code>:</code>) is ok. Note: mlmmjadmin will always remove <code>DKIM-Signature:</code> and <code>Authentication-Results:</code>.</td>
</tr>
<tr>
<td><code>name</code></td>
<td><code>name=Short description of list</code></td>
<td></td>
<td>Set a short description of the mailing list account.</td>
</tr>
<tr>
<td><code>footer_text</code></td>
<td><code>footer_text=footer in plain text</code></td>
<td></td>
<td>Append footer (in plain text format) to every email sent to the list.</td>
</tr>
<tr>
<td><code>footer_html</code></td>
<td><code>footer_text=<p>footer in html</p></code></td>
<td></td>
<td>Append footer (in html format) to every email sent to the list.</td>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/maillist/<mail></code><codeclass="comment">Get profile of an existing mailing list account</code></p>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/maillist/<mail></code><codeclass="comment">Create a new mailing list</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/maillist/<mail></code><codeclass="comment">Delete an existing mailing list</code><codeclass="has_params">Parameters</code></p>
<divclass="params">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>archive</code></td>
<td>Archive subscribable mailing list before deleting the account. NOTE: This option is only applicable to the subscribable mailing list account.</td>
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/maillist/<mail></code><codeclass="comment">Update profile of an existing mailing list</code><codeclass="has_params">Parameters</code></p>
<td>Members of mailing list. Multiple members must be separated by comma. Conflict with parameter <code>addMember</code> and <code>removeMember</code>.</td>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/alias/<mail></code><codeclass="comment">Get profile of an existing mail alias</code></p>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/alias/<mail></code><codeclass="comment">Create a new mail alias</code><codeclass="has_params">Parameters</code></p>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/alias/<mail></code><codeclass="comment">Delete an existing mail alias</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/alias/<mail></code><codeclass="comment">Update profile of an existing mail alias</code><codeclass="has_params">Parameters</code></p>
<td>Members of mail alias. Multiple members must be separated by comma. Conflict with parameter <code>addMember</code> and <code>removeMember</code>.</td>
<pclass="admonition-title"><codeclass="put">POST</code><codeclass="url">/api/alias/<mail>/change_email/<new_mail></code><codeclass="comment">Change email address of alias account (from '<mail>' to '<new_mail>')</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/aliases/<domain></code><codeclass="comment">Get mail aliases' profiles under given domain</code><codeclass="has_params">Parameters</code></p>
<divclass="params">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Default Value</th>
<th>Comment</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>email_only</code></td>
<td><code>no</code></td>
<td>Return a list of mail aliases' email addresses instead of detailed profiles.</td>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/spampolicy/global</code><codeclass="comment">Get global spam policy</code></p>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/spampolicy/global</code><codeclass="comment">Delete global spam policy</code></p>
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/spampolicy/global</code><codeclass="comment">Set global spam policy</code><codeclass="has_params_spampolicy">Parameters</code></p>
<td>Always insert <code>X-Spam-*</code> headers in email. It contains spam score and matched SpamAssassin rules. <strong>Don't enable this unless you want to debug spam checking.</strong></td>
<td><code>always_insert_x_spam_headers=yes</code> (default is <code>no</code>)</td>
</tr>
<tr>
<td><code>spam_score</code></td>
<td>Set a preferred spam score, if scanned email has higher score than this one, it will be marked as spam.</td>
<td><code>spam_score=4</code> (defaults to use system setting defined in Amavisd config file.)</td>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/throttle/global/inbound</code><codeclass="comment">Get global inbound throttle settings</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/throttle/global/inbound</code><codeclass="comment">Set global inbound throttle settings</code><codeclass="has_params_throttle">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/throttle/global/outbound</code><codeclass="comment">Get global outbound throttle settings</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/throttle/global/outbound</code><codeclass="comment">Set global inbound throttle settings</code><codeclass="has_params_throttle">Parameters</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/throttle/<mail>/inbound</code><codeclass="comment">Get user inbound throttle settings</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/throttle/<mail>/inbound</code><codeclass="comment">Set user inbound throttle settings</code><codeclass="has_params_throttle">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/throttle/<mail>/outbound</code><codeclass="comment">Get user outbound throttle settings</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/throttle/<mail>/outbound</code><codeclass="comment">Set user outbound throttle settings</code><codeclass="has_params_throttle">Parameters</code></p>
<divclass="params params_throttle">
<p>Parameters available for global, per-domain, per-user throttle settings.</p>
<td>Entire email domain and all its sub-domains</td>
<td><code>@.domain.ltd</code></td>
</tr>
<tr>
<td>Catch-all address</td>
<td><code>@.</code></td>
</tr>
</tbody>
</table>
<p><br/></p>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/inbound/whitelist/global</code><codeclass="comment">Get global whitelists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/inbound/blacklist/global</code><codeclass="comment">Get global blacklists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/outbound/whitelist/global</code><codeclass="comment">Get global whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/outbound/blacklist/global</code><codeclass="comment">Get global whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/inbound/whitelist/<domain></code><codeclass="comment">Get per-domain whitelists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/inbound/blacklist/<domain></code><codeclass="comment">Get per-domain blacklists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/outbound/whitelist/<domain></code><codeclass="comment">Get per-domain whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/outbound/blacklist/<domain></code><codeclass="comment">Get per-domain whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/inbound/whitelist/<mail></code><codeclass="comment">Get per-user whitelists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/inbound/blacklist/<mail></code><codeclass="comment">Get per-user blacklists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/outbound/whitelist/<mail></code><codeclass="comment">Get per-user whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/wblist/outbound/blacklist/<mail></code><codeclass="comment">Get per-user whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/inbound/whitelist/global</code><codeclass="comment">Add new global whitelists for inbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/inbound/blacklist/global</code><codeclass="comment">Add new global blacklists for inbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/outbound/whitelist/global</code><codeclass="comment">Add new global whitelists for outbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/outbound/blacklist/global</code><codeclass="comment">Add new global whitelists for outbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/inbound/whitelist/<domain></code><codeclass="comment">Add new per-domain whitelists for inbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/inbound/blacklist/<domain></code><codeclass="comment">Add new per-domain blacklists for inbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/outbound/whitelist/<domain></code><codeclass="comment">Add new per-domain whitelists for outbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/outbound/blacklist/<domain></code><codeclass="comment">Add new per-domain whitelists for outbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/inbound/whitelist/<mail></code><codeclass="comment">Add new per-user whitelists for inbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/inbound/blacklist/<mail></code><codeclass="comment">Add new per-user blacklists for inbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/outbound/whitelist/<mail></code><codeclass="comment">Add new per-user whitelists for outbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/wblist/outbound/blacklist/<mail></code><codeclass="comment">Add new per-user whitelists for outbound.</code><codeclass="has_params_wblist_put">Parameters</code></p>
<divclass="params params_wblist_put">
<p>Parameters available for global, per-domain and per-user whitelist/blacklist settings.</p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>addresses</code></td>
<td>The addresses you want to whitelist or blacklist.<br/>Multiple addresses must be separated by comma.</td>
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/inbound/whitelist/global</code><codeclass="comment">Delete given global whitelists for inbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/inbound/blacklist/global</code><codeclass="comment">Delete given existing global blacklists for inbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/outbound/whitelist/global</code><codeclass="comment">Delete given existing global whitelists for outbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/outbound/blacklist/global</code><codeclass="comment">Delete given existing global whitelists for outbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/inbound/whitelist/<domain></code><codeclass="comment">Delete given per-domain whitelists for inbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/inbound/blacklist/<domain></code><codeclass="comment">Delete given per-domain blacklists for inbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/outbound/whitelist/<domain></code><codeclass="comment">Delete given per-domain whitelists for outbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/outbound/blacklist/<domain></code><codeclass="comment">Delete given per-domain whitelists for outbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/inbound/whitelist/<mail></code><codeclass="comment">Delete given per-user whitelists for inbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/inbound/blacklist/<mail></code><codeclass="comment">Delete given per-user blacklists for inbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/outbound/whitelist/<mail></code><codeclass="comment">Delete given per-user whitelists for outbound.</code><codeclass="has_params_wblist">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="put">PUT</code><codeclass="url">/api/wblist/outbound/blacklist/<mail></code><codeclass="comment">Delete given per-user whitelists for outbound.</code><codeclass="has_params_wblist">Parameters</code></p>
<divclass="params params_wblist_put">
<p>Parameters available for global, per-domain and per-user whitelist/blacklist settings.</p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>addresses</code></td>
<td>The addresses you want to whitelist or blacklist.<br/>Multiple addresses must be separated by comma.</td>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/inbound/whitelist/global</code><codeclass="comment">Delete all existing global whitelists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/inbound/blacklist/global</code><codeclass="comment">Delete all existing global blacklists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/outbound/whitelist/global</code><codeclass="comment">Delete all existing global whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/outbound/blacklist/global</code><codeclass="comment">Delete all existing global whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/inbound/whitelist/<domain></code><codeclass="comment">Delete all per-domain global whitelists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/inbound/blacklist/<domain></code><codeclass="comment">Delete all per-domain global blacklists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/outbound/whitelist/<domain></code><codeclass="comment">Delete all per-domain existing global whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/outbound/blacklist/<domain></code><codeclass="comment">Delete all per-domain existing global whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/inbound/whitelist/<mail></code><codeclass="comment">Delete all per-user existing global whitelists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/inbound/blacklist/<mail></code><codeclass="comment">Delete all per-user existing global blacklists for inbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/outbound/whitelist/<mail></code><codeclass="comment">Delete all per-user existing global whitelists for outbound.</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/wblist/outbound/blacklist/<mail></code><codeclass="comment">Delete all per-user existing global whitelists for outbound.</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/greylisting/all</code><codeclass="comment">Get all existing greylisting settings</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/greylisting/global</code><codeclass="comment">Get global greylisting setting</code></p>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/greylisting/global</code><codeclass="comment">Set global greylisting setting</code><codeclass="has_params_greylisting">Parameters</code></p>
<pclass="admonition-title"><codeclass="delete">DELETE</code><codeclass="url">/api/greylisting/global</code><codeclass="comment">Delete global greylisting setting</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/greylisting/global/whitelists</code><codeclass="comment">Get globally whitelisted senders for greylisting service</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/greylisting/<domain>/whitelists</code><codeclass="comment">Get whitelisted senders for greylisting service for specified domain</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/greylisting/<mail>/whitelists</code><codeclass="comment">Get whitelisted senders for greylisting service for specified user</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/greylisting/global/whitelists</code><codeclass="comment">Whitelist senders for greylisting service globally</code><codeclass="has_params_greylisting_whitelists">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/greylisting/<domain>/whitelists</code><codeclass="comment">Whitelist senders for greylisting service for specified domain</code><codeclass="has_params_greylisting_whitelists">Parameters</code></p>
</div>
<divclass="admonition api">
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/greylisting/<mail>/whitelists</code><codeclass="comment">Whitelist senders for greylisting services for specified user</code><codeclass="has_params_greylisting_whitelists">Parameters</code></p>
<divclass="params params_greylisting_whitelists">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>senders</code></td>
<td>Reset whitelisted senders for global greylisting service to given senders. Multiple addresses must be separated by comma. Conflicts with parameter <code>addSenders</code> and <code>removeSenders</code>.</td>
<td>Whitelist new senders for greylisting service globally. Multiple addresses must be separated by comma. Conflicts with parameter <code>senders</code>.</td>
<td>Remove existing whitelisted senders for greylisting service globally. Multiple addresses must be separated by comma. Conflicts with parameter <code>senders</code>.</td>
<pclass="admonition-title"><codeclass="post">POST</code><codeclass="url">/api/greylisting/whitelist_spf_domains</code><codeclass="comment">Whitelist IP addresses and networks listed in SPF/MX DNS record of given sender domains for greylisting service globally</code><codeclass="has_params">Parameters</code></p>
<divclass="params">
<p>Given sender domain names are not used directly while checking whitelisting, instead, there's a cron job to query SPF and MX DNS records of given sender domains, then whitelist the IP addresses/networks listed in DNS records.</p>
<p>Multiple domains must be separated by comma.</p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Summary</th>
<th>Sample Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>domains</code></td>
<td>Reset whitelisted sender domains for global greylisting service to given sender domains. Conflicts with parameters <code>addDomains</code> and <code>removeDomains</code>.</td>
<code>query_dns_immediately</code> | Query SPF/MX/A DNS records of given sender domains immediately, and whitelist returned IP/networks | <code>query_dns_immediately=yes</code>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/ldif/domain/<domain></code><codeclass="comment">Export domain to LDIF</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/ldif/user/<mail></code><codeclass="comment">Export mail user to LDIF</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/ldif/maillist/<mail></code><codeclass="comment">Export mailing list account to LDIF</code></p>
<pclass="admonition-title"><codeclass="get">GET</code><codeclass="url">/api/ldif/alias/<mail></code><codeclass="comment">Export mail alias account to LDIF</code></p>
<pstyle="text-align: center; color: grey;">All documents are available in <ahref="https://github.com/iredmail/docs/">BitBucket repository</a>, and published under <ahref="http://creativecommons.org/licenses/by-nd/3.0/us/"target="_blank">Creative Commons</a> license. You can <ahref="https://github.com/iredmail/docs/archive/master.zip">download the latest version</a> for offline reading. If you found something wrong, please do <ahref="https://www.iredmail.org/contact.html">contact us</a> to fix it.</p>