We use cookies to ensure that we give you the best experience on our website. By continuing your visit on the website, you consent to the use of the cookies.

ApiTeamChat Api

API Reference

IceWarp provides several application programming interfaces for developers and system integrators. IceWarp HTTP API referenced here allows to quickly build web applications and manage services, domains, accounts, folders and many other advanced settings.

1. Overview

IceWarp API serves for purposes of IceWarp HTTP applications like new WebAdmin, but can be also used to build your own application or webservices. See getting started section

1.1. Getting Started

IceWarp API requires installed IceWarp server with control service running. API can be accessed in two ways. First is to use web socket connection and the second is via php script.

1.1.1. IceWarp API via Javascript ( JQuery )

If you want to connetct via AJAX, you can use for example jquery

Example HTML

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script LANGUAGE="javascript1.2">

function sendQuery()
{
    $.ajax(
    {
      type: "POST",
      url: 'http://localhost/icewarpapi/',
      data: $('#input').val(),
      success: function(data){
                $('#response').html(data);
                console.log(data,responsebox);
               },
      dataType:'text'
    }
  );
}
// JavaScript Document

</script>
</head>
<body>
<form onsubmit="sendQuery();">
Input: <textarea id="input" cols="50" rows="20"><iq> <query xmlns="admin:iq:rpc"> <commandname>getauthchallenge</commandname> <commandparams> <authtype>1</authtype> </commandparams> </query> </iq>

</textarea>
Response: <textarea id="response" cols="50" rows="20"></textarea>
<button type="button" onclick="sendQuery();return false;">Send</button>
</form>
</body>
</html>

1.1.2. IceWarp API via Javascript ( no JQuery )

<html>
<head>
<script LANGUAGE="javascript1.2">
function sendQuery()
{
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
           if (xmlhttp.status == 200) {
               document.getElementById("response").innerHTML = xmlhttp.responseText;
           }
           else {
               alert('There was en error :' + xmlhttp.status);
           }
        }
    };

    xmlhttp.open("POST","http://localhost/icewarpapi/" , true);
    xmlhttp.send(document.getElementById('input').value);
}
</script>
</head>
<body>
<form onsubmit="sendQuery();">
Input: <textarea id="input" cols="50" rows="20"><iq> <query xmlns="admin:iq:rpc"> <commandname>getauthchallenge</commandname> <commandparams> <authtype>1</authtype> </commandparams> </query> </iq>

</textarea>
Response: <textarea id="response" cols="50" rows="20"></textarea>
<button type="button" onclick="sendQuery();return false;">Send</button>
</form>
</body>
</html>

1.1.3. IceWarp API via PHP

If you want to connetct via websockets , your webserver has to be running with IceWarp PHP extension enabled ( icewarpphp.dll ). Then you can put php script in your web directory and execute the call.

Example PHP

<?php

  $request = '<iq> <query xmlns="admin:iq:rpc"> <commandname>getauthchallenge</commandname> <commandparams> <authtype>1</authtype> </commandparams> </query> </iq>';
  $response = icewarp_apitunnel($request);

  echo 'Request:'. htmlspecialchars($request).'<br/>';
  echo 'Response:'. htmlspecialchars($response);
?>

1.2. Configuring accounts

For now you are able to authenticate with IceWarp account that has Administrator or Domain administrator rights. By default, administrators are able to edit everything on server in all domains and all accounts. Domain administrators can edit only their own domain and only some domain properties. You can change this by creating or editing domain permissions file in account's mailbox directory ( {installpath}/mail/{domain}/{account}/ by default ).

  • domain.dat This file served as a permissions file for old WebAdmin. After logging in it reads RIGHTS= values for account types and the list of available domains. If such file is not present in mailbox directory , default rights file is used {installpath}/config/domain.dat
    see domain.dat help
  • adminperm.datThis is serialized permissions object file and modifies default permissions for domain administrators and also for administrators. File domain.dat is now obsolete and should be replaced with adminperm.dat ( see adminperm.dat help )

1.3. Logging & Debugging

All communication (request <-> response ) is logged into {installpath}/logs/api/{serverID}{date}.log if API logs are enabled (System ~ Logging ~ Debug ~ API logs )

2. Methods

2.1. Session related methods

They are used for authentication with administrator or domain administrator account. If you want to authenticate using plain text, you can simply use authenticate(0,Email,Password). If you want to log in using RSA, you have to first retreive RSA public key modulus (hash) with method GetAuthChallenge, so you will be able to encrypt the password properly. This hash is valid for 5 minutes, after that you have to get new hash. Important is to store session id value ( returned in sid="" attribute of IQ tag when result is true ). Note that this session id should be stored securely. If you want to destroy your session ,use Logout method.

2.1.1. GetAuthChallenge

Get the challenge string for RSA authentication type

Parameters
  • AuthType : Type of authentication ( plain, rsa, ... ) - see TAuthType
Returns
  • Authentication challegenge string ( currently RSA public key ) see TAuthChallenge
GetAuthChallenge ( AuthType: TAuthType ) : TAuthChallenge

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getauthchallenge</commandname>
  <commandparams>
    <authtype>enumval</authtype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <classname>tauthchallenge</classname>
    <hashid>stringval</hashid>
    <timestamp>intval</timestamp>
  </result>
</query>
</iq>

2.1.2. GetAuthToken

Authenticates and returns authentication token that can be used for both webadmin and webclient

Parameters
  • AuthType : Type of authentication ( plain, rsa, ... ) - see TAuthType
  • Email : Account username or email address - depends on server login policy
  • Password : Account plain text password
  • Digest : Account encrypted password
  • PersistentLogin : Specifies the session expiration - 1 day or 24 days
Returns
  • Authentication token
GetAuthToken ( AuthType: TAuthType Email: AnsiString Password: AnsiString Digest: AnsiString PersistentLogin: Boolean ) : TAPISignupInfo

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getauthtoken</commandname>
  <commandparams>
    <authtype>enumval</authtype>
    <email>stringval</email>
    <password>stringval</password>
    <digest>stringval</digest>
    <persistentlogin>enumval</persistentlogin>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <email>stringval</email>
    <name>
      <classname>taccountname</classname>
      <name>stringval</name>
      <surname>stringval</surname>
    </name>
    <avatartoken>stringval</avatartoken>
    <authtoken>stringval</authtoken>
    <avatarurl>stringval</avatarurl>
  </result>
</query>
</iq>

2.1.3. Authenticate

Authenticates user in IceWarp server and creates his session

Parameters
  • AuthType : Type of authentication ( plain, rsa, ... ) - see TAuthType
  • Email : Account username or email address - depends on server login policy
  • Password : Account plain text password
  • Digest : Account encrypted password
  • PersistentLogin : Specifies the session expiration - 1 day or 24 days
Returns
  • Session ID of authenticated user
Exceptions
  • auth_digest_expired : Login Digest expired (5min)
  • auth_login_invalid : Login invalid Email/Username or Password
  • auth_type_invalid : Invalid AuthType
  • auth_email_missing : Email/Username is missing
  • auth_password_missing : Password is missing
  • auth_digest_missing : Digest is missing
Authenticate ( AuthType: TAuthType Email: AnsiString Password: AnsiString Digest: AnsiString PersistentLogin: Boolean ) : NativeInt

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>authenticate</commandname>
  <commandparams>
    <authtype>enumval</authtype>
    <email>stringval</email>
    <password>stringval</password>
    <digest>stringval</digest>
    <persistentlogin>enumval</persistentlogin>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>intval</result>
</query>
</iq>

2.1.4. AuthenticateGateway

Authenticates gateway account ( account that does not exist on current server , but hash some quarantine here )

Parameters
  • Hash : Hash received in gateway authentication email
Returns
  • 1 on success, 0 when there is some failiure
AuthenticateGateway ( Hash: AnsiString ) : NativeInt

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>authenticategateway</commandname>
  <commandparams>
    <hash>stringval</hash>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>intval</result>
</query>
</iq>

2.1.5. AuthenticateWebClient

Authenticates using weblclient session id

Parameters
  • WebClientSessionID : WebClient Session ID
Returns
  • 1 on success, 0 when there is some failiure
AuthenticateWebClient ( WebClientSessionID: AnsiString ) : NativeInt

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>authenticatewebclient</commandname>
  <commandparams>
    <webclientsessionid>stringval</webclientsessionid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>intval</result>
</query>
</iq>

2.1.6. AuthenticateToken

Authenticates using authentication token

Parameters
  • Token : Authentication token
Returns
  • 1 on success, 0 when there is some failiure + SID
AuthenticateToken ( Token: AnsiString ) : NativeInt

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>authenticatetoken</commandname>
  <commandparams>
    <token>stringval</token>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>intval</result>
</query>
</iq>

2.1.7. SendGatewayAuthentication

Sends the authentication link ( with Hash ) to the email

Parameters
  • Email : Email of gateway account
Returns
  • 1 on success, 0 when there is some failiure
SendGatewayAuthentication ( Email: AnsiString CaptchaRequest: TCaptchaConfirmation ) : NativeInt

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>sendgatewayauthentication</commandname>
  <commandparams>
    <email>stringval</email>
    <captcharequest>
      <uid>stringval</uid>
      <value>stringval</value>
    </captcharequest>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>intval</result>
</query>
</iq>

2.1.8. ImpersonateWebClient

Impersonate as another person and get its webclient session id Administrator can impersonate anyone Domain administrator can impersonate accounts from his domain

Parameters
  • Email : Email of gateway account
Returns
  • 1 on success, 0 when there is some failiure
ImpersonateWebClient ( Email: AnsiString ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>impersonatewebclient</commandname>
  <commandparams>
    <email>stringval</email>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.1.9. Logout

Logs the user out and destroy his session

Logout ( ) : NativeInt

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>logout</commandname>
  <commandparams/>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>intval</result>
</query>
</iq>

2.1.10. GetSessionInfo

Info about active session , see TAPISessionInfo for more details

Returns
  • Info about active session , see TAPISessionInfo for more details
GetSessionInfo ( ) : TAPISessionInfo

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getsessioninfo</commandname>
  <commandparams/>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <email>stringval</email>
    <domain>stringval</domain>
    <admintype>enumval</admintype>
    <isgateway>enumval</isgateway>
    <name>
      <classname>taccountname</classname>
      <name>stringval</name>
      <surname>stringval</surname>
    </name>
    <image>
      <classname>taccountimage</classname>
      <base64data>stringval</base64data>
      <contenttype>stringval</contenttype>
    </image>
    <avatartoken>stringval</avatartoken>
    <passwordexpired>enumval</passwordexpired>
  </result>
</query>
</iq>

2.1.11. GetAvatarToken

Authenticates and returns authentication token that can be used for both webadmin and webclient

Parameters
  • Email : Email
Returns
  • Authentication token
GetAvatarToken ( Email: AnsiString ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getavatartoken</commandname>
  <commandparams>
    <email>stringval</email>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.1.12. GetAvatar

Authenticates and returns authentication token that can be used for both webadmin and webclient

Parameters
  • AuthType : Type of authentication ( plain, rsa, ... ) - see TAuthType
Returns
  • Authentication token
GetAvatar ( Email: AnsiString ) : TAccountImage

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getavatar</commandname>
  <commandparams>
    <email>stringval</email>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <classname>taccountimage</classname>
    <base64data>stringval</base64data>
    <contenttype>stringval</contenttype>
  </result>
</query>
</iq>

2.2. Server related methods

These methods are used to work with server variables. It allows you to get or set server properties according to session permissions.It also allows you to browser Server API Console and get the complete list of API variables used for translation of API console comments

2.2.1. GetMyServerRights

Gets the rights for server properties

Parameters
  • ServerPropertyList : Specifies the server properties you want to get rights for
Returns
  • Server properties rights list ( see TPropertyRightList )
GetMyServerRights ( ServerPropertyList: TServerPropertyList ) : TPropertyRightList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getmyserverrights</commandname>
  <commandparams>
    <serverpropertylist>
      <item>
        <propname>stringval</propname>
      </item>
      <item>
        <propname>stringval</propname>
      </item>
    </serverpropertylist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyright>enumval</propertyright>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyright>enumval</propertyright>
    </item>
  </result>
</query>
</iq>

2.2.2. GetServerProperties

Gets the values of server properties

Parameters
  • ServerPropertyList : Specifies the list of variables you want to get
Returns
  • List of server properties with its values and rights ( see TPropertyValueList for more details )
GetServerProperties ( ServerPropertyList: TServerPropertyList ) : TPropertyValueList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getserverproperties</commandname>
  <commandparams>
    <serverpropertylist>
      <item>
        <propname>stringval</propname>
      </item>
      <item>
        <propname>stringval</propname>
      </item>
    </serverpropertylist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>tpropertymember</classname>
        <val>stringval</val>
        <default>enumval</default>
        <recieve>enumval</recieve>
        <post>enumval</post>
        <digest>enumval</digest>
        <params>stringval</params>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>tpropertymembers</classname>
        <val>
          <item>
            <classname>tpropertymember</classname>
            <val>stringval</val>
            <default>enumval</default>
            <recieve>enumval</recieve>
            <post>enumval</post>
            <digest>enumval</digest>
            <params>stringval</params>
          </item>
          <item>
            <classname>tpropertymember</classname>
            <val>stringval</val>
            <default>enumval</default>
            <recieve>enumval</recieve>
            <post>enumval</post>
            <digest>enumval</digest>
            <params>stringval</params>
          </item>
        </val>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
  </result>
</query>
</iq>

2.2.3. SetServerProperties

Sets the values of server properties

Parameters
  • PropertyValueList : Specifies the list of variables you want to set with its values
Returns
  • 1 on success, 0 when there is some failiure
SetServerProperties ( PropertyValueList: TPropertyValueList ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setserverproperties</commandname>
  <commandparams>
    <propertyvaluelist>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>taccountresponder</classname>
          <norespond>
            <classname>tpropertystringlist</classname>
            <val>
              <item>item 1</item>
              <item>item2</item>
            </val>
          </norespond>
          <respondermessage>
            <classname>taccountrespondermessage</classname>
            <from>stringval</from>
            <subject>stringval</subject>
            <text>stringval</text>
          </respondermessage>
          <respondertype>enumval</respondertype>
          <respondperiod>intval</respondperiod>
          <respondbetweenfrom>stringval</respondbetweenfrom>
          <respondbetweento>stringval</respondbetweento>
          <respondonlyiftome>enumval</respondonlyiftome>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>tactivationkey</classname>
          <keytype>enumval</keytype>
          <description>stringval</description>
          <count>stringval</count>
          <value>stringval</value>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.2.4. GetServerAPIConsole

Gets the list of server api variables, its values, data types and rights

Parameters
  • Filter : Filter for server api variables ( see TPropertyListFilter )
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
  • Comments : Specifies if return comments or not
Returns
  • List of server api variables with its values and rights ( see TPropertyInfoList )
GetServerAPIConsole ( Filter: TPropertyListFilter Offset: NativeInt Count: NativeInt Comments: Boolean ) : TPropertyInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getserverapiconsole</commandname>
  <commandparams>
    <filter>
      <mask>stringval</mask>
      <groups>
        <classname>tpropertystringlist</classname>
        <val>
          <item>item 1</item>
          <item>item2</item>
        </val>
      </groups>
      <clear>enumval</clear>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
    <comments>enumval</comments>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>tdomainoutlookpolicies</classname>
      </propertyval>
      <propertyright>enumval</propertyright>
      <propertyenumvalues>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
      </propertyenumvalues>
      <propertycomment>stringval</propertycomment>
      <propertygroup>stringval</propertygroup>
      <propertyvaluetype>enumval</propertyvaluetype>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>tactivationkey</classname>
        <keytype>enumval</keytype>
        <description>stringval</description>
        <count>stringval</count>
        <value>stringval</value>
      </propertyval>
      <propertyright>enumval</propertyright>
      <propertyenumvalues>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
      </propertyenumvalues>
      <propertycomment>stringval</propertycomment>
      <propertygroup>stringval</propertygroup>
      <propertyvaluetype>enumval</propertyvaluetype>
    </item>
  </result>
</query>
</iq>

2.2.5. GetAllAPIVariables

Gets the list of all api variables and its comments

Returns
  • Info list about server api variables - only names and comments
GetAllAPIVariables ( ) : TPropertyTranslateList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getallapivariables</commandname>
  <commandparams/>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <name>stringval</name>
      <comment>stringval</comment>
    </item>
    <item>
      <name>stringval</name>
      <comment>stringval</comment>
    </item>
  </result>
</query>
</iq>

2.3. Domain related methods

These methods allows you to work with domains.There is a possibility to create or rename domain, set or get its properties, get the rights, get the list of domains or access domain API console

2.3.1. GetDomainsInfoList

Get the informations about domains available in current session

Parameters
  • Filter : Domain list filter , see TDomainListFilter for more details
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
Returns
  • Informational list of domains ( see TDomainsInfoList )
GetDomainsInfoList ( Filter: TDomainListFilter Offset: NativeInt Count: NativeInt ) : TDomainsInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getdomainsinfolist</commandname>
  <commandparams>
    <filter>
      <namemask>stringval</namemask>
      <typemask>stringval</typemask>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <name>stringval</name>
      <desc>stringval</desc>
      <domaintype>intval</domaintype>
      <accountcount>intval</accountcount>
    </item>
    <item>
      <name>stringval</name>
      <desc>stringval</desc>
      <domaintype>intval</domaintype>
      <accountcount>intval</accountcount>
    </item>
  </result>
</query>
</iq>

2.3.2. DeleteDomain

Deletes the domain on IceWarp server

Parameters
  • DomainStr : The name of the domain you want to delete
Returns
  • 1 on success, 0 when there is some failiure
DeleteDomain ( DomainStr: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deletedomain</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.3.3. RenameDomain

Renames the domain on IceWarp server

Parameters
  • OldName : The name of the domain you want to rename
  • NewName : New domain name
Returns
  • 1 on success, 0 when there is some failiure
RenameDomain ( OldName: AnsiString NewName: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>renamedomain</commandname>
  <commandparams>
    <oldname>stringval</oldname>
    <newname>stringval</newname>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.3.4. CreateDomain

Creates the domain on IceWarp server

Parameters
  • DomainStr : New domain name
  • DomainProperties : Specifies the domain properties you want to store upon creating the domain
Returns
  • 1 on success, 0 when there is some failiure
CreateDomain ( DomainStr: AnsiString DomainProperties: TPropertyValueList ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>createdomain</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <domainproperties>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>taccountsecurityqa</classname>
          <question>stringval</question>
          <answer>stringval</answer>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>tpropertystringlist</classname>
          <val>
            <item>item 1</item>
            <item>item2</item>
          </val>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </domainproperties>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.3.5. MakeDomainPrimary

Makes the primary domain from one of the domains on IceWarp server

Parameters
  • DomainStr : New domain name
  • DomainProperties : Specifies the domain properties you want to store upon creating the domain
Returns
  • 1 on success, 0 when there is some failiure
MakeDomainPrimary ( DomainStr: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>makedomainprimary</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.3.6. GetMyDomainRigths

Gets the rights for domain properties

Parameters
  • DomainStr : Domain name
  • DomainPropertyList : Specifies the domains properties you want to get rights for
Returns
  • Domain properties rights list ( see TPropertyRightList )
GetMyDomainRigths ( DomainStr: AnsiString DomainPropertyList: TDomainPropertyList ) : TPropertyRightList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getmydomainrigths</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <domainpropertylist>
      <item>
        <propname>stringval</propname>
      </item>
      <item>
        <propname>stringval</propname>
      </item>
    </domainpropertylist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyright>enumval</propertyright>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyright>enumval</propertyright>
    </item>
  </result>
</query>
</iq>

2.3.7. GetDomainProperties

Gets the values of domain properties

Parameters
  • DomainStr : Domain name
  • DomainPropertyList : Specifies the list of variables you want to get
Returns
  • List of domain properties with its values and rights ( see TPropertyValueList for more details )
GetDomainProperties ( DomainStr: AnsiString DomainPropertyList: TDomainPropertyList ) : TPropertyValueList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getdomainproperties</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <domainpropertylist>
      <item>
        <propname>stringval</propname>
      </item>
      <item>
        <propname>stringval</propname>
      </item>
    </domainpropertylist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountoutlookpolicies</classname>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>timroster</classname>
        <val>
          <item>
            <val>stringval</val>
            <grouptitle>stringval</grouptitle>
          </item>
          <item>
            <val>stringval</val>
            <grouptitle>stringval</grouptitle>
          </item>
        </val>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
  </result>
</query>
</iq>

2.3.8. SetDomainProperties

Sets the values of domain properties

Parameters
  • DomainStr : Domain name
  • PropertyValueList : Specifies the list of variables you want to set with its values
Returns
  • 1 on success, 0 when there is some failiure
SetDomainProperties ( DomainStr: AnsiString PropertyValueList: TPropertyValueList ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setdomainproperties</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <propertyvaluelist>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>tpropertymembers</classname>
          <val>
            <item>
              <classname>tpropertymember</classname>
              <val>stringval</val>
              <default>enumval</default>
              <recieve>enumval</recieve>
              <post>enumval</post>
              <digest>enumval</digest>
              <params>stringval</params>
            </item>
            <item>
              <classname>tpropertymember</classname>
              <val>stringval</val>
              <default>enumval</default>
              <recieve>enumval</recieve>
              <post>enumval</post>
              <digest>enumval</digest>
              <params>stringval</params>
            </item>
          </val>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>timroster</classname>
          <val>
            <item>
              <val>stringval</val>
              <grouptitle>stringval</grouptitle>
            </item>
            <item>
              <val>stringval</val>
              <grouptitle>stringval</grouptitle>
            </item>
          </val>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.3.9. GetDomainAPIConsole

Gets the list of domain api variables, its values, data types and rights

Parameters
  • DomainStr : Name of IceWarp domain existing on server
  • Filter : Filter for domain api variables ( see TPropertyListFilter )
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
  • Comments : Specifies whether return comments or not ( Boolean )
Returns
  • List of domain api variables with its values and rights ( see TPropertyInfoList )
GetDomainAPIConsole ( DomainStr: AnsiString Filter: TPropertyListFilter Offset: NativeInt Count: NativeInt Comments: Boolean ) : TPropertyInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getdomainapiconsole</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <filter>
      <mask>stringval</mask>
      <groups>
        <classname>tpropertystringlist</classname>
        <val>
          <item>item 1</item>
          <item>item2</item>
        </val>
      </groups>
      <clear>enumval</clear>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
    <comments>enumval</comments>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>tdomainoutlookpolicies</classname>
      </propertyval>
      <propertyright>enumval</propertyright>
      <propertyenumvalues>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
      </propertyenumvalues>
      <propertycomment>stringval</propertycomment>
      <propertygroup>stringval</propertygroup>
      <propertyvaluetype>enumval</propertyvaluetype>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>timroster</classname>
        <val>
          <item>
            <val>stringval</val>
            <grouptitle>stringval</grouptitle>
          </item>
          <item>
            <val>stringval</val>
            <grouptitle>stringval</grouptitle>
          </item>
        </val>
      </propertyval>
      <propertyright>enumval</propertyright>
      <propertyenumvalues>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
      </propertyenumvalues>
      <propertycomment>stringval</propertycomment>
      <propertygroup>stringval</propertygroup>
      <propertyvaluetype>enumval</propertyvaluetype>
    </item>
  </result>
</query>
</iq>

2.3.10. GetDomainInformations

Gets the domain informations ( currently used for DNS valiadation only )

Parameters
  • DomainStr : Name of IceWarp domain existing on server
GetDomainInformations ( DomainStr: AnsiString ) : TDomainInformations

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getdomaininformations</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <general>
      <name>stringval</name>
      <defaultalias>stringval</defaultalias>
      <email>stringval</email>
      <usercount>intval</usercount>
      <userlimit>intval</userlimit>
      <ipaddress>stringval</ipaddress>
      <hostname>stringval</hostname>
      <domaintype>enumval</domaintype>
      <expireson>stringval</expireson>
    </general>
    <dns>
      <records>
        <item>
          <host>stringval</host>
          <recordtype>enumval</recordtype>
          <recordservice>enumval</recordservice>
          <value>
            <classname>tpropertystringlist</classname>
            <val>
              <item>item 1</item>
              <item>item2</item>
            </val>
          </value>
        </item>
        <item>
          <host>stringval</host>
          <recordtype>enumval</recordtype>
          <recordservice>enumval</recordservice>
          <value>
            <classname>tpropertystringlist</classname>
            <val>
              <item>item 1</item>
              <item>item2</item>
            </val>
          </value>
        </item>
      </records>
    </dns>
  </result>
</query>
</iq>

2.4. Account related methods

These methods allows you to work with accounts.There is a possibility to create ,edit and delete accounts, set or get account properties, get and set the account folders permissions. There are methods for managing passwords ( expire, modify, generate ), activation keys, account members and as well methods for accessing account API console

2.4.1. GetAccountsInfoList

Get the list of informations about accounts in sepcified IceWarp domain

Parameters
  • DomainStr : Name of IceWarp domain existing on server
  • Filter : Accounts list filter ( see TAccountListFilter )
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
Returns
  • Informational list of accounts ( see TAccountsInfoList )
GetAccountsInfoList ( DomainStr: AnsiString Filter: TAccountListFilter Offset: NativeInt Count: NativeInt ) : TAccountsInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getaccountsinfolist</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <filter>
      <namemask>stringval</namemask>
      <typemask>stringval</typemask>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <name>stringval</name>
      <email>stringval</email>
      <displayemail>stringval</displayemail>
      <accounttype>intval</accounttype>
      <admintype>enumval</admintype>
      <quota>
        <classname>taccountquota</classname>
        <mailboxsize>intval</mailboxsize>
        <mailboxquota>intval</mailboxquota>
      </quota>
      <image>
        <classname>taccountimage</classname>
        <base64data>stringval</base64data>
        <contenttype>stringval</contenttype>
      </image>
    </item>
    <item>
      <name>stringval</name>
      <email>stringval</email>
      <displayemail>stringval</displayemail>
      <accounttype>intval</accounttype>
      <admintype>enumval</admintype>
      <quota>
        <classname>taccountquota</classname>
        <mailboxsize>intval</mailboxsize>
        <mailboxquota>intval</mailboxquota>
      </quota>
      <image>
        <classname>taccountimage</classname>
        <base64data>stringval</base64data>
        <contenttype>stringval</contenttype>
      </image>
    </item>
  </result>
</query>
</iq>

2.4.2. CreateAccount

Creates an account in sepcified IceWarp domain

Parameters
  • DomainStr : Name of IceWarp domain existing on server
  • AccountProperties : List of account properties with its values you want to set upon creating an account
Returns
  • 1 on success, 0 when there is some failiure
CreateAccount ( DomainStr: AnsiString AccountProperties: TPropertyValueList ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>createaccount</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <accountproperties>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>taccountimage</classname>
          <base64data>stringval</base64data>
          <contenttype>stringval</contenttype>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>taccountrespondermessage</classname>
          <from>stringval</from>
          <subject>stringval</subject>
          <text>stringval</text>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </accountproperties>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.3. DeleteAccounts

Deletes the list of accounts in sepcified IceWarp domain

Parameters
  • DomainStr : Name of IceWarp domain existing on server
  • AccountList : StringList of accounts you want to delete ( see TPropertyStringList )
  • LeaveData : Specifies if all account related data should be deleted or not
Returns
  • 1 on success, 0 when there is some failiure
DeleteAccounts ( DomainStr: AnsiString AccountList: TPropertyStringList LeaveData: Boolean ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deleteaccounts</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <accountlist>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </accountlist>
    <leavedata>enumval</leavedata>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.4. DeleteAllAccounts

Deletes all accounts that matches current filter in sepcified IceWarp domain

Parameters
  • DomainStr : Name of IceWarp domain existing on server
  • Filter : Account list filter ( see TAccountListFilter )
Returns
  • 1 on success, 0 when there is some failiure
DeleteAllAccounts ( Domainstr: AnsiString Filter: TAccountListFilter ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deleteallaccounts</commandname>
  <commandparams>
    <domainstr>stringval</domainstr>
    <filter>
      <namemask>stringval</namemask>
      <typemask>stringval</typemask>
    </filter>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.5. GetAccountProperties

Gets the properties of the existing IceWarp account

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • AccountPropertyList : List of properties you want to get ( see TAccountPropertyList )
  • AccountPropertySet : Predefined list of properties( see TAccountPropertySet )
Returns
  • List of account properties with its values and rights ( see TPropertyValueList )
GetAccountProperties ( AccountEmail: AnsiString AccountPropertyList: TAccountPropertyList AccountPropertySet: TAccountPropertySet ) : TPropertyValueList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getaccountproperties</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <accountpropertylist>
      <item>
        <propname>stringval</propname>
      </item>
      <item>
        <propname>stringval</propname>
      </item>
    </accountpropertylist>
    <accountpropertyset>enumval</accountpropertyset>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>tdomainoutlookpolicies</classname>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountquota</classname>
        <mailboxsize>intval</mailboxsize>
        <mailboxquota>intval</mailboxquota>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
  </result>
</query>
</iq>

2.4.6. SetAccountProperties

Sets the properties of the existing IceWarp account

Parameters
  • AccountEmail : Name of IceWarp account existing on server
  • PropertyValueList : List of properties you want to set with its values ( see TPropertyValueList )
  • Filter : Account list filter ( see TAccountListFilter )
Returns
  • 1 on success, 0 when there is some failiure
SetAccountProperties ( AccountEmail: AnsiString PropertyValueList: TPropertyValueList ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setaccountproperties</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <propertyvaluelist>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>tactivationkey</classname>
          <keytype>enumval</keytype>
          <description>stringval</description>
          <count>stringval</count>
          <value>stringval</value>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>taccountquota</classname>
          <mailboxsize>intval</mailboxsize>
          <mailboxquota>intval</mailboxquota>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.7. GetAccountFolderList

Gets the list of IMAP and GroupWare folders in specified IceWarp account

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • OnlyDefault : If set to true ,only default folders are returned
Returns
  • List of folders in specified account( see TFolderInfo )
GetAccountFolderList ( AccountEmail: AnsiString OnlyDefault: Boolean ) : TFolderInfo

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getaccountfolderlist</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <onlydefault>enumval</onlydefault>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <name>stringval</name>
    <id>stringval</id>
    <foldertype>stringval</foldertype>
    <defaulttype>stringval</defaulttype>
    <subfolders>
      <item>
        <name>stringval</name>
        <id>stringval</id>
        <foldertype>stringval</foldertype>
        <defaulttype>stringval</defaulttype>
        <subfolders>
          <item>
            <name>stringval</name>
            <id>stringval</id>
            <foldertype>stringval</foldertype>
            <defaulttype>stringval</defaulttype>
            <subfolders/>
          </item>
          <item>
            <name>stringval</name>
            <id>stringval</id>
            <foldertype>stringval</foldertype>
            <defaulttype>stringval</defaulttype>
            <subfolders/>
          </item>
        </subfolders>
      </item>
      <item>
        <name>stringval</name>
        <id>stringval</id>
        <foldertype>stringval</foldertype>
        <defaulttype>stringval</defaulttype>
        <subfolders>
          <item>
            <name>stringval</name>
            <id>stringval</id>
            <foldertype>stringval</foldertype>
            <defaulttype>stringval</defaulttype>
            <subfolders/>
          </item>
          <item>
            <name>stringval</name>
            <id>stringval</id>
            <foldertype>stringval</foldertype>
            <defaulttype>stringval</defaulttype>
            <subfolders/>
          </item>
        </subfolders>
      </item>
    </subfolders>
  </result>
</query>
</iq>

2.4.8. GetAccountFolderPermissions

Gets the permission list for the folder specified by account email and folderid

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • FolderId : Id of the folder in specified account
Returns
  • List of permissions for specified folder ( TFolderPermissions )
GetAccountFolderPermissions ( AccountEmail: AnsiString FolderId: AnsiString ) : TFolderPermissions

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getaccountfolderpermissions</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <folderid>stringval</folderid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <account>stringval</account>
      <permissions>stringval</permissions>
    </item>
    <item>
      <account>stringval</account>
      <permissions>stringval</permissions>
    </item>
  </result>
</query>
</iq>

2.4.9. SetAccountFolderPermissions

Sets the list of permissions for specified folder in existing IceWarp account

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • FolderId : Id of the folder in specified account
  • Permissions : List of folder permissions ( see TFolderPermissions )
Returns
  • 1 on success, 0 when there is some failiure
SetAccountFolderPermissions ( AccountEmail: AnsiString FolderId: AnsiString Permissions: TFolderPermissions ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setaccountfolderpermissions</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <folderid>stringval</folderid>
    <permissions>
      <item>
        <account>stringval</account>
        <permissions>stringval</permissions>
      </item>
      <item>
        <account>stringval</account>
        <permissions>stringval</permissions>
      </item>
    </permissions>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.10. InheritAccountFolderPermissions

Inherits the permissions of specified folder from higher level

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • FolderId : Id of the folder in specified account
Returns
  • 1 on success, 0 when there is some failiure
InheritAccountFolderPermissions ( AccountEmail: AnsiString FolderId: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>inheritaccountfolderpermissions</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <folderid>stringval</folderid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.11. GetAccountAdministrativePermissions

Inherits the permissions of specified folder from higher level

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • FolderId : Id of the folder in specified account
Returns
  • 1 on success, 0 when there is some failiure
GetAccountAdministrativePermissions ( AccountEmail: AnsiString ) : TAdministrativePermissions

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getaccountadministrativepermissions</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <domainspermissions>
      <item>
        <domainsset>
          <item>
            <mask>stringval</mask>
            <negate>enumval</negate>
          </item>
          <item>
            <mask>stringval</mask>
            <negate>enumval</negate>
          </item>
        </domainsset>
        <domainsadministrativepermissions>
          <accountsrelatedpermissions>
            <item>
              <prop>intval</prop>
              <perm>enumval</perm>
            </item>
            <item>
              <prop>intval</prop>
              <perm>enumval</perm>
            </item>
          </accountsrelatedpermissions>
          <domainrelatedpermissions>
            <item>
              <prop>intval</prop>
              <perm>enumval</perm>
            </item>
            <item>
              <prop>intval</prop>
              <perm>enumval</perm>
            </item>
          </domainrelatedpermissions>
        </domainsadministrativepermissions>
      </item>
      <item>
        <domainsset>
          <item>
            <mask>stringval</mask>
            <negate>enumval</negate>
          </item>
          <item>
            <mask>stringval</mask>
            <negate>enumval</negate>
          </item>
        </domainsset>
        <domainsadministrativepermissions>
          <accountsrelatedpermissions>
            <item>
              <prop>intval</prop>
              <perm>enumval</perm>
            </item>
            <item>
              <prop>intval</prop>
              <perm>enumval</perm>
            </item>
          </accountsrelatedpermissions>
          <domainrelatedpermissions>
            <item>
              <prop>intval</prop>
              <perm>enumval</perm>
            </item>
            <item>
              <prop>intval</prop>
              <perm>enumval</perm>
            </item>
          </domainrelatedpermissions>
        </domainsadministrativepermissions>
      </item>
    </domainspermissions>
    <globalpermissions>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
    </globalpermissions>
  </result>
</query>
</iq>

2.4.12. SetAccountPassword

Changes the password of existing IceWarp account

Parameters
  • AccountEmail : Name of IceWarp account existing on server
  • AuthType : Type of authorization ( plain, RSA, ... ) see ( see TAuthType )
  • Password : Plain text password if type of authorization is plain
  • Digest : RSA encrypted password
  • IgnorePolicy : If set, the process ignores the current password policy
Returns
  • 1 on success, 0 when there is some failiure
SetAccountPassword ( AccountEmail: AnsiString AuthType: TAuthType Password: AnsiString Digest: AnsiString IgnorePolicy: Boolean ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setaccountpassword</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <authtype>enumval</authtype>
    <password>stringval</password>
    <digest>stringval</digest>
    <ignorepolicy>enumval</ignorepolicy>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.13. GenerateAccountPassword

Generates the password of existing IceWarp account according to current Password policy

Returns
  • Generated password
GenerateAccountPassword ( ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>generateaccountpassword</commandname>
  <commandparams/>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.4.14. ExpireAccountPassword

Expires the current password of existing IceWarp account

Returns
  • 1 on success, 0 when there is some failiure
ExpireAccountPassword ( AccountEmail: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>expireaccountpassword</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.15. GenerateAccountActivationKey

Generates activation key for IceWarp account

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • KeyType : Specifies the type of generated key ( see TActivationKeyType )
  • Description : Description of generated key
  • Count : Number of allowed activations
Returns
  • Activation Key string
GenerateAccountActivationKey ( AccountEmail: AnsiString KeyType: TActivationKeyType Description: AnsiString Count: AnsiString ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>generateaccountactivationkey</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <keytype>enumval</keytype>
    <description>stringval</description>
    <count>stringval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.4.16. SendAccountActivationKey

Sends the activation key for IceWarp account

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • KeyType : Specifies the type of generated key ( see TActivationKeyType )
  • Description : Description of generated key
  • Count : Number of allowed activations
Returns
  • 1 on success, 0 when there is some failiure
SendAccountActivationKey ( AccountEmail: AnsiString KeyType: TActivationKeyType Description: AnsiString Count: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>sendaccountactivationkey</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <keytype>enumval</keytype>
    <description>stringval</description>
    <count>stringval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.17. MoveAccountToDomain

Move specified accounts to other domain

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • DestDomain : Target address of IceWarp domain existing on server server
Returns
  • 1 on success, 0 when there is some failiure
MoveAccountToDomain ( AccountList: TPropertyStringList DestDomain: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>moveaccounttodomain</commandname>
  <commandparams>
    <accountlist>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </accountlist>
    <destdomain>stringval</destdomain>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.18. AddAccountMembers

Adds the members to the specified IceWarp account. Available for groups and mailing lists

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • Members : List of members you want to add ( see TPropertyMembers )
Returns
  • 1 on success, 0 when there is some failiure
AddAccountMembers ( AccountEmail: AnsiString Members: TPropertyMembers ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>addaccountmembers</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <members>
      <classname>tpropertymembers</classname>
      <val>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
          <params>stringval</params>
        </item>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
          <params>stringval</params>
        </item>
      </val>
    </members>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.19. EditAccountMembers

Edits the members of the specified IceWarp account. Available for groups and mailing lists

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • Members : List of members you want to add ( see TPropertyMembers )
Returns
  • 1 on success, 0 when there is some failiure
EditAccountMembers ( AccountEmail: AnsiString Members: TPropertyMembers ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>editaccountmembers</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <members>
      <classname>tpropertymembers</classname>
      <val>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
          <params>stringval</params>
        </item>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
          <params>stringval</params>
        </item>
      </val>
    </members>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.20. EditAllAccountMembersRights

Edits the rights for all members of the specified IceWarp account. Available for groups and mailing lists

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • Members : List of members you want to add ( see TPropertyMembers )
Returns
  • 1 on success, 0 when there is some failiure
EditAllAccountMembersRights ( AccountEmail: AnsiString Rights: TPropertyMember ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>editallaccountmembersrights</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <rights>
      <classname>tpropertymember</classname>
      <val>stringval</val>
      <default>enumval</default>
      <recieve>enumval</recieve>
      <post>enumval</post>
      <digest>enumval</digest>
      <params>stringval</params>
    </rights>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.21. AddAllAccountMembers

Adds the members to the specified IceWarp account. Members are specified by IceWarp domain name and current account filter. Available for groups and mailing lists

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • DomainStr : Name of IceWarp domain existing on server
  • Filter : Account list filter ( see TAccountListFilter )
Returns
  • 1 on success, 0 when there is some failiure
AddAllAccountMembers ( AccountEmail: AnsiString DomainStr: AnsiString Filter: TAccountListFilter ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>addallaccountmembers</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <domainstr>stringval</domainstr>
    <filter>
      <namemask>stringval</namemask>
      <typemask>stringval</typemask>
    </filter>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.22. DeleteAccountMembers

Deletes the members from the specified IceWarp account. Available for groups and mailing lists

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • Members : List of members you want to delete ( see TPropertyMembers )
Returns
  • 1 on success, 0 when there is some failiure
DeleteAccountMembers ( AccountEmail: AnsiString Members: TPropertyMembers ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deleteaccountmembers</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <members>
      <classname>tpropertymembers</classname>
      <val>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
          <params>stringval</params>
        </item>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
          <params>stringval</params>
        </item>
      </val>
    </members>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.23. DeleteAllAccountMembers

Deletes all members from the IceWarp account. Available for groups and mailing lists

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
Returns
  • 1 on success, 0 when there is some failiure
DeleteAllAccountMembers ( AccountEmail: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deleteallaccountmembers</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.4.24. GetAccountAPIConsole

Gets the list of account api variables, its values, data types and rights

Parameters
  • AccountEmail : Email address of IceWarp account existing on server
  • Filter : Filter for account api variables ( see TPropertyListFilter )
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
  • Comments : Specifies whether return comments or not ( Boolean )
Returns
  • List of account api variables with its values and rights ( see TPropertyInfoList )
GetAccountAPIConsole ( AccountEmail: AnsiString Filter: TPropertyListFilter Offset: NativeInt Count: NativeInt Comments: Boolean ) : TPropertyInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getaccountapiconsole</commandname>
  <commandparams>
    <accountemail>stringval</accountemail>
    <filter>
      <mask>stringval</mask>
      <groups>
        <classname>tpropertystringlist</classname>
        <val>
          <item>item 1</item>
          <item>item2</item>
        </val>
      </groups>
      <clear>enumval</clear>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
    <comments>enumval</comments>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountsecurityqa</classname>
        <question>stringval</question>
        <answer>stringval</answer>
      </propertyval>
      <propertyright>enumval</propertyright>
      <propertyenumvalues>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
      </propertyenumvalues>
      <propertycomment>stringval</propertycomment>
      <propertygroup>stringval</propertygroup>
      <propertyvaluetype>enumval</propertyvaluetype>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountsecurityqa</classname>
        <question>stringval</question>
        <answer>stringval</answer>
      </propertyval>
      <propertyright>enumval</propertyright>
      <propertyenumvalues>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
        <item>
          <value>stringval</value>
          <name>stringval</name>
        </item>
      </propertyenumvalues>
      <propertycomment>stringval</propertycomment>
      <propertygroup>stringval</propertygroup>
      <propertyvaluetype>enumval</propertyvaluetype>
    </item>
  </result>
</query>
</iq>

2.5. Rule related methods

These methods allows you to work with accounts.There is a possibility to create ,edit and delete accounts, set or get account properties, get and set the account folders permissions. There are methods for managing passwords ( expire, modify, generate ), activation keys, account members and as well methods for accessing account API console

2.5.1. GetRulesInfoList

Get the info list of server, domain or account rules

Parameters
  • Who : The value can be email address(account rules), domain name(domain rules) or empty string (server rules)
  • Filter : Rules list filter , see TRulesListFilter for more details
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
Returns
  • Informational list of rules ( see TRulesInfoList )
GetRulesInfoList ( Who: AnsiString Filter: TRulesListFilter Offset: NativeInt Count: NativeInt ) : TRulesInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getrulesinfolist</commandname>
  <commandparams>
    <who>stringval</who>
    <filter>
      <namemask>stringval</namemask>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <ruleid>stringval</ruleid>
      <title>stringval</title>
      <active>enumval</active>
      <actiontype>enumval</actiontype>
      <condition>
        <classname>trulesenderrecipientcondition</classname>
        <recipientsender>enumval</recipientsender>
        <remotelocal>enumval</remotelocal>
        <recipientcondition>enumval</recipientcondition>
        <account>stringval</account>
      </condition>
    </item>
    <item>
      <ruleid>stringval</ruleid>
      <title>stringval</title>
      <active>enumval</active>
      <actiontype>enumval</actiontype>
      <condition>
        <classname>trulesenderrecipientcondition</classname>
        <recipientsender>enumval</recipientsender>
        <remotelocal>enumval</remotelocal>
        <recipientcondition>enumval</recipientcondition>
        <account>stringval</account>
      </condition>
    </item>
  </result>
</query>
</iq>

2.5.2. GetRule

Returns detailed information about rule specified by Who and RuleID

Parameters
  • Who : The value can be email address(account rules), domain name(domain rules) or empty string (server rules)
  • RuleID : Id of the rule
Returns
  • Detailed settings for current rule ( list of conditions, actions - see TRuleSettings )
GetRule ( Who: AnsiString RuleID: AnsiString ) : TRuleSettings

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getrule</commandname>
  <commandparams>
    <who>stringval</who>
    <ruleid>stringval</ruleid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <conditions>
      <item>
        <classname>trulesenderrecipientcondition</classname>
        <recipientsender>enumval</recipientsender>
        <remotelocal>enumval</remotelocal>
        <recipientcondition>enumval</recipientcondition>
        <account>stringval</account>
      </item>
      <item>
        <classname>truletrustedsessioncondition</classname>
      </item>
    </conditions>
    <actions>
      <item>
        <classname>truleforwardtoemailaction</classname>
        <email>stringval</email>
      </item>
      <item>
        <classname>truleencryptaction</classname>
      </item>
    </actions>
    <title>stringval</title>
    <active>enumval</active>
    <ruleid>intval</ruleid>
  </result>
</query>
</iq>

2.5.3. AddRule

Creates new rule from RuleSettings

Parameters
  • Who : The value can be email address(account rules), domain name(domain rules) or empty string (server rules)
  • RuleSettings : Detailed settings for current rule( see TRuleSettings )
Returns
  • 1 on success, 0 when there is some failiure
AddRule ( Who: AnsiString RuleSettings: TRuleSettings ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>addrule</commandname>
  <commandparams>
    <who>stringval</who>
    <rulesettings>
      <conditions>
        <item>
          <classname>trulelocaltimecondition</classname>
          <weekdays>enumval</weekdays>
          <monday>enumval</monday>
          <tuesday>enumval</tuesday>
          <wednesday>enumval</wednesday>
          <thursday>enumval</thursday>
          <friday>enumval</friday>
          <saturday>enumval</saturday>
          <sunday>enumval</sunday>
          <betweentimes>enumval</betweentimes>
          <fromtime>stringval</fromtime>
          <totime>stringval</totime>
          <betweendates>enumval</betweendates>
          <fromdate>stringval</fromdate>
          <todate>stringval</todate>
        </item>
        <item>
          <classname>truleprioritycondition</classname>
          <priority>enumval</priority>
        </item>
      </conditions>
      <actions>
        <item>
          <classname>trulemessageactionaction</classname>
          <messageactiontype>enumval</messageactiontype>
        </item>
        <item>
          <classname>truleeditheaderaction</classname>
          <headers>
            <item>
              <editheadertype>enumval</editheadertype>
              <header>stringval</header>
              <hasregex>enumval</hasregex>
              <regex>stringval</regex>
              <value>stringval</value>
            </item>
            <item>
              <editheadertype>enumval</editheadertype>
              <header>stringval</header>
              <hasregex>enumval</hasregex>
              <regex>stringval</regex>
              <value>stringval</value>
            </item>
          </headers>
        </item>
      </actions>
      <title>stringval</title>
      <active>enumval</active>
      <ruleid>intval</ruleid>
    </rulesettings>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.5.4. EditRule

Edits RuleSettings of existing rule specified by Id

Parameters
  • Who : The value can be email address(account rules), domain name(domain rules) or empty string (server rules)
  • RuleSettings : Detailed settings for current rule( see TRuleSettings )
  • RuleID : Id of the rule
Returns
  • 1 on success, 0 when there is some failiure
EditRule ( Who: AnsiString RuleSettings: TRuleSettings RuleID: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>editrule</commandname>
  <commandparams>
    <who>stringval</who>
    <rulesettings>
      <conditions>
        <item>
          <classname>truleprioritycondition</classname>
          <priority>enumval</priority>
        </item>
        <item>
          <classname>trulednsblcondition</classname>
          <server>stringval</server>
          <regex>stringval</regex>
        </item>
      </conditions>
      <actions>
        <item>
          <classname>trulemessageactionaction</classname>
          <messageactiontype>enumval</messageactiontype>
        </item>
        <item>
          <classname>truleeditheaderaction</classname>
          <headers>
            <item>
              <editheadertype>enumval</editheadertype>
              <header>stringval</header>
              <hasregex>enumval</hasregex>
              <regex>stringval</regex>
              <value>stringval</value>
            </item>
            <item>
              <editheadertype>enumval</editheadertype>
              <header>stringval</header>
              <hasregex>enumval</hasregex>
              <regex>stringval</regex>
              <value>stringval</value>
            </item>
          </headers>
        </item>
      </actions>
      <title>stringval</title>
      <active>enumval</active>
      <ruleid>intval</ruleid>
    </rulesettings>
    <ruleid>stringval</ruleid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.5.5. DeleteRule

Deletes existing rule specified by Id

Parameters
  • Who : The value can be email address(account rules), domain name(domain rules) or empty string (server rules)
  • RuleID : Id of the rule
Returns
  • 1 on success, 0 when there is some failiure
DeleteRule ( Who: AnsiString RuleID: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deleterule</commandname>
  <commandparams>
    <who>stringval</who>
    <ruleid>stringval</ruleid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.5.6. MoveRule

Move specified Rule up or down

Parameters
  • Who : The value can be email address(account rules), domain name(domain rules) or empty string (server rules)
  • RuleID : Id of the rule
  • MoveType : Specifies whether to move rule up(0) or down(1) - see TRuleMoveType
Returns
  • 1 on success, 0 when there is some failiure
MoveRule ( Who: AnsiString RuleID: AnsiString MoveType: TRuleMoveType ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>moverule</commandname>
  <commandparams>
    <who>stringval</who>
    <ruleid>stringval</ruleid>
    <movetype>enumval</movetype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.6. Device related methods

These methods allows you to work with accounts.There is a possibility to create ,edit and delete accounts, set or get account properties, get and set the account folders permissions. There are methods for managing passwords ( expire, modify, generate ), activation keys, account members and as well methods for accessing account API console

2.6.1. GetDevicesInfoList

Get the info list of server, domain or account mobile devices

Parameters
  • Who : The value can be email address(account devices), domain name(domain devices) or empty string (server devices)
  • Filter : Mobile devices list filter ( see TMobileDeviceListFilter )
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
Returns
  • Informational list of rules ( see TMobileDevicesInfoList )
GetDevicesInfoList ( Who: AnsiString Filter: TMobileDeviceListFilter Offset: NativeInt Count: NativeInt ) : TMobileDevicesInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getdevicesinfolist</commandname>
  <commandparams>
    <who>stringval</who>
    <filter>
      <namemask>stringval</namemask>
      <status>enumval</status>
      <lastsync>intval</lastsync>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <deviceid>stringval</deviceid>
      <id>stringval</id>
      <account>stringval</account>
      <name>stringval</name>
      <devicetype>stringval</devicetype>
      <model>stringval</model>
      <os>stringval</os>
      <protocolversion>stringval</protocolversion>
      <registered>stringval</registered>
      <lastsync>stringval</lastsync>
      <remotewipe>enumval</remotewipe>
      <status>enumval</status>
    </item>
    <item>
      <deviceid>stringval</deviceid>
      <id>stringval</id>
      <account>stringval</account>
      <name>stringval</name>
      <devicetype>stringval</devicetype>
      <model>stringval</model>
      <os>stringval</os>
      <protocolversion>stringval</protocolversion>
      <registered>stringval</registered>
      <lastsync>stringval</lastsync>
      <remotewipe>enumval</remotewipe>
      <status>enumval</status>
    </item>
  </result>
</query>
</iq>

2.6.2. GetDeviceProperties

Gets mobile device properties

Parameters
  • DeviceID : Id of mobile device
  • DevicePropertyList : List of properties you want to retrieve
Returns
  • Device property list with its values and rights
GetDeviceProperties ( DeviceID: AnsiString DevicePropertyList: TDevicePropertyList ) : TPropertyValueList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getdeviceproperties</commandname>
  <commandparams>
    <deviceid>stringval</deviceid>
    <devicepropertylist>
      <item>
        <propname>stringval</propname>
      </item>
      <item>
        <propname>stringval</propname>
      </item>
    </devicepropertylist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>tpropertystring</classname>
        <val>stringval</val>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountcard</classname>
        <body>stringval</body>
        <anniversary>stringval</anniversary>
        <birthday>stringval</birthday>
        <assistantname>stringval</assistantname>
        <companyname>stringval</companyname>
        <department>stringval</department>
        <fileas>stringval</fileas>
        <firstname>stringval</firstname>
        <jobtitle>stringval</jobtitle>
        <lastname>stringval</lastname>
        <managername>stringval</managername>
        <middlename>stringval</middlename>
        <nickname>stringval</nickname>
        <officelocation>stringval</officelocation>
        <spouse>stringval</spouse>
        <suffix>stringval</suffix>
        <title>stringval</title>
        <webpage>stringval</webpage>
        <certificate>stringval</certificate>
        <freebusyurl>stringval</freebusyurl>
        <profession>stringval</profession>
        <sensitivity>stringval</sensitivity>
        <gender>stringval</gender>
        <businessaddresscity>stringval</businessaddresscity>
        <businessaddresscountry>stringval</businessaddresscountry>
        <businessaddresspostalcode>stringval</businessaddresspostalcode>
        <businessaddressstate>stringval</businessaddressstate>
        <businessaddressstreet>stringval</businessaddressstreet>
        <businessaddresspostofficebox>stringval</businessaddresspostofficebox>
        <homeaddresscity>stringval</homeaddresscity>
        <homeaddresscountry>stringval</homeaddresscountry>
        <homeaddresspostalcode>stringval</homeaddresspostalcode>
        <homeaddressstate>stringval</homeaddressstate>
        <homeaddressstreet>stringval</homeaddressstreet>
        <homeaddresspostofficebox>stringval</homeaddresspostofficebox>
        <email1address>stringval</email1address>
        <email2address>stringval</email2address>
        <email3address>stringval</email3address>
        <imaddress>stringval</imaddress>
        <homepage>stringval</homepage>
        <homepage2>stringval</homepage2>
        <assistnametelephonenumber>stringval</assistnametelephonenumber>
        <businessfaxnumber>stringval</businessfaxnumber>
        <businesstelephonenumber>stringval</businesstelephonenumber>
        <business2telephonenumber>stringval</business2telephonenumber>
        <cartelephonenumber>stringval</cartelephonenumber>
        <companymaintelephonenumber>stringval</companymaintelephonenumber>
        <homefaxnumber>stringval</homefaxnumber>
        <hometelephonenumber>stringval</hometelephonenumber>
        <home2telephonenumber>stringval</home2telephonenumber>
        <mobiletelephonenumber>stringval</mobiletelephonenumber>
        <pagernumber>stringval</pagernumber>
        <radiotelephonenumber>stringval</radiotelephonenumber>
        <callbacktelephonenumber>stringval</callbacktelephonenumber>
        <isdnnumber>stringval</isdnnumber>
        <otherfaxnumber>stringval</otherfaxnumber>
        <primarytelephonenumber>stringval</primarytelephonenumber>
        <telexnumber>stringval</telexnumber>
        <hearingnumber>stringval</hearingnumber>
        <othernumber>stringval</othernumber>
        <categories>
          <classname>tpropertystringlist</classname>
          <val>
            <item>item 1</item>
            <item>item2</item>
          </val>
        </categories>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
  </result>
</query>
</iq>

2.6.3. SetDeviceProperties

Sets mobile device properties

Parameters
  • DeviceID : Id of mobile device
  • PropertyValueList : List of properties you want to set with its values
Returns
  • 1 on success, 0 when there is some failiure
SetDeviceProperties ( DeviceID: AnsiString PropertyValueList: TPropertyValueList ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setdeviceproperties</commandname>
  <commandparams>
    <deviceid>stringval</deviceid>
    <propertyvaluelist>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>taccountsecurityqa</classname>
          <question>stringval</question>
          <answer>stringval</answer>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>timroster</classname>
          <val>
            <item>
              <val>stringval</val>
              <grouptitle>stringval</grouptitle>
            </item>
            <item>
              <val>stringval</val>
              <grouptitle>stringval</grouptitle>
            </item>
          </val>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.6.4. DeleteDevices

Deletes mobile device(s)

Parameters
  • DevicesList : List of DeviceIDs to be deleted
Returns
  • 1 on success, 0 when there is some failiure
DeleteDevices ( DevicesList: TPropertyStringList ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deletedevices</commandname>
  <commandparams>
    <deviceslist>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </deviceslist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.6.5. SetDeviceWipe

Marks selected mobile device for remote wipe

Parameters
  • DeviceID : Id of mobile device
  • WipeType : Type of mobile device remote wipe ( see TMobileDeviceRemoteWipeSet )
Returns
  • 1 on success, 0 when there is some failiure
SetDeviceWipe ( DeviceID: AnsiString WipeType: TMobileDeviceRemoteWipeSet ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setdevicewipe</commandname>
  <commandparams>
    <deviceid>stringval</deviceid>
    <wipetype>enumval</wipetype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.6.6. SetDeviceStatus

Sets the specified mobile device status

Parameters
  • DeviceID : Id of mobile device
  • StatusType : Type of mobile status ( see TMobileDeviceStatusSet )
Returns
  • 1 on success, 0 when there is some failiure
SetDeviceStatus ( DeviceID: AnsiString StatusType: TMobileDeviceStatusSet ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setdevicestatus</commandname>
  <commandparams>
    <deviceid>stringval</deviceid>
    <statustype>enumval</statustype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.6.7. DeleteAllDevices

Deletes the mobile devices that matches current Who and Filter

Parameters
  • Who : The value can be email address(account devices), domain name(domain devices) or empty string (server devices)
  • Filter : Mobile devices list filter ( see TMobileDeviceListFilter )
Returns
  • 1 on success, 0 when there is some failiure
DeleteAllDevices ( Who: AnsiString Filter: TMobileDeviceListFilter ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deletealldevices</commandname>
  <commandparams>
    <who>stringval</who>
    <filter>
      <namemask>stringval</namemask>
      <status>enumval</status>
      <lastsync>intval</lastsync>
    </filter>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.6.8. SetAllDevicesStatus

Sets the status of all mobile devices that mathces current Who and Filter

Parameters
  • Who : The value can be email address(account devices), domain name(domain devices) or empty string (server devices)
  • Filter : Mobile devices list filter ( see TMobileDeviceListFilter )
  • StatusType : Type of mobile status ( see TMobileDeviceStatusSet )
Returns
  • 1 on success, 0 when there is some failiure
SetAllDevicesStatus ( Who: AnsiString Filter: TMobileDeviceListFilter StatusType: TMobileDeviceStatusSet ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setalldevicesstatus</commandname>
  <commandparams>
    <who>stringval</who>
    <filter>
      <namemask>stringval</namemask>
      <status>enumval</status>
      <lastsync>intval</lastsync>
    </filter>
    <statustype>enumval</statustype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.7. Account mebers related methods

These methods allows you to work with accounts.There is a possibility to create ,edit and delete accounts, set or get account properties, get and set the account folders permissions. There are methods for managing passwords ( expire, modify, generate ), activation keys, account members and as well methods for accessing account API console

2.7.1. GetAccountMemberInfoList

Get the info list of server, domain or account mobile devices

Parameters
  • Who : The value can be email address(account devices), domain name(domain devices) or empty string (server devices)
  • Filter : Mobile devices list filter ( see TMobileDeviceListFilter )
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
Returns
  • Informational list of rules ( see TMobileDevicesInfoList )
GetAccountMemberInfoList ( Who: AnsiString Filter: TAccountMemberListFilter Offset: NativeInt Count: NativeInt ) : TAccountMemberInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getaccountmemberinfolist</commandname>
  <commandparams>
    <who>stringval</who>
    <filter>
      <namemask>stringval</namemask>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <val>stringval</val>
      <default>enumval</default>
      <recieve>enumval</recieve>
      <post>enumval</post>
      <digest>enumval</digest>
      <params>stringval</params>
    </item>
    <item>
      <val>stringval</val>
      <default>enumval</default>
      <recieve>enumval</recieve>
      <post>enumval</post>
      <digest>enumval</digest>
      <params>stringval</params>
    </item>
  </result>
</query>
</iq>

2.7.2. GetAccountMemberProperties

Gets mobile device properties

Parameters
  • MemberID : Id of account member
  • AccountMemberPropertyList : List of properties you want to retrieve
Returns
  • Account member property list with its values and rights
GetAccountMemberProperties ( Who: AnsiString MemberID: AnsiString AccountMemberPropertyList: TAccountMemberPropertyList ) : TPropertyValueList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getaccountmemberproperties</commandname>
  <commandparams>
    <who>stringval</who>
    <memberid>stringval</memberid>
    <accountmemberpropertylist>
      <item>
        <propname>stringval</propname>
      </item>
      <item>
        <propname>stringval</propname>
      </item>
    </accountmemberpropertylist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountimage</classname>
        <base64data>stringval</base64data>
        <contenttype>stringval</contenttype>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountresponder</classname>
        <norespond>
          <classname>tpropertystringlist</classname>
          <val>
            <item>item 1</item>
            <item>item2</item>
          </val>
        </norespond>
        <respondermessage>
          <classname>taccountrespondermessage</classname>
          <from>stringval</from>
          <subject>stringval</subject>
          <text>stringval</text>
        </respondermessage>
        <respondertype>enumval</respondertype>
        <respondperiod>intval</respondperiod>
        <respondbetweenfrom>stringval</respondbetweenfrom>
        <respondbetweento>stringval</respondbetweento>
        <respondonlyiftome>enumval</respondonlyiftome>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
  </result>
</query>
</iq>

2.7.3. SetAccountMemberProperties

Sets account member properties

Parameters
  • MemberID : Id of account member
  • PropertyValueList : List of properties you want to set with its values
Returns
  • 1 on success, 0 when there is some failiure
SetAccountMemberProperties ( Who: AnsiString MemberID: AnsiString PropertyValueList: TPropertyValueList ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setaccountmemberproperties</commandname>
  <commandparams>
    <who>stringval</who>
    <memberid>stringval</memberid>
    <propertyvaluelist>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>taccountrespondermessage</classname>
          <from>stringval</from>
          <subject>stringval</subject>
          <text>stringval</text>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>taccountimage</classname>
          <base64data>stringval</base64data>
          <contenttype>stringval</contenttype>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.7.4. GetWebmailResource

Gets webclient setting properties

Parameters
  • DevicesList : List of DeviceIDs to be deleted
  • Resource : Webclient resource name
  • Level : Level : 0 - Server, 1 - Domain, 2 - Account
  • Selector : Depends on Level : 0 - empty, 1 - Domain name, 2 - Account email address
  • Items : Optional filter on which variable names you want to get from selected resource name
Returns
  • 1 on success, 0 when there is some failiure
  • Webclient setting resource ( see TWebmailSettingsResource )
GetWebmailResource ( Resource: AnsiString Level: TAPISettingsLevel Selector: AnsiString Items: TPropertyStringList ) : TWebmailSettingsResource

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getwebmailresource</commandname>
  <commandparams>
    <resource>stringval</resource>
    <level>enumval</level>
    <selector>stringval</selector>
    <items>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </items>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <classname>twebmailsettingsresource</classname>
    <name>stringval</name>
  </result>
</query>
</iq>

2.7.5. GetWebmailResources

Gets webclient setting properties

Parameters
  • Resources : List of webclient resrouces we want to get
  • Level : Level : 0 - Server, 1 - Domain, 2 - Account
  • Selector : Depends on Level : 0 - empty, 1 - Domain name, 2 - Account email address
  • Items : Optional filter on which variable names you want to get from selected resource name
Returns
  • Webclient setting resource ( see TWebmailSettingsResource )
GetWebmailResources ( Resources: TSettingsResourcesFilter Level: TAPISettingsLevel Selector: AnsiString ) : TAPISettingsResources

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getwebmailresources</commandname>
  <commandparams>
    <resources>
      <item>
        <name>stringval</name>
        <items>
          <classname>tpropertystringlist</classname>
          <val>
            <item>item 1</item>
            <item>item2</item>
          </val>
        </items>
      </item>
      <item>
        <name>stringval</name>
        <items>
          <classname>tpropertystringlist</classname>
          <val>
            <item>item 1</item>
            <item>item2</item>
          </val>
        </items>
      </item>
    </resources>
    <level>enumval</level>
    <selector>stringval</selector>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <list>
      <item>
        <list>
          <item>
            <classname>twebmailsettingsresource</classname>
            <name>stringval</name>
          </item>
          <item>
            <classname>twebmailsettingsresource</classname>
            <name>stringval</name>
          </item>
        </list>
        <name>stringval</name>
        <resourcetype>enumval</resourcetype>
        <default>enumval</default>
      </item>
      <item>
        <list>
          <item>
            <classname>twebmailsettingsresource</classname>
            <name>stringval</name>
          </item>
          <item>
            <classname>twebmailsettingsresource</classname>
            <name>stringval</name>
          </item>
        </list>
        <name>stringval</name>
        <resourcetype>enumval</resourcetype>
        <default>enumval</default>
      </item>
    </list>
  </result>
</query>
</iq>

2.7.6. SetWebmailResources

Sets webclient settings resources

Parameters
  • Resources : Webclient resources to be set
  • Level : Level : 0 - Server, 1 - Domain, 2 - Account
  • Selector : Depends on Level : 0 - empty, 1 - Domain name, 2 - Account email address
Returns
  • 1 on succes, 0 on failure
SetWebmailResources ( Resources: TAPISettingsResources Level: TAPISettingsLevel Selector: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setwebmailresources</commandname>
  <commandparams>
    <resources>
      <list>
        <item>
          <list>
            <item>
              <classname>twebmailsettingsresource</classname>
              <name>stringval</name>
            </item>
            <item>
              <classname>twebmailsettingsresource</classname>
              <name>stringval</name>
            </item>
          </list>
          <name>stringval</name>
          <resourcetype>enumval</resourcetype>
          <default>enumval</default>
        </item>
        <item>
          <list>
            <item>
              <classname>twebmailsettingsresource</classname>
              <name>stringval</name>
            </item>
            <item>
              <classname>twebmailsettingsresource</classname>
              <name>stringval</name>
            </item>
          </list>
          <name>stringval</name>
          <resourcetype>enumval</resourcetype>
          <default>enumval</default>
        </item>
      </list>
    </resources>
    <level>enumval</level>
    <selector>stringval</selector>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.7.7. GetAdminResources

Gets admin setting properties

Parameters
  • Resources : Admin resource name
  • Level : Level : 0 - Server, 1 - Domain, 2 - Account
  • Selector : Depends on Level : 0 - empty, 1 - Domain name, 2 - Account email address
  • Items : Optional filter on which variable names you want to get from selected resource name
Returns
  • Webclient setting resource ( see TSettingsResource )
GetAdminResources ( Resources: TSettingsResourcesFilter Level: TAPISettingsLevel Selector: AnsiString Items: TPropertyStringList ) : TAPISettingsResources

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getadminresources</commandname>
  <commandparams>
    <resources>
      <item>
        <name>stringval</name>
        <items>
          <classname>tpropertystringlist</classname>
          <val>
            <item>item 1</item>
            <item>item2</item>
          </val>
        </items>
      </item>
      <item>
        <name>stringval</name>
        <items>
          <classname>tpropertystringlist</classname>
          <val>
            <item>item 1</item>
            <item>item2</item>
          </val>
        </items>
      </item>
    </resources>
    <level>enumval</level>
    <selector>stringval</selector>
    <items>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </items>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <list>
      <item>
        <list>
          <item>
            <classname>twebmailsettingsresource</classname>
            <name>stringval</name>
          </item>
          <item>
            <classname>twebmailsettingsresource</classname>
            <name>stringval</name>
          </item>
        </list>
        <name>stringval</name>
        <resourcetype>enumval</resourcetype>
        <default>enumval</default>
      </item>
      <item>
        <list>
          <item>
            <classname>twebmailsettingsresource</classname>
            <name>stringval</name>
          </item>
          <item>
            <classname>twebmailsettingsresource</classname>
            <name>stringval</name>
          </item>
        </list>
        <name>stringval</name>
        <resourcetype>enumval</resourcetype>
        <default>enumval</default>
      </item>
    </list>
  </result>
</query>
</iq>

2.7.8. SetAdminResources

Sets admin settings resources

Parameters
  • Resources : Admin resources to be set
  • Level : Level : 0 - Server, 1 - Domain, 2 - Account
  • Selector : Depends on Level : 0 - empty, 1 - Domain name, 2 - Account email address
  • Value : Value we want to set
Returns
  • 1 on succes, 0 on failure
SetAdminResources ( Resources: TAPISettingsResources Level: TAPISettingsLevel Selector: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setadminresources</commandname>
  <commandparams>
    <resources>
      <list>
        <item>
          <list>
            <item>
              <classname>twebmailsettingsresource</classname>
              <name>stringval</name>
            </item>
            <item>
              <classname>twebmailsettingsresource</classname>
              <name>stringval</name>
            </item>
          </list>
          <name>stringval</name>
          <resourcetype>enumval</resourcetype>
          <default>enumval</default>
        </item>
        <item>
          <list>
            <item>
              <classname>twebmailsettingsresource</classname>
              <name>stringval</name>
            </item>
            <item>
              <classname>twebmailsettingsresource</classname>
              <name>stringval</name>
            </item>
          </list>
          <name>stringval</name>
          <resourcetype>enumval</resourcetype>
          <default>enumval</default>
        </item>
      </list>
    </resources>
    <level>enumval</level>
    <selector>stringval</selector>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.8. Service & statistics related methods

These methods allows you to work with accounts.There is a possibility to create ,edit and delete accounts, set or get account properties, get and set the account folders permissions. There are methods for managing passwords ( expire, modify, generate ), activation keys, account members and as well methods for accessing account API console

2.8.1. GetStatisticsProperties

Gets server statistic properties

Parameters
  • StatisticsPropertyList : List of statistics properties you want to retrieve
Returns
  • Statistics property list with its rights and values( see TPropertyValueList )
GetStatisticsProperties ( StatisticsPropertyList: TStatisticsPropertyList ) : TPropertyValueList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getstatisticsproperties</commandname>
  <commandparams>
    <statisticspropertylist>
      <item>
        <propname>stringval</propname>
      </item>
      <item>
        <propname>stringval</propname>
      </item>
    </statisticspropertylist>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountsecurityqa</classname>
        <question>stringval</question>
        <answer>stringval</answer>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
    <item>
      <apiproperty>
        <propname>stringval</propname>
      </apiproperty>
      <propertyval>
        <classname>taccountname</classname>
        <name>stringval</name>
        <surname>stringval</surname>
      </propertyval>
      <propertyright>enumval</propertyright>
    </item>
  </result>
</query>
</iq>

2.8.2. GetServicesInfoList

Gets the info list of IceWarp services

Parameters
  • Filter : Services list filter ( see TServiceListFilter )
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
Returns
  • Info list of IceWarp services ( see TServicesInfoList )
GetServicesInfoList ( Filter: TServiceListFilter Offset: NativeInt Count: NativeInt ) : TServicesInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getservicesinfolist</commandname>
  <commandparams>
    <filter>
      <mask>stringval</mask>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <servicetype>enumval</servicetype>
      <uptime>intval</uptime>
      <connections>intval</connections>
      <maxconnections>intval</maxconnections>
      <data>intval</data>
      <isrunning>enumval</isrunning>
    </item>
    <item>
      <servicetype>enumval</servicetype>
      <uptime>intval</uptime>
      <connections>intval</connections>
      <maxconnections>intval</maxconnections>
      <data>intval</data>
      <isrunning>enumval</isrunning>
    </item>
  </result>
</query>
</iq>

2.8.3. GetServiceStatistics

Get the statistics for specified IceWarp service

Parameters
  • SType : Service type specification ( see TServiceType )
Returns
  • Statistic values for service of type SType
GetServiceStatistics ( SType: TServiceType ) : TServiceStatistics

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getservicestatistics</commandname>
  <commandparams>
    <stype>enumval</stype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <classname>tservicebasicstatistics</classname>
  </result>
</query>
</iq>

2.8.4. IsServiceRunning

Check if specified IceWarp service is running or not

Parameters
  • Service : Service type specification ( see TServiceType )
Returns
  • 1 if service is running , 0 if the service is stopped
IsServiceRunning ( Service: TServiceType ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>isservicerunning</commandname>
  <commandparams>
    <service>enumval</service>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.8.5. StartService

Starts the specified IceWarp service

Parameters
  • Service : Service type specification ( see TServiceType )
Returns
  • 1 on success, 0 when there is some failiure
StartService ( Service: TServiceType ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>startservice</commandname>
  <commandparams>
    <service>enumval</service>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.8.6. StopService

Stops the specified IceWarp service

Parameters
  • Service : Service type specification ( see TServiceType )
Returns
  • 1 on success, 0 when there is some failiure
StopService ( Service: TServiceType ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>stopservice</commandname>
  <commandparams>
    <service>enumval</service>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.8.7. RestartService

Restarts the specified IceWarp service

Parameters
  • Service : Service type specification ( see TServiceType )
Returns
  • 1 on success, 0 when there is some failiure
RestartService ( Service: TServiceType ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>restartservice</commandname>
  <commandparams>
    <service>enumval</service>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.8.8. GetTrafficCharts

Gets the traffic chart data for specified IceWarp service

Parameters
  • SType : Service type specification ( see TServiceType )
  • ChartType : Type of traffic chart data ( see TServiceChartType )
  • Count : Number of points on x asis
  • Period : Interval Length ( see TServiceChartPeriod )
  • FFrom : Optional interval start (string datetime)
  • FTo : Optional interval end (string datetime)
Returns
  • 1 on success, 0 when there is some failiure
GetTrafficCharts ( SType: TServiceType ChartType: TServiceChartType Count: NativeInt Period: TServiceChartPeriod FFrom: AnsiString FTo: AnsiString ) : TServiceChart

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>gettrafficcharts</commandname>
  <commandparams>
    <stype>enumval</stype>
    <charttype>enumval</charttype>
    <count>intval</count>
    <period>enumval</period>
    <ffrom>stringval</ffrom>
    <fto>stringval</fto>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <list>
      <item>
        <v>realval</v>
        <d>stringval</d>
      </item>
      <item>
        <v>realval</v>
        <d>stringval</d>
      </item>
    </list>
  </result>
</query>
</iq>

2.9. Spam queues related methods

These methods allows you to work with spam queues.

2.9.1. GetSpamQueueInfoList

Gets the spam queue list

Parameters
  • QueueType : Queue type specification ( see TSpamQueueType )
  • Filter : Used to filter values in the list
  • Offset : Specifies offset start of returned items
  • Count : Specifies count of returned items
Returns
  • List of QueueType items that matches filter
GetSpamQueueInfoList ( QueueType: TSpamQueueType Filter: TSpamQueueListFilter Offset: NativeInt Count: NativeInt ) : TSpamQueueInfoList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getspamqueueinfolist</commandname>
  <commandparams>
    <queuetype>enumval</queuetype>
    <filter>
      <mask>stringval</mask>
      <sender>stringval</sender>
      <owner>stringval</owner>
      <domain>stringval</domain>
    </filter>
    <offset>intval</offset>
    <count>intval</count>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <itemid>stringval</itemid>
      <sender>stringval</sender>
      <date>stringval</date>
      <owner>stringval</owner>
      <domain>stringval</domain>
      <subject>stringval</subject>
      <queuetype>enumval</queuetype>
      <folder>stringval</folder>
    </item>
    <item>
      <itemid>stringval</itemid>
      <sender>stringval</sender>
      <date>stringval</date>
      <owner>stringval</owner>
      <domain>stringval</domain>
      <subject>stringval</subject>
      <queuetype>enumval</queuetype>
      <folder>stringval</folder>
    </item>
  </result>
</query>
</iq>

2.9.2. AddSpamQueueItem

Adds the item to the Spam Queues ( whitelist / blacklist )

Parameters
  • Info : Informations about item to be added
Returns
  • 1 on success, 0 when there is some failiure
AddSpamQueueItem ( Info: TSpamQueueItemInfo ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>addspamqueueitem</commandname>
  <commandparams>
    <info>
      <itemid>stringval</itemid>
      <sender>stringval</sender>
      <date>stringval</date>
      <owner>stringval</owner>
      <domain>stringval</domain>
      <subject>stringval</subject>
      <queuetype>enumval</queuetype>
      <folder>stringval</folder>
    </info>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.9.3. DeleteSpamQueueItem

Deletes the item from Spam Queues

Parameters
  • ItemID : Spam Queue item ID
Returns
  • 1 on success, 0 when there is some failiure
DeleteSpamQueueItem ( ItemID: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deletespamqueueitem</commandname>
  <commandparams>
    <itemid>stringval</itemid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.9.4. DeliverSpamQueueItem

Delivers the item in Spam Queue ( quarantine )

Parameters
  • ItemID : Spam Queue item ID
Returns
  • 1 on success, 0 when there is some failiure
DeliverSpamQueueItem ( ItemID: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deliverspamqueueitem</commandname>
  <commandparams>
    <itemid>stringval</itemid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.9.5. BlackListSpamQueueItem

Blacklist the item in Spam Queue

Parameters
  • ItemID : Spam Queue item ID
Returns
  • 1 on success, 0 when there is some failiure
BlackListSpamQueueItem ( ItemID: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>blacklistspamqueueitem</commandname>
  <commandparams>
    <itemid>stringval</itemid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.9.6. WhiteListSpamQueueItem

Whitelist the item in Spam Queue

Parameters
  • ItemID : Spam Queue item ID
Returns
  • 1 on success, 0 when there is some failiure
WhiteListSpamQueueItem ( ItemID: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>whitelistspamqueueitem</commandname>
  <commandparams>
    <itemid>stringval</itemid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.9.7. GetSpamQueueItemBody

Returns the body of Spam Queue item

Parameters
  • ItemID : Spam Queue item ID
Returns
  • 1 on success, 0 when there is some failiure
GetSpamQueueItemBody ( ItemID: AnsiString ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getspamqueueitembody</commandname>
  <commandparams>
    <itemid>stringval</itemid>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.10. Certificate related methods

These methods allows you to work with server certificates.It allows to create new server certificate. It also allows to create,edit,delete and set as default any existing certificate on server.

2.10.1. GetServerCertificateList

Rertrieves the list of server certificates

Returns
  • List of server certificates ( see TServerCertificateList )
GetServerCertificateList ( ) : TServerCertificateList

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getservercertificatelist</commandname>
  <commandparams/>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <item>
      <id>stringval</id>
      <bits>intval</bits>
      <cn>stringval</cn>
      <expiration>stringval</expiration>
      <fingerprint>stringval</fingerprint>
      <ipaddress>
        <item>item 1</item>
        <item>item2</item>
      </ipaddress>
      <hostname>
        <item>item 1</item>
        <item>item2</item>
      </hostname>
      <issuer>stringval</issuer>
      <subject>stringval</subject>
      <isdefault>enumval</isdefault>
      <iscsr>enumval</iscsr>
      <certtype>enumval</certtype>
      <automaticengine>enumval</automaticengine>
      <verify>enumval</verify>
      <status>enumval</status>
      <subjectinfo>
        <o>stringval</o>
        <ou>stringval</ou>
        <c>stringval</c>
        <cn>stringval</cn>
        <subjectaltname>stringval</subjectaltname>
        <locality>stringval</locality>
        <state>stringval</state>
        <email>stringval</email>
      </subjectinfo>
      <issuerinfo>
        <o>stringval</o>
        <ou>stringval</ou>
        <c>stringval</c>
        <cn>stringval</cn>
        <subjectaltname>stringval</subjectaltname>
        <locality>stringval</locality>
        <state>stringval</state>
        <email>stringval</email>
      </issuerinfo>
      <error>
        <lastattempt>intval</lastattempt>
        <lasterror>intval</lasterror>
        <faileddomains>
          <item>
            <domainname>stringval</domainname>
            <resultcode>intval</resultcode>
          </item>
          <item>
            <domainname>stringval</domainname>
            <resultcode>intval</resultcode>
          </item>
        </faileddomains>
      </error>
    </item>
    <item>
      <id>stringval</id>
      <bits>intval</bits>
      <cn>stringval</cn>
      <expiration>stringval</expiration>
      <fingerprint>stringval</fingerprint>
      <ipaddress>
        <item>item 1</item>
        <item>item2</item>
      </ipaddress>
      <hostname>
        <item>item 1</item>
        <item>item2</item>
      </hostname>
      <issuer>stringval</issuer>
      <subject>stringval</subject>
      <isdefault>enumval</isdefault>
      <iscsr>enumval</iscsr>
      <certtype>enumval</certtype>
      <automaticengine>enumval</automaticengine>
      <verify>enumval</verify>
      <status>enumval</status>
      <subjectinfo>
        <o>stringval</o>
        <ou>stringval</ou>
        <c>stringval</c>
        <cn>stringval</cn>
        <subjectaltname>stringval</subjectaltname>
        <locality>stringval</locality>
        <state>stringval</state>
        <email>stringval</email>
      </subjectinfo>
      <issuerinfo>
        <o>stringval</o>
        <ou>stringval</ou>
        <c>stringval</c>
        <cn>stringval</cn>
        <subjectaltname>stringval</subjectaltname>
        <locality>stringval</locality>
        <state>stringval</state>
        <email>stringval</email>
      </issuerinfo>
      <error>
        <lastattempt>intval</lastattempt>
        <lasterror>intval</lasterror>
        <faileddomains>
          <item>
            <domainname>stringval</domainname>
            <resultcode>intval</resultcode>
          </item>
          <item>
            <domainname>stringval</domainname>
            <resultcode>intval</resultcode>
          </item>
        </faileddomains>
      </error>
    </item>
  </result>
</query>
</iq>

2.10.2. AddServerCertificate

Add new server certificate (uploaded)

Parameters
  • IPAddress : IP Address of the server certificate
  • Certificate : Certificate data (base64 encoded data string)
  • SetAsDefault : Tells the server if set this certificate as new default certificate (obsolete)
Returns
  • 1 on success, 0 when there is some failiure
AddServerCertificate ( IPAddress: TAnsiStringList Certificate: AnsiString SetAsDefault: Boolean ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>addservercertificate</commandname>
  <commandparams>
    <ipaddress>
      <item>item 1</item>
      <item>item2</item>
    </ipaddress>
    <certificate>stringval</certificate>
    <setasdefault>enumval</setasdefault>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.10.3. CreateServerCertificate

Create new CSR / Server certificate

Parameters
  • Certificate : Certificate request data (see TServerCertificateRequest)
  • SetAsDefault : Tells the server if set this certificate as new default certificate (obsolete)
Returns
  • 1 on success, 0 when there is some failiure
CreateServerCertificate ( Certificate: TServerCertificateRequest SetAsDefault: Boolean ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>createservercertificate</commandname>
  <commandparams>
    <certificate>
      <bits>intval</bits>
      <validfordays>intval</validfordays>
      <country>stringval</country>
      <state>stringval</state>
      <city>stringval</city>
      <organization>stringval</organization>
      <organizationunit>stringval</organizationunit>
      <email>stringval</email>
      <fcommonnames>
        <item>item 1</item>
        <item>item2</item>
      </fcommonnames>
      <createcsr>enumval</createcsr>
      <doletsencrypt>enumval</doletsencrypt>
    </certificate>
    <setasdefault>enumval</setasdefault>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.10.4. EditServerCertificate

Edits existing server certificate

Parameters
  • ID : Certificate ID
  • IPAddress : New IP Address
  • Certificate : New certificate data (base64 encoded data string)
  • SetAsDefault : Tells the server if set this certificate as new default certificate (obsolete)
Returns
  • 1 on success, 0 when there is some failiure
EditServerCertificate ( ID: AnsiString IPAddress: TAnsiStringList Certificate: AnsiString SetAsDefault: Boolean ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>editservercertificate</commandname>
  <commandparams>
    <id>stringval</id>
    <ipaddress>
      <item>item 1</item>
      <item>item2</item>
    </ipaddress>
    <certificate>stringval</certificate>
    <setasdefault>enumval</setasdefault>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.10.5. DeleteServerCertificate

Deletes existing server certificate

Parameters
  • ID : Certificate ID
Returns
  • 1 on success, 0 when there is some failiure
DeleteServerCertificate ( ID: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>deleteservercertificate</commandname>
  <commandparams>
    <id>stringval</id>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.10.6. SetDefaultServerCertificate

Sets the existing server certificate as default

Parameters
  • ID : Certificate ID
Returns
  • 1 on success, 0 when there is some failiure
SetDefaultServerCertificate ( ID: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setdefaultservercertificate</commandname>
  <commandparams>
    <id>stringval</id>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.10.7. ReissueServerCertificate

Reissues existing server certificate

Parameters
  • ID : Certificate ID
  • Certificate : Certificate data
  • ReUse : Specifies whether to regenerate certificate private key(0) or use the old one(1)
Returns
  • 1 on success, 0 when there is some failiure
ReissueServerCertificate ( ID: AnsiString Certificate: TServerCertificateRequest ReUse: Boolean ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>reissueservercertificate</commandname>
  <commandparams>
    <id>stringval</id>
    <certificate>
      <bits>intval</bits>
      <validfordays>intval</validfordays>
      <country>stringval</country>
      <state>stringval</state>
      <city>stringval</city>
      <organization>stringval</organization>
      <organizationunit>stringval</organizationunit>
      <email>stringval</email>
      <fcommonnames>
        <item>item 1</item>
        <item>item2</item>
      </fcommonnames>
      <createcsr>enumval</createcsr>
      <doletsencrypt>enumval</doletsencrypt>
    </certificate>
    <reuse>enumval</reuse>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.10.8. ExportServerCertificate

Exports existing server certificate

Parameters
  • ID : Certificate ID
Returns
  • 1 on success, 0 when there is some failiure
ExportServerCertificate ( ID: AnsiString ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>exportservercertificate</commandname>
  <commandparams>
    <id>stringval</id>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.11. SmartDiscover related methods

These methods allows you to work with smart discover.

2.11.1. SetSmartDiscoverHostname

Sets new domain(host) value to all smartdiscover variables

Parameters
  • HostName : New host ( domain )
Returns
  • 1 on success, 0 when there is some failiure
SetSmartDiscoverHostname ( HostName: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>setsmartdiscoverhostname</commandname>
  <commandparams>
    <hostname>stringval</hostname>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.12. License related methods

These methods allows you to work with license.

2.12.1. GetLicenseInfo

Returns license informations

Returns
  • TAPILicenseInfo
GetLicenseInfo ( ) : TAPILicenseInfo

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getlicenseinfo</commandname>
  <commandparams/>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <country>stringval</country>
    <countryname>stringval</countryname>
    <state>stringval</state>
    <locality>stringval</locality>
    <organization>stringval</organization>
    <email>stringval</email>
    <cn>stringval</cn>
    <name>stringval</name>
    <address1>stringval</address1>
    <address2>stringval</address2>
    <address3>stringval</address3>
    <zip>stringval</zip>
    <phone>stringval</phone>
    <iscloud>enumval</iscloud>
    <cloudinfo>
      <cloudplanid>stringval</cloudplanid>
      <clusterid>stringval</clusterid>
      <cloudplanname>stringval</cloudplanname>
      <cloudplanprice>stringval</cloudplanprice>
      <cloudplancurrency>stringval</cloudplancurrency>
      <cloudplanstorage>intval</cloudplanstorage>
      <cloudplanislive>intval</cloudplanislive>
      <creditcarddigits>stringval</creditcarddigits>
      <creditcardchargedate>stringval</creditcardchargedate>
      <salescontact>stringval</salescontact>
      <creditcardexpiration>stringval</creditcardexpiration>
      <salesphone>stringval</salesphone>
      <lastinvoice>
        <date>stringval</date>
        <id>stringval</id>
        <currency>stringval</currency>
        <price>intval</price>
        <link>stringval</link>
      </lastinvoice>
      <secondlastinvoice>
        <date>stringval</date>
        <id>stringval</id>
        <currency>stringval</currency>
        <price>intval</price>
        <link>stringval</link>
      </secondlastinvoice>
    </cloudinfo>
  </result>
</query>
</iq>

2.13. SignUp related methods

These methods allows you to work with login page features.

2.13.1. SendSignupVerification

Sends a signup verification

Returns
  • TAPILicenseInfo
SendSignupVerification ( VerificationType: TSignupVerificationType VerificationSelector: AnsiString CaptchaRequest: TCaptchaConfirmation ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>sendsignupverification</commandname>
  <commandparams>
    <verificationtype>enumval</verificationtype>
    <verificationselector>stringval</verificationselector>
    <captcharequest>
      <uid>stringval</uid>
      <value>stringval</value>
    </captcharequest>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

2.13.2. SignupAccount

Creates a new account on IceWarp server , Captcha protected

Returns
  • TAPILicenseInfo
SignupAccount ( Domain: AnsiString Username: AnsiString Password: AnsiString Fullname: AnsiString AlternativeEmail: AnsiString AuthType: TAuthType Card: TAccountCard CaptchaRequest: TCaptchaConfirmation VerificationRequest: TSignupVerificationRequest ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>signupaccount</commandname>
  <commandparams>
    <domain>stringval</domain>
    <username>stringval</username>
    <password>stringval</password>
    <fullname>stringval</fullname>
    <alternativeemail>stringval</alternativeemail>
    <authtype>enumval</authtype>
    <card>
      <classname>taccountcard</classname>
      <body>stringval</body>
      <anniversary>stringval</anniversary>
      <birthday>stringval</birthday>
      <assistantname>stringval</assistantname>
      <companyname>stringval</companyname>
      <department>stringval</department>
      <fileas>stringval</fileas>
      <firstname>stringval</firstname>
      <jobtitle>stringval</jobtitle>
      <lastname>stringval</lastname>
      <managername>stringval</managername>
      <middlename>stringval</middlename>
      <nickname>stringval</nickname>
      <officelocation>stringval</officelocation>
      <spouse>stringval</spouse>
      <suffix>stringval</suffix>
      <title>stringval</title>
      <webpage>stringval</webpage>
      <certificate>stringval</certificate>
      <freebusyurl>stringval</freebusyurl>
      <profession>stringval</profession>
      <sensitivity>stringval</sensitivity>
      <gender>stringval</gender>
      <businessaddresscity>stringval</businessaddresscity>
      <businessaddresscountry>stringval</businessaddresscountry>
      <businessaddresspostalcode>stringval</businessaddresspostalcode>
      <businessaddressstate>stringval</businessaddressstate>
      <businessaddressstreet>stringval</businessaddressstreet>
      <businessaddresspostofficebox>stringval</businessaddresspostofficebox>
      <homeaddresscity>stringval</homeaddresscity>
      <homeaddresscountry>stringval</homeaddresscountry>
      <homeaddresspostalcode>stringval</homeaddresspostalcode>
      <homeaddressstate>stringval</homeaddressstate>
      <homeaddressstreet>stringval</homeaddressstreet>
      <homeaddresspostofficebox>stringval</homeaddresspostofficebox>
      <email1address>stringval</email1address>
      <email2address>stringval</email2address>
      <email3address>stringval</email3address>
      <imaddress>stringval</imaddress>
      <homepage>stringval</homepage>
      <homepage2>stringval</homepage2>
      <assistnametelephonenumber>stringval</assistnametelephonenumber>
      <businessfaxnumber>stringval</businessfaxnumber>
      <businesstelephonenumber>stringval</businesstelephonenumber>
      <business2telephonenumber>stringval</business2telephonenumber>
      <cartelephonenumber>stringval</cartelephonenumber>
      <companymaintelephonenumber>stringval</companymaintelephonenumber>
      <homefaxnumber>stringval</homefaxnumber>
      <hometelephonenumber>stringval</hometelephonenumber>
      <home2telephonenumber>stringval</home2telephonenumber>
      <mobiletelephonenumber>stringval</mobiletelephonenumber>
      <pagernumber>stringval</pagernumber>
      <radiotelephonenumber>stringval</radiotelephonenumber>
      <callbacktelephonenumber>stringval</callbacktelephonenumber>
      <isdnnumber>stringval</isdnnumber>
      <otherfaxnumber>stringval</otherfaxnumber>
      <primarytelephonenumber>stringval</primarytelephonenumber>
      <telexnumber>stringval</telexnumber>
      <hearingnumber>stringval</hearingnumber>
      <othernumber>stringval</othernumber>
      <categories>
        <classname>tpropertystringlist</classname>
        <val>
          <item>item 1</item>
          <item>item2</item>
        </val>
      </categories>
    </card>
    <captcharequest>
      <uid>stringval</uid>
      <value>stringval</value>
    </captcharequest>
    <verificationrequest>
      <id>stringval</id>
      <code>stringval</code>
    </verificationrequest>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.13.3. ResetPasswordEmail

Sends the reset password email that contains the link to reset the password, captcha protected

Returns
  • TAPILicenseInfo
ResetPasswordEmail ( Email: AnsiString LangID: AnsiString CaptchaRequest: TCaptchaConfirmation ) : NativeInt

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>resetpasswordemail</commandname>
  <commandparams>
    <email>stringval</email>
    <langid>stringval</langid>
    <captcharequest>
      <uid>stringval</uid>
      <value>stringval</value>
    </captcharequest>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>intval</result>
</query>
</iq>

2.13.4. ResetPassword

Resets the password for account specified by email

Returns
  • TAPILicenseInfo
ResetPassword ( Email: AnsiString NewPassword: AnsiString ResetHash: AnsiString AuthType: TAuthType ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>resetpassword</commandname>
  <commandparams>
    <email>stringval</email>
    <newpassword>stringval</newpassword>
    <resethash>stringval</resethash>
    <authtype>enumval</authtype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.13.5. ChangePassword

Changes the password for account specified by email

Returns
  • TAPILicenseInfo
ChangePassword ( Email: AnsiString OldPassword: AnsiString NewPassword: AnsiString AuthType: TAuthType ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>changepassword</commandname>
  <commandparams>
    <email>stringval</email>
    <oldpassword>stringval</oldpassword>
    <newpassword>stringval</newpassword>
    <authtype>enumval</authtype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.13.6. ContactAdministrator

Sends the email to contact the server administrator

Returns
  • TAPILicenseInfo
ContactAdministrator ( Email: AnsiString Data: AnsiString Host: AnsiString CaptchaRequest: TCaptchaConfirmation ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>contactadministrator</commandname>
  <commandparams>
    <email>stringval</email>
    <data>stringval</data>
    <host>stringval</host>
    <captcharequest>
      <uid>stringval</uid>
      <value>stringval</value>
    </captcharequest>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.13.7. GuestConfirm

Sends the guest confirmation email that contains the link to verify guest account It also sets fullname and password for guest account

Returns
  • TAPILicenseInfo
GuestConfirm ( Email: AnsiString Password: AnsiString Fullname: AnsiString Sender: AnsiString Hash: AnsiString AuthType: TAuthType ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>guestconfirm</commandname>
  <commandparams>
    <email>stringval</email>
    <password>stringval</password>
    <fullname>stringval</fullname>
    <sender>stringval</sender>
    <hash>stringval</hash>
    <authtype>enumval</authtype>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.13.8. GuestVerify

Verifies the guest account

Returns
  • TAPILicenseInfo
GuestVerify ( Email: AnsiString Hash: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>guestverify</commandname>
  <commandparams>
    <email>stringval</email>
    <hash>stringval</hash>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.13.9. ConfirmPersonality

Confirmation of personality added using WebClient

Returns
  • TAPILicenseInfo
ConfirmPersonality ( Email: AnsiString User: AnsiString Hash: AnsiString ) : Boolean

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>confirmpersonality</commandname>
  <commandparams>
    <email>stringval</email>
    <user>stringval</user>
    <hash>stringval</hash>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>enumval</result>
</query>
</iq>

2.13.10. GetCaptcha

Returns the captcha image as HTML (divtcha)

Returns
  • TAPILicenseInfo
GetCaptcha ( ) : TCaptchaHTML

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>getcaptcha</commandname>
  <commandparams/>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>
    <uid>stringval</uid>
    <html>stringval</html>
    <style>stringval</style>
  </result>
</query>
</iq>

2.13.11. ManageCloudLicense

Returns license informations

Returns
  • TAPILicenseInfo
ManageCloudLicense ( LicenseRequest: TLicenseRequest ) : AnsiString

input
<iq sid="sidval">
<query xmlns="admin:iq:rpc">
  <commandname>managecloudlicense</commandname>
  <commandparams>
    <licenserequest>enumval</licenserequest>
  </commandparams>
</query>
</iq>


output
<iq sid="sidval" type="result">
<query xmlns="admin:iq:rpc">
  <result>stringval</result>
</query>
</iq>

3. Classes

2.1. AnsiString

String
<custom>stringval</custom>

2.2. Boolean

Enum 0=False , 1=True
<custom>enumval</custom>

2.3. NativeInt

Integer
<custom>intval</custom>

2.4. Real

Real
<custom>realval</custom>

2.5. TAccountCard

vCard data structure of IceWarp account

NameTypeDescription
BodyAnsiString

Represents class property TAccountCard.Body

AnniversaryAnsiString

Represents class property TAccountCard.Anniversary

BirthDayAnsiString

Represents class property TAccountCard.BirthDay

AssistantNameAnsiString

Represents class property TAccountCard.AssistantName

CompanyNameAnsiString

Represents class property TAccountCard.CompanyName

DepartmentAnsiString

Represents class property TAccountCard.Department

FileAsAnsiString

Represents class property TAccountCard.FileAs

FirstNameAnsiString

Represents class property TAccountCard.FirstName

JobTitleAnsiString

Represents class property TAccountCard.JobTitle

LastNameAnsiString

Represents class property TAccountCard.LastName

ManagerNameAnsiString

Represents class property TAccountCard.ManagerName

MiddleNameAnsiString

Represents class property TAccountCard.MiddleName

NicknameAnsiString

Represents class property TAccountCard.Nickname

OfficeLocationAnsiString

Represents class property TAccountCard.OfficeLocation

SpouseAnsiString

Represents class property TAccountCard.Spouse

SuffixAnsiString

Represents class property TAccountCard.Suffix

TitleAnsiString

Represents class property TAccountCard.Title

WebPageAnsiString

Represents class property TAccountCard.WebPage

CertificateAnsiString

Represents class property TAccountCard.Certificate

FreeBusyURLAnsiString

Represents class property TAccountCard.FreeBusyURL

ProfessionAnsiString

Represents class property TAccountCard.Profession

SensitivityAnsiString

Represents class property TAccountCard.Sensitivity

GenderAnsiString

Represents class property TAccountCard.Gender

BusinessAddressCityAnsiString

Represents class property TAccountCard.BusinessAddressCity

BusinessAddressCountryAnsiString

Represents class property TAccountCard.BusinessAddressCountry

BusinessAddressPostalCodeAnsiString

Represents class property TAccountCard.BusinessAddressPostalCode

BusinessAddressStateAnsiString

Represents class property TAccountCard.BusinessAddressState

BusinessAddressStreetAnsiString

Represents class property TAccountCard.BusinessAddressStreet

BusinessAddressPostOfficeBoxAnsiString

Represents class property TAccountCard.BusinessAddressPostOfficeBox

HomeAddressCityAnsiString

Represents class property TAccountCard.HomeAddressCity

HomeAddressCountryAnsiString

Represents class property TAccountCard.HomeAddressCountry

HomeAddressPostalCodeAnsiString

Represents class property TAccountCard.HomeAddressPostalCode

HomeAddressStateAnsiString

Represents class property TAccountCard.HomeAddressState

HomeAddressStreetAnsiString

Represents class property TAccountCard.HomeAddressStreet

HomeAddressPostOfficeBoxAnsiString

Represents class property TAccountCard.HomeAddressPostOfficeBox

Email1AddressAnsiString

Represents class property TAccountCard.Email1Address

Email2AddressAnsiString

Represents class property TAccountCard.Email2Address

Email3AddressAnsiString

Represents class property TAccountCard.Email3Address

IMAddressAnsiString

Represents class property TAccountCard.IMAddress

HomePageAnsiString

Represents class property TAccountCard.HomePage

HomePage2AnsiString

Represents class property TAccountCard.HomePage2

AssistnameTelephoneNumberAnsiString

Represents class property TAccountCard.AssistnameTelephoneNumber

BusinessFaxNumberAnsiString

Represents class property TAccountCard.BusinessFaxNumber

BusinessTelephoneNumberAnsiString

Represents class property TAccountCard.BusinessTelephoneNumber

Business2TelephoneNumberAnsiString

Represents class property TAccountCard.Business2TelephoneNumber

CarTelephoneNumberAnsiString

Represents class property TAccountCard.CarTelephoneNumber

CompanyMainTelephoneNumberAnsiString

Represents class property TAccountCard.CompanyMainTelephoneNumber

HomeFaxNumberAnsiString

Represents class property TAccountCard.HomeFaxNumber

HomeTelephoneNumberAnsiString

Represents class property TAccountCard.HomeTelephoneNumber

Home2TelephoneNumberAnsiString

Represents class property TAccountCard.Home2TelephoneNumber

MobileTelephoneNumberAnsiString

Represents class property TAccountCard.MobileTelephoneNumber

PagerNumberAnsiString

Represents class property TAccountCard.PagerNumber

RadioTelephoneNumberAnsiString

Represents class property TAccountCard.RadioTelephoneNumber

CallbackTelephoneNumberAnsiString

Represents class property TAccountCard.CallbackTelephoneNumber

ISDNNumberAnsiString

Represents class property TAccountCard.ISDNNumber

OtherFaxNumberAnsiString

Represents class property TAccountCard.OtherFaxNumber

PrimaryTelephoneNumberAnsiString

Represents class property TAccountCard.PrimaryTelephoneNumber

TelexNumberAnsiString

Represents class property TAccountCard.TelexNumber

HearingNumberAnsiString

Represents class property TAccountCard.HearingNumber

OtherNumberAnsiString

Represents class property TAccountCard.OtherNumber

CategoriesTPropertyStringList

Represents class property TAccountCard.Categories

<custom>
<classname>taccountcard</classname>
<body>stringval</body>
<anniversary>stringval</anniversary>
<birthday>stringval</birthday>
<assistantname>stringval</assistantname>
<companyname>stringval</companyname>
<department>stringval</department>
<fileas>stringval</fileas>
<firstname>stringval</firstname>
<jobtitle>stringval</jobtitle>
<lastname>stringval</lastname>
<managername>stringval</managername>
<middlename>stringval</middlename>
<nickname>stringval</nickname>
<officelocation>stringval</officelocation>
<spouse>stringval</spouse>
<suffix>stringval</suffix>
<title>stringval</title>
<webpage>stringval</webpage>
<certificate>stringval</certificate>
<freebusyurl>stringval</freebusyurl>
<profession>stringval</profession>
<sensitivity>stringval</sensitivity>
<gender>stringval</gender>
<businessaddresscity>stringval</businessaddresscity>
<businessaddresscountry>stringval</businessaddresscountry>
<businessaddresspostalcode>stringval</businessaddresspostalcode>
<businessaddressstate>stringval</businessaddressstate>
<businessaddressstreet>stringval</businessaddressstreet>
<businessaddresspostofficebox>stringval</businessaddresspostofficebox>
<homeaddresscity>stringval</homeaddresscity>
<homeaddresscountry>stringval</homeaddresscountry>
<homeaddresspostalcode>stringval</homeaddresspostalcode>
<homeaddressstate>stringval</homeaddressstate>
<homeaddressstreet>stringval</homeaddressstreet>
<homeaddresspostofficebox>stringval</homeaddresspostofficebox>
<email1address>stringval</email1address>
<email2address>stringval</email2address>
<email3address>stringval</email3address>
<imaddress>stringval</imaddress>
<homepage>stringval</homepage>
<homepage2>stringval</homepage2>
<assistnametelephonenumber>stringval</assistnametelephonenumber>
<businessfaxnumber>stringval</businessfaxnumber>
<businesstelephonenumber>stringval</businesstelephonenumber>
<business2telephonenumber>stringval</business2telephonenumber>
<cartelephonenumber>stringval</cartelephonenumber>
<companymaintelephonenumber>stringval</companymaintelephonenumber>
<homefaxnumber>stringval</homefaxnumber>
<hometelephonenumber>stringval</hometelephonenumber>
<home2telephonenumber>stringval</home2telephonenumber>
<mobiletelephonenumber>stringval</mobiletelephonenumber>
<pagernumber>stringval</pagernumber>
<radiotelephonenumber>stringval</radiotelephonenumber>
<callbacktelephonenumber>stringval</callbacktelephonenumber>
<isdnnumber>stringval</isdnnumber>
<otherfaxnumber>stringval</otherfaxnumber>
<primarytelephonenumber>stringval</primarytelephonenumber>
<telexnumber>stringval</telexnumber>
<hearingnumber>stringval</hearingnumber>
<othernumber>stringval</othernumber>
<categories>
  <classname>tpropertystringlist</classname>
  <val>
    <item>item 1</item>
    <item>item2</item>
  </val>
</categories>
</custom>

2.6. TAccountImage

Account avatar image object which is displayed in account's vCard

NameTypeDescription
Base64DataAnsiString

Image Base64 data

ContentTypeAnsiString

Image Content-Type

<custom>
<classname>taccountimage</classname>
<base64data>stringval</base64data>
<contenttype>stringval</contenttype>
</custom>

2.7. TAccountInfo

Basic informations about IceWarp account object, is used in account listing

NameTypeDescription
NameAnsiString

Account full name

EmailAnsiString

Account email address

DisplayEmailAnsiString

Email to be displayed

AccountTypeNativeInt

Type of the account (0 - aaUser, 1 - aaMailingList, 2 - aaExecutable, 3 - aaNotification, 4 - aaStaticRoute, 5 - aaCatalog, 6 - aaListServer, 7 - aaGroup, 8 - aaResource)

AdminTypeTAdminType

Type of account permissions

QuotaTAccountQuota

Account disk quota

ImageTAccountImage

Account vCard image

<custom>
<name>stringval</name>
<email>stringval</email>
<displayemail>stringval</displayemail>
<accounttype>intval</accounttype>
<admintype>enumval</admintype>
<quota>
  <classname>taccountquota</classname>
  <mailboxsize>intval</mailboxsize>
  <mailboxquota>intval</mailboxquota>
</quota>
<image>
  <classname>taccountimage</classname>
  <base64data>stringval</base64data>
  <contenttype>stringval</contenttype>
</image>
</custom>

2.8. TAccountListFilter

Used to filter the list of accounts in IceWarp server

NameTypeDescription
NameMaskAnsiString

Mask that is used agains account name and alias

TypeMaskAnsiString

Mask that is used agains account type

<custom>
<namemask>stringval</namemask>
<typemask>stringval</typemask>
</custom>

2.9. TAccountMemberInfo

Represents class TAccountMemberInfo

NameTypeDescription
ValAnsiString

Name of the member

DefaultBoolean

Member will have default rights as defined within the Mailing List - Security tab of mailing list settings.

RecieveBoolean

Member will receive all messages sent to the list and cannot post messages to the list.

PostBoolean

Member can post message to the mailing list.

DigestBoolean

Member will receive all messages sent to the list, in a single "digest" message, and cannot post messages to the list.

ParamsAnsiString

Defines variables which can be used within a message to create personalized messages. Variables can be included within a message by including the variable name enclosed within double braces.

<custom>
<val>stringval</val>
<default>enumval</default>
<recieve>enumval</recieve>
<post>enumval</post>
<digest>enumval</digest>
<params>stringval</params>
</custom>

2.10. TAccountMemberInfoList

Represents the list of mobile devices

List Of TAccountMemberInfo
NameTypeDescription
OffsetNativeInt

Current offset in the list

OverallCountNativeInt

Overall count of mobile devices in the list

<custom>
<item>
  <val>stringval</val>
  <default>enumval</default>
  <recieve>enumval</recieve>
  <post>enumval</post>
  <digest>enumval</digest>
  <params>stringval</params>
</item>
<item>
  <val>stringval</val>
  <default>enumval</default>
  <recieve>enumval</recieve>
  <post>enumval</post>
  <digest>enumval</digest>
  <params>stringval</params>
</item>
</custom>

2.11. TAccountMemberListFilter

Used to filter the list of mobile devices in IceWarp server

NameTypeDescription
NameMaskAnsiString

Used agains mobile device name

<custom>
<namemask>stringval</namemask>
</custom>

2.12. TAccountMemberPropertyList

Used to specify properties of IceWarp mobile device ( by property name )

List Of TAPIProperty
<custom>
<item>
  <propname>stringval</propname>
</item>
<item>
  <propname>stringval</propname>
</item>
</custom>

2.13. TAccountName

Full name of IceWarp account

NameTypeDescription
NameAnsiString

Account name

SurnameAnsiString

Account surname

<custom>
<classname>taccountname</classname>
<name>stringval</name>
<surname>stringval</surname>
</custom>

2.14. TAccountOutlookPolicies

Outlook policies related to IceWarp account

Properties inherited from : TOutlookPolicies
NameTypeDescription
SyncFolderStructureBoolean

Sync folder structure

SyncFolderStructureAfterAnsiString

Sync folder structure after N minutes

SyncPriorityFoldersBoolean

Synchronize priority folders

SyncPriorityFoldersAfterAnsiString

Synchronize priority folders after N minutes

SyncStandardFoldersBoolean

Synchronize standard folders

SyncStandardFoldersAfterAnsiString

Synchronize standard folders after N minutes

SyncFoldersImmediatelyBoolean

Synchronize folder immediately after change is detected

SyncFoldersImmediatelyValueAnsiString

Synchronize folder immediately after change is detected value

SyncGALBoolean

Sync Global address list

SyncGALValueAnsiString

Sync Global adress list value

FolderSyncThresholdBoolean

Folder synchronization threshold

FolderSyncThresholdMessagesAnsiString

Folder synchronization threshold value ( messages in folder )

DownloadThresholdBoolean

Download threshold

DownloadThresholdMBAnsiString

Download threshold value in MB

DownloadFilesFullyBoolean

Download files fully

DownloadFilesTypeAnsiString

Download files type (custom, headers, full)

AuthenticationMethodBoolean

Authentication method

AuthenticationMethodValueAnsiString

Authentication method value (CRAM MD5, Plain)

LineSecurityBoolean

Line Security

LineSecurityValueAnsiString

Line Security value (plain, starttls, ssl)

LoginPortBoolean

Login port

LoginPortValueAnsiString

Login port value

DisplayABNamesBoolean

Display Adreess book names

DisplayABNamesAsAnsiString

Display Address book value ( numbered structure, folder name only, full folder path , outlook native )

SaveAsTypeAnsiString

Save as type (default, force settings)

ResetToDefaultBoolean

Reset to default indicator

DoNotShowLoginErrorsBoolean

Do not show login error window

DoNotShowLoginErrorsValueAnsiString

Do not show login error window value

SkipTrashFolderStartupCheckBoolean

Skip trash folder startup check

SkipTrashFolderStartupCheckValueAnsiString

Skip trash folder startup check value

DisableTnefBoolean

Disable TNEF

DisableTnefValueAnsiString

Disable TNEF value

AutoRevertChangesInReadOnlyBoolean

Auto revert changes in read only folders

AutoRevertChangesInReadOnlyValueAnsiString

Auto revert changes in read only folders value

DoNotShowProgressBoolean

Do not show progress

DoNotShowProgressValueAnsiString

Do not show progress value

ShowDesktopNotificationBoolean

Show desktop notification

ShowDesktopNotificationValueAnsiString

Show desktop notification value

HideNotificationAfterValueAnsiString

Hide notification after time value

PlayDefaultNotificationSoundBoolean

Play default notification sound

PlayDefaultNotificationSoundValueAnsiString

Play default notification sound value

CheckForUpdatesBoolean

Check for updates

CheckForUpdatesValueAnsiString

Check for updates value

LogLevelBoolean

Log level

LogLevelValueAnsiString

Log level value (errors, debug)

DeleteLogsBoolean

Delete logs

DeleteLogsValueAnsiString

Delete logs value

DeleteLogsAfterValueAnsiString

Delete logs after days value

DoNotShowConnectionErrorsBoolean

Disable connection warnings

DoNotShowConnectionErrorsValueAnsiString

Disable connection warnings value

<custom>
<classname>taccountoutlookpolicies</classname>
</custom>

2.15. TAccountPropertyList

Used to specify properties of IceWarp account ( by property name )

List Of TAPIProperty
<custom>
<item>
  <propname>stringval</propname>
</item>
<item>
  <propname>stringval</propname>
</item>
</custom>

2.16. TAccountPropertySet

List of available property sets for IceWarp account

Enum 0=psNone , 1=psInfo , 2=psLimits , 3=psForwarder
<custom>enumval</custom>

2.17. TAccountQuota

Account Quota

NameTypeDescription
MailboxSizeNativeInt

Actual size of IceWarp account

MailboxQuotaNativeInt

Size limit of IceWarp account

<custom>
<classname>taccountquota</classname>
<mailboxsize>intval</mailboxsize>
<mailboxquota>intval</mailboxquota>
</custom>

2.18. TAccountResponder

IceWarp account auto responder settings

NameTypeDescription
NoRespondTPropertyStringList

List of recipients, you do not want to auto respond

ResponderMessageTAccountResponderMessage

Responder message

ResponderTypeTResponder

Type of responder

RespondPeriodNativeInt

Responder period

RespondBetweenFromAnsiString

Respond only if between from

RespondBetweenToAnsiString

Respond only if between to

RespondOnlyIfToMeBoolean

Respond to messages sent only to account's email address

<custom>
<classname>taccountresponder</classname>
<norespond>
  <classname>tpropertystringlist</classname>
  <val>
    <item>item 1</item>
    <item>item2</item>
  </val>
</norespond>
<respondermessage>
  <classname>taccountrespondermessage</classname>
  <from>stringval</from>
  <subject>stringval</subject>
  <text>stringval</text>
</respondermessage>
<respondertype>enumval</respondertype>
<respondperiod>intval</respondperiod>
<respondbetweenfrom>stringval</respondbetweenfrom>
<respondbetweento>stringval</respondbetweento>
<respondonlyiftome>enumval</respondonlyiftome>
</custom>

2.19. TAccountResponderMessage

IceWarp account auto responder message

NameTypeDescription
FromAnsiString

Header from: value in responder message

SubjectAnsiString

Header subject: value in responder message

TextAnsiString

Text content of responder message

<custom>
<classname>taccountrespondermessage</classname>
<from>stringval</from>
<subject>stringval</subject>
<text>stringval</text>
</custom>

2.20. TAccountSecurityQA

Represents class TAccountSecurityQA

NameTypeDescription
QuestionAnsiString

Represents class property TAccountSecurityQA.Question

AnswerAnsiString

Represents class property TAccountSecurityQA.Answer

<custom>
<classname>taccountsecurityqa</classname>
<question>stringval</question>
<answer>stringval</answer>
</custom>

2.21. TAccountsInfoList

Represents the list of accounts

List Of TAccountInfo
NameTypeDescription
OffsetNativeInt

Current offset in the list

OverallCountNativeInt

Overall count of accounts in the list

<custom>
<item>
  <name>stringval</name>
  <email>stringval</email>
  <displayemail>stringval</displayemail>
  <accounttype>intval</accounttype>
  <admintype>enumval</admintype>
  <quota>
    <classname>taccountquota</classname>
    <mailboxsize>intval</mailboxsize>
    <mailboxquota>intval</mailboxquota>
  </quota>
  <image>
    <classname>taccountimage</classname>
    <base64data>stringval</base64data>
    <contenttype>stringval</contenttype>
  </image>
</item>
<item>
  <name>stringval</name>
  <email>stringval</email>
  <displayemail>stringval</displayemail>
  <accounttype>intval</accounttype>
  <admintype>enumval</admintype>
  <quota>
    <classname>taccountquota</classname>
    <mailboxsize>intval</mailboxsize>
    <mailboxquota>intval</mailboxquota>
  </quota>
  <image>
    <classname>taccountimage</classname>
    <base64data>stringval</base64data>
    <contenttype>stringval</contenttype>
  </image>
</item>
</custom>

2.22. TAccountState

State of IceWarp account

NameTypeDescription
StateTUserState

State value

<custom>
<classname>taccountstate</classname>
<state>enumval</state>
</custom>

2.23. TActivationKey

Activation key class

NameTypeDescription
KeyTypeTActivationKeyType

Type of activation key

DescriptionAnsiString

Key description ( will be in the email sent to user )

CountAnsiString

Count of avaliable activations

ValueAnsiString

The key string value

<custom>
<classname>tactivationkey</classname>
<keytype>enumval</keytype>
<description>stringval</description>
<count>stringval</count>
<value>stringval</value>
</custom>

2.24. TActivationKeyType

Type of activation key - outlook, desktop client

Enum 0=akOutlook , 1=akDesktopClient
<custom>enumval</custom>

2.25. TAdministrativePermissions

This encapsulates permisions which can be defined FOR certain entity

NameTypeDescription
DomainsPermissionsTDomainsPermissionsList
GlobalPermissionsTAdministrativePermissionsList

permissions defined on global level

<custom>
<domainspermissions>
  <item>
    <domainsset>
      <item>
        <mask>stringval</mask>
        <negate>enumval</negate>
      </item>
      <item>
        <mask>stringval</mask>
        <negate>enumval</negate>
      </item>
    </domainsset>
    <domainsadministrativepermissions>
      <accountsrelatedpermissions>
        <item>
          <prop>intval</prop>
          <perm>enumval</perm>
        </item>
        <item>
          <prop>intval</prop>
          <perm>enumval</perm>
        </item>
      </accountsrelatedpermissions>
      <domainrelatedpermissions>
        <item>
          <prop>intval</prop>
          <perm>enumval</perm>
        </item>
        <item>
          <prop>intval</prop>
          <perm>enumval</perm>
        </item>
      </domainrelatedpermissions>
    </domainsadministrativepermissions>
  </item>
  <item>
    <domainsset>
      <item>
        <mask>stringval</mask>
        <negate>enumval</negate>
      </item>
      <item>
        <mask>stringval</mask>
        <negate>enumval</negate>
      </item>
    </domainsset>
    <domainsadministrativepermissions>
      <accountsrelatedpermissions>
        <item>
          <prop>intval</prop>
          <perm>enumval</perm>
        </item>
        <item>
          <prop>intval</prop>
          <perm>enumval</perm>
        </item>
      </accountsrelatedpermissions>
      <domainrelatedpermissions>
        <item>
          <prop>intval</prop>
          <perm>enumval</perm>
        </item>
        <item>
          <prop>intval</prop>
          <perm>enumval</perm>
        </item>
      </domainrelatedpermissions>
    </domainsadministrativepermissions>
  </item>
</domainspermissions>
<globalpermissions>
  <item>
    <prop>intval</prop>
    <perm>enumval</perm>
  </item>
  <item>
    <prop>intval</prop>
    <perm>enumval</perm>
  </item>
</globalpermissions>
</custom>

2.26. TAdministrativePermissionsList

List of API properties and its permissions

List Of TPropertyPermission
<custom>
<item>
  <prop>intval</prop>
  <perm>enumval</perm>
</item>
<item>
  <prop>intval</prop>
  <perm>enumval</perm>
</item>
</custom>

2.27. TAdminType

IceWarp account administration level

Enum 0=atUser , 1=atAdmin , 2=atDomainAdmin
<custom>enumval</custom>

2.28. TAnsiStringList

List of Strings
<custom>
<item>item 1</item>
<item>item2</item>
</custom>

2.29. TAPICloudLicenseInfo

Represents class TAPICloudLicenseInfo

NameTypeDescription
CloudplanIdAnsiString

Plan ID

ClusterIdAnsiString

Cluster ID

CloudPlanNameAnsiString

Plan name

CloudPlanPriceAnsiString

Plan price

CloudPlanCurrencyAnsiString

Plan currency

CloudPlanStorageNativeInt

Plan storage

CloudPlanIsLiveNativeInt

Plan is live

CreditCardDigitsAnsiString

Credit card digits

CreditCardChargeDateAnsiString

Credit card charge date

SalesContactAnsiString

Sales contact

CreditCardExpirationAnsiString

Credit card expiration

SalesPhoneAnsiString

Sales Phone

LastInvoiceTAPIInvoiceInfo

Last invoice

SecondLastInvoiceTAPIInvoiceInfo

Penultimate invoice

<custom>
<cloudplanid>stringval</cloudplanid>
<clusterid>stringval</clusterid>
<cloudplanname>stringval</cloudplanname>
<cloudplanprice>stringval</cloudplanprice>
<cloudplancurrency>stringval</cloudplancurrency>
<cloudplanstorage>intval</cloudplanstorage>
<cloudplanislive>intval</cloudplanislive>
<creditcarddigits>stringval</creditcarddigits>
<creditcardchargedate>stringval</creditcardchargedate>
<salescontact>stringval</salescontact>
<creditcardexpiration>stringval</creditcardexpiration>
<salesphone>stringval</salesphone>
<lastinvoice>
  <date>stringval</date>
  <id>stringval</id>
  <currency>stringval</currency>
  <price>intval</price>
  <link>stringval</link>
</lastinvoice>
<secondlastinvoice>
  <date>stringval</date>
  <id>stringval</id>
  <currency>stringval</currency>
  <price>intval</price>
  <link>stringval</link>
</secondlastinvoice>
</custom>

2.30. TAPIInvoiceInfo

Represents class TAPIInvoiceInfo

NameTypeDescription
DateAnsiString

Represents class property TAPIInvoiceInfo.Date

IDAnsiString

Represents class property TAPIInvoiceInfo.ID

CurrencyAnsiString

Represents class property TAPIInvoiceInfo.Currency

PriceNativeInt

Represents class property TAPIInvoiceInfo.Price

LinkAnsiString

Represents class property TAPIInvoiceInfo.Link

<custom>
<date>stringval</date>
<id>stringval</id>
<currency>stringval</currency>
<price>intval</price>
<link>stringval</link>
</custom>

2.31. TAPILicenseInfo

IceWarp Server license information

NameTypeDescription
CountryAnsiString

Country

CountryNameAnsiString

Country name

StateAnsiString

State

LocalityAnsiString

Locality ( city )

OrganizationAnsiString

Organization

EmailAnsiString

Email address

CNAnsiString

Common name

NameAnsiString

Name

Address1AnsiString

Address 1

Address2AnsiString

Address 2

Address3AnsiString

Address 3

ZIPAnsiString

ZIP

PhoneAnsiString

Telephone

IsCloudBoolean

Cloud license

CloudInfoTAPICloudLicenseInfo

Cloud license info

<custom>
<country>stringval</country>
<countryname>stringval</countryname>
<state>stringval</state>
<locality>stringval</locality>
<organization>stringval</organization>
<email>stringval</email>
<cn>stringval</cn>
<name>stringval</name>
<address1>stringval</address1>
<address2>stringval</address2>
<address3>stringval</address3>
<zip>stringval</zip>
<phone>stringval</phone>
<iscloud>enumval</iscloud>
<cloudinfo>
  <cloudplanid>stringval</cloudplanid>
  <clusterid>stringval</clusterid>
  <cloudplanname>stringval</cloudplanname>
  <cloudplanprice>stringval</cloudplanprice>
  <cloudplancurrency>stringval</cloudplancurrency>
  <cloudplanstorage>intval</cloudplanstorage>
  <cloudplanislive>intval</cloudplanislive>
  <creditcarddigits>stringval</creditcarddigits>
  <creditcardchargedate>stringval</creditcardchargedate>
  <salescontact>stringval</salescontact>
  <creditcardexpiration>stringval</creditcardexpiration>
  <salesphone>stringval</salesphone>
  <lastinvoice>
    <date>stringval</date>
    <id>stringval</id>
    <currency>stringval</currency>
    <price>intval</price>
    <link>stringval</link>
  </lastinvoice>
  <secondlastinvoice>
    <date>stringval</date>
    <id>stringval</id>
    <currency>stringval</currency>
    <price>intval</price>
    <link>stringval</link>
  </secondlastinvoice>
</cloudinfo>
</custom>

2.32. TAPIProperty

Represents property of server ,domain ,account ,mobile device or statistic object

NameTypeDescription
PropNameAnsiString

Property name as in apiconst

<custom>
<propname>stringval</propname>
</custom>

2.33. TAPISessionInfo

Informations about current session: Email,Domain, AdminType

NameTypeDescription
EmailAnsiString

Email of current user

DomainAnsiString

Domain of current user

AdminTypeTAdminType

Actual rights

IsGatewayBoolean

Specifies if session is for gateway account ( no user )

NameTAccountName

Name of current user

ImageTAccountImage

Image of current user

AvatarTokenAnsiString

Avatar token

PasswordExpiredBoolean

Password expiration

<custom>
<email>stringval</email>
<domain>stringval</domain>
<admintype>enumval</admintype>
<isgateway>enumval</isgateway>
<name>
  <classname>taccountname</classname>
  <name>stringval</name>
  <surname>stringval</surname>
</name>
<image>
  <classname>taccountimage</classname>
  <base64data>stringval</base64data>
  <contenttype>stringval</contenttype>
</image>
<avatartoken>stringval</avatartoken>
<passwordexpired>enumval</passwordexpired>
</custom>

2.34. TAPISettingsAccessLevel

Settings access level

Enum 0=alEmpty , 1=alNone , 2=alView , 3=alFull
<custom>enumval</custom>

2.35. TAPISettingsItem

Represents the item in settings resource ( each item contain list of variables )

Abstract Class - see its descendants:
TWebmailSettingsResource
NameTypeDescription
UIDAnsiString

Item UID [Optional]

ListTAPISettingsVariableList

List of setting variables

2.36. TAPISettingsItemList

List of setting items

List Of TAPISettingsItem
<custom>
<item>
  <classname>twebmailsettingsresource</classname>
  <name>stringval</name>
</item>
<item>
  <classname>twebmailsettingsresource</classname>
  <name>stringval</name>
</item>
</custom>

2.37. TAPISettingsLevel

Settings user server-domain-account level

Enum 0=slServer , 1=slDomain , 2=slAccount
<custom>enumval</custom>

2.38. TAPISettingsResource

Represents the resource in settigns

NameTypeDescription
ListTAPISettingsItemList

List of setting items

NameAnsiString

Resource name

ResourceTypeTAPISettingsResourceType

Type of the resource

DefaultBoolean

Specifies if the resource is default ( inherited )

<custom>
<list>
  <item>
    <classname>twebmailsettingsresource</classname>
    <name>stringval</name>
  </item>
  <item>
    <classname>twebmailsettingsresource</classname>
    <name>stringval</name>
  </item>
</list>
<name>stringval</name>
<resourcetype>enumval</resourcetype>
<default>enumval</default>
</custom>

2.39. TAPISettingsResourceList

List of settings resources

List Of TAPISettingsResource
<custom>
<item>
  <list>
    <item>
      <classname>twebmailsettingsresource</classname>
      <name>stringval</name>
    </item>
    <item>
      <classname>twebmailsettingsresource</classname>
      <name>stringval</name>
    </item>
  </list>
  <name>stringval</name>
  <resourcetype>enumval</resourcetype>
  <default>enumval</default>
</item>
<item>
  <list>
    <item>
      <classname>twebmailsettingsresource</classname>
      <name>stringval</name>
    </item>
    <item>
      <classname>twebmailsettingsresource</classname>
      <name>stringval</name>
    </item>
  </list>
  <name>stringval</name>
  <resourcetype>enumval</resourcetype>
  <default>enumval</default>
</item>
</custom>

2.40. TAPISettingsResources

Represents the resources container in settigns

NameTypeDescription
ListTAPISettingsResourceList

List of items in the resource

<custom>
<list>
  <item>
    <list>
      <item>
        <classname>twebmailsettingsresource</classname>
        <name>stringval</name>
      </item>
      <item>
        <classname>twebmailsettingsresource</classname>
        <name>stringval</name>
      </item>
    </list>
    <name>stringval</name>
    <resourcetype>enumval</resourcetype>
    <default>enumval</default>
  </item>
  <item>
    <list>
      <item>
        <classname>twebmailsettingsresource</classname>
        <name>stringval</name>
      </item>
      <item>
        <classname>twebmailsettingsresource</classname>
        <name>stringval</name>
      </item>
    </list>
    <name>stringval</name>
    <resourcetype>enumval</resourcetype>
    <default>enumval</default>
  </item>
</list>
</custom>

2.41. TAPISettingsResourceType

Resource type

Enum 0=rtDefault , 1=rtList , 2=rtUIDList
<custom>enumval</custom>

2.42. TAPISettingsVariable

Represents the item in web client settings resource

NameTypeDescription
DomainAdminAccessLevelTAPISettingsAccessLevel

Access level for domain administrator accounts

UserAccessLevelTAPISettingsAccessLevel

Access level for user accounts

AccessLevelTAPISettingsAccessLevel

Access level for currently logged account

NameAnsiString

Item name in selected resource

ValueAnsiString

Item value in selected resource

SetDefaultBoolean

[Set only] Removes current variable from settings

<custom>
<domainadminaccesslevel>enumval</domainadminaccesslevel>
<useraccesslevel>enumval</useraccesslevel>
<accesslevel>enumval</accesslevel>
<name>stringval</name>
<value>stringval</value>
<setdefault>enumval</setdefault>
</custom>

2.43. TAPISettingsVariableList

Represents class TAPISettingsVariableList

List Of TAPISettingsVariable
<custom>
<item>
  <domainadminaccesslevel>enumval</domainadminaccesslevel>
  <useraccesslevel>enumval</useraccesslevel>
  <accesslevel>enumval</accesslevel>
  <name>stringval</name>
  <value>stringval</value>
  <setdefault>enumval</setdefault>
</item>
<item>
  <domainadminaccesslevel>enumval</domainadminaccesslevel>
  <useraccesslevel>enumval</useraccesslevel>
  <accesslevel>enumval</accesslevel>
  <name>stringval</name>
  <value>stringval</value>
  <setdefault>enumval</setdefault>
</item>
</custom>

2.44. TAPISignupInfo

Returns basic informations about just authenticated account

NameTypeDescription
EmailAnsiString

Email of current user

NameTAccountName

Name of current user

AvatarTokenAnsiString

Avatar token

AuthTokenAnsiString

Auth token

AvatarURLAnsiString

Auth token

<custom>
<email>stringval</email>
<name>
  <classname>taccountname</classname>
  <name>stringval</name>
  <surname>stringval</surname>
</name>
<avatartoken>stringval</avatartoken>
<authtoken>stringval</authtoken>
<avatarurl>stringval</avatarurl>
</custom>

2.45. TAuthChallenge

Returns current hash(RSA public modulus) and timestamp used in authorization

NameTypeDescription
HashIdAnsiString

Hash ( public RSA key modulus )

TimeStampNativeInt

Time of the hash creation ( unixtime )

<custom>
<classname>tauthchallenge</classname>
<hashid>stringval</hashid>
<timestamp>intval</timestamp>
</custom>

2.46. TAuthType

Enum 0=atPlain , 1=atRSA
<custom>enumval</custom>

2.47. TCaptchaConfirmation

Class that is used to confirm humanity check

NameTypeDescription
UIDAnsiString

Captcha identifier

ValueAnsiString

Captcha value ( alphanumeric value )

<custom>
<uid>stringval</uid>
<value>stringval</value>
</custom>

2.48. TCaptchaHTML

Humanity check definition

NameTypeDescription
UIDAnsiString

Captcha identifier

HTMLAnsiString

Captcha HTML

StyleAnsiString

Captcha CSS

<custom>
<uid>stringval</uid>
<html>stringval</html>
<style>stringval</style>
</custom>

2.49. TCertGenerationEngine

Enum 0=cgeNone , 1=cgeLetsEncrypt
<custom>enumval</custom>

2.50. TCertInfoType

Enum 0=citNormal , 1=citCA , 2=citCSR , 3=citCAFile , 4=citCRL
<custom>enumval</custom>

2.51. TCertStatus

Enum 0=csNeutral , 1=csOK , 2=csWarning , 3=csError
<custom>enumval</custom>

2.52. TDevicePropertyList

Used to specify properties of IceWarp mobile device ( by property name )

List Of TAPIProperty
<custom>
<item>
  <propname>stringval</propname>
</item>
<item>
  <propname>stringval</propname>
</item>
</custom>

2.53. TDomainDNSInfo

Informations about Domain DNS

NameTypeDescription
RecordsTDomainDNSRecords

Domain DNS records

<custom>
<records>
  <item>
    <host>stringval</host>
    <recordtype>enumval</recordtype>
    <recordservice>enumval</recordservice>
    <value>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </value>
  </item>
  <item>
    <host>stringval</host>
    <recordtype>enumval</recordtype>
    <recordservice>enumval</recordservice>
    <value>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </value>
  </item>
</records>
</custom>

2.54. TDomainDNSRecord

Domain DNS record informations

NameTypeDescription
HostAnsiString

Host name

RecordTypeTDomainDNSRecordType

DNS record type

RecordServiceTDomainDNSRecordService

DNS record service

ValueTPropertyStringList

Values ( list of strings )

<custom>
<host>stringval</host>
<recordtype>enumval</recordtype>
<recordservice>enumval</recordservice>
<value>
  <classname>tpropertystringlist</classname>
  <val>
    <item>item 1</item>
    <item>item2</item>
  </val>
</value>
</custom>

2.55. TDomainDNSRecords

List of Domain DNS Record

List Of TDomainDNSRecord
<custom>
<item>
  <host>stringval</host>
  <recordtype>enumval</recordtype>
  <recordservice>enumval</recordservice>
  <value>
    <classname>tpropertystringlist</classname>
    <val>
      <item>item 1</item>
      <item>item2</item>
    </val>
  </value>
</item>
<item>
  <host>stringval</host>
  <recordtype>enumval</recordtype>
  <recordservice>enumval</recordservice>
  <value>
    <classname>tpropertystringlist</classname>
    <val>
      <item>item 1</item>
      <item>item2</item>
    </val>
  </value>
</item>
</custom>

2.56. TDomainDNSRecordService

Represents enumeration TDomainDNSRecordService

Enum 0=rsMX , 1=rsAutodiscover , 2=rsAutodiscover_srv , 3=rsWebdav , 4=rsSIP , 5=rsXMPP , 6=rsIschedule , 7=rsRDNS , 8=rsSPF , 9=rsDKIM
<custom>enumval</custom>

2.57. TDomainDNSRecordType

Represents enumeration TDomainDNSRecordType

Enum 0=rtMX , 1=rtA , 2=rtSRV , 3=rtPTR , 4=rtTXT
<custom>enumval</custom>

2.58. TDomainGeneralInfo

General info about domain

NameTypeDescription
NameAnsiString

Domain name

DefaultAliasAnsiString

Default alias of the domain

EmailAnsiString

Administrator email address

UserCountNativeInt

Count of users in domain

UserLimitNativeInt

Max number of users in domain

IPAddressAnsiString

Domain IP address

HostNameAnsiString

Domain host name

DomainTypeTDomainType

Domain type

ExpiresOnAnsiString

Domain expiration date

<custom>
<name>stringval</name>
<defaultalias>stringval</defaultalias>
<email>stringval</email>
<usercount>intval</usercount>
<userlimit>intval</userlimit>
<ipaddress>stringval</ipaddress>
<hostname>stringval</hostname>
<domaintype>enumval</domaintype>
<expireson>stringval</expireson>
</custom>

2.59. TDomainInfo

Basic informations about IceWarp domain object, is used in domain listing

NameTypeDescription
NameAnsiString

Domain name

DescAnsiString

Domain description

DomainTypeNativeInt

Domain type ( TDomainType = (0 - dtStandard, 1 - dtETRNQue, 2 - dtAlias, 3 - dtBackup, 4 - dtDistributed) )

AccountCountNativeInt

Number of accounts

<custom>
<name>stringval</name>
<desc>stringval</desc>
<domaintype>intval</domaintype>
<accountcount>intval</accountcount>
</custom>

2.60. TDomainInformations

Domain infromations

NameTypeDescription
GeneralTDomainGeneralInfo

Domain general info

DNSTDomainDNSInfo

Domain DNS info

<custom>
<general>
  <name>stringval</name>
  <defaultalias>stringval</defaultalias>
  <email>stringval</email>
  <usercount>intval</usercount>
  <userlimit>intval</userlimit>
  <ipaddress>stringval</ipaddress>
  <hostname>stringval</hostname>
  <domaintype>enumval</domaintype>
  <expireson>stringval</expireson>
</general>
<dns>
  <records>
    <item>
      <host>stringval</host>
      <recordtype>enumval</recordtype>
      <recordservice>enumval</recordservice>
      <value>
        <classname>tpropertystringlist</classname>
        <val>
          <item>item 1</item>
          <item>item2</item>
        </val>
      </value>
    </item>
    <item>
      <host>stringval</host>
      <recordtype>enumval</recordtype>
      <recordservice>enumval</recordservice>
      <value>
        <classname>tpropertystringlist</classname>
        <val>
          <item>item 1</item>
          <item>item2</item>
        </val>
      </value>
    </item>
  </records>
</dns>
</custom>

2.61. TDomainListFilter

Used to filter the list of domains in IceWarp server

NameTypeDescription
NameMaskAnsiString

Used against domain name & description

TypeMaskAnsiString

Used against domain type

<custom>
<namemask>stringval</namemask>
<typemask>stringval</typemask>
</custom>

2.62. TDomainOutlookPolicies

Outlook policies related to IceWarp domain

Properties inherited from : TOutlookPolicies
NameTypeDescription
SyncFolderStructureBoolean

Sync folder structure

SyncFolderStructureAfterAnsiString

Sync folder structure after N minutes

SyncPriorityFoldersBoolean

Synchronize priority folders

SyncPriorityFoldersAfterAnsiString

Synchronize priority folders after N minutes

SyncStandardFoldersBoolean

Synchronize standard folders

SyncStandardFoldersAfterAnsiString

Synchronize standard folders after N minutes

SyncFoldersImmediatelyBoolean

Synchronize folder immediately after change is detected

SyncFoldersImmediatelyValueAnsiString

Synchronize folder immediately after change is detected value

SyncGALBoolean

Sync Global address list

SyncGALValueAnsiString

Sync Global adress list value

FolderSyncThresholdBoolean

Folder synchronization threshold

FolderSyncThresholdMessagesAnsiString

Folder synchronization threshold value ( messages in folder )

DownloadThresholdBoolean

Download threshold

DownloadThresholdMBAnsiString

Download threshold value in MB

DownloadFilesFullyBoolean

Download files fully

DownloadFilesTypeAnsiString

Download files type (custom, headers, full)

AuthenticationMethodBoolean

Authentication method

AuthenticationMethodValueAnsiString

Authentication method value (CRAM MD5, Plain)

LineSecurityBoolean

Line Security

LineSecurityValueAnsiString

Line Security value (plain, starttls, ssl)

LoginPortBoolean

Login port

LoginPortValueAnsiString

Login port value

DisplayABNamesBoolean

Display Adreess book names

DisplayABNamesAsAnsiString

Display Address book value ( numbered structure, folder name only, full folder path , outlook native )

SaveAsTypeAnsiString

Save as type (default, force settings)

ResetToDefaultBoolean

Reset to default indicator

DoNotShowLoginErrorsBoolean

Do not show login error window

DoNotShowLoginErrorsValueAnsiString

Do not show login error window value

SkipTrashFolderStartupCheckBoolean

Skip trash folder startup check

SkipTrashFolderStartupCheckValueAnsiString

Skip trash folder startup check value

DisableTnefBoolean

Disable TNEF

DisableTnefValueAnsiString

Disable TNEF value

AutoRevertChangesInReadOnlyBoolean

Auto revert changes in read only folders

AutoRevertChangesInReadOnlyValueAnsiString

Auto revert changes in read only folders value

DoNotShowProgressBoolean

Do not show progress

DoNotShowProgressValueAnsiString

Do not show progress value

ShowDesktopNotificationBoolean

Show desktop notification

ShowDesktopNotificationValueAnsiString

Show desktop notification value

HideNotificationAfterValueAnsiString

Hide notification after time value

PlayDefaultNotificationSoundBoolean

Play default notification sound

PlayDefaultNotificationSoundValueAnsiString

Play default notification sound value

CheckForUpdatesBoolean

Check for updates

CheckForUpdatesValueAnsiString

Check for updates value

LogLevelBoolean

Log level

LogLevelValueAnsiString

Log level value (errors, debug)

DeleteLogsBoolean

Delete logs

DeleteLogsValueAnsiString

Delete logs value

DeleteLogsAfterValueAnsiString

Delete logs after days value

DoNotShowConnectionErrorsBoolean

Disable connection warnings

DoNotShowConnectionErrorsValueAnsiString

Disable connection warnings value

<custom>
<classname>tdomainoutlookpolicies</classname>
</custom>

2.63. TDomainPropertyList

Used to specify properties of IceWarp domain ( by property name );

List Of TAPIProperty
<custom>
<item>
  <propname>stringval</propname>
</item>
<item>
  <propname>stringval</propname>
</item>
</custom>

2.64. TDomainsAdministrativePermissions

Administrative permissions related to domain and its accounts

NameTypeDescription
AccountsRelatedPermissionsTAdministrativePermissionsList

options related to all accounts in this domain

DomainRelatedPermissionsTAdministrativePermissionsList

options related to domain settings in this domain

<custom>
<accountsrelatedpermissions>
  <item>
    <prop>intval</prop>
    <perm>enumval</perm>
  </item>
  <item>
    <prop>intval</prop>
    <perm>enumval</perm>
  </item>
</accountsrelatedpermissions>
<domainrelatedpermissions>
  <item>
    <prop>intval</prop>
    <perm>enumval</perm>
  </item>
  <item>
    <prop>intval</prop>
    <perm>enumval</perm>
  </item>
</domainrelatedpermissions>
</custom>

2.65. TDomainsAdministrativePermissionsSet

This encapsulates permissions defined on domains. It can contain data related to particular domain and it can also contain data related to multiple domains (using wildcard)

NameTypeDescription
DomainsSetTDomainsSet

Set of domains

DomainsAdministrativePermissionsTDomainsAdministrativePermissions

Permissions related to domains in domainsset

<custom>
<domainsset>
  <item>
    <mask>stringval</mask>
    <negate>enumval</negate>
  </item>
  <item>
    <mask>stringval</mask>
    <negate>enumval</negate>
  </item>
</domainsset>
<domainsadministrativepermissions>
  <accountsrelatedpermissions>
    <item>
      <prop>intval</prop>
      <perm>enumval</perm>
    </item>
    <item>
      <prop>intval</prop>
      <perm>enumval</perm>
    </item>
  </accountsrelatedpermissions>
  <domainrelatedpermissions>
    <item>
      <prop>intval</prop>
      <perm>enumval</perm>
    </item>
    <item>
      <prop>intval</prop>
      <perm>enumval</perm>
    </item>
  </domainrelatedpermissions>
</domainsadministrativepermissions>
</custom>

2.66. TDomainsInfoList

Represents the list of domains returned to client

List Of TDomainInfo
NameTypeDescription
OffsetNativeInt

Current offset in the list

OverallCountNativeInt

Overall count of domains in the list

<custom>
<item>
  <name>stringval</name>
  <desc>stringval</desc>
  <domaintype>intval</domaintype>
  <accountcount>intval</accountcount>
</item>
<item>
  <name>stringval</name>
  <desc>stringval</desc>
  <domaintype>intval</domaintype>
  <accountcount>intval</accountcount>
</item>
</custom>

2.67. TDomainSpec

This class represents a domain, or domain pattern using wildcards

NameTypeDescription
MaskAnsiString

Domain name or pattern

NegateBoolean

Negates the Mask

<custom>
<mask>stringval</mask>
<negate>enumval</negate>
</custom>

2.68. TDomainsPermissionsList

List of TDomainsAdministrativePermissionsSet

List Of TDomainsAdministrativePermissionsSet
<custom>
<item>
  <domainsset>
    <item>
      <mask>stringval</mask>
      <negate>enumval</negate>
    </item>
    <item>
      <mask>stringval</mask>
      <negate>enumval</negate>
    </item>
  </domainsset>
  <domainsadministrativepermissions>
    <accountsrelatedpermissions>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
    </accountsrelatedpermissions>
    <domainrelatedpermissions>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
    </domainrelatedpermissions>
  </domainsadministrativepermissions>
</item>
<item>
  <domainsset>
    <item>
      <mask>stringval</mask>
      <negate>enumval</negate>
    </item>
    <item>
      <mask>stringval</mask>
      <negate>enumval</negate>
    </item>
  </domainsset>
  <domainsadministrativepermissions>
    <accountsrelatedpermissions>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
    </accountsrelatedpermissions>
    <domainrelatedpermissions>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
      <item>
        <prop>intval</prop>
        <perm>enumval</perm>
      </item>
    </domainrelatedpermissions>
  </domainsadministrativepermissions>
</item>
</custom>

2.69. TDomainsSet

This class represents set of domains it may be list, single item, or even wildcard, or even negation

List Of TDomainSpec
<custom>
<item>
  <mask>stringval</mask>
  <negate>enumval</negate>
</item>
<item>
  <mask>stringval</mask>
  <negate>enumval</negate>
</item>
</custom>

2.70. TDomainType

Enum 0=dtStandard , 1=dtETRNQue , 2=dtAlias , 3=dtBackup , 4=dtDistributed , 5=dtService
<custom>enumval</custom>

2.71. TFolderInfo

Basic informations about IceWarp folder object, is used in folder listing

NameTypeDescription
NameAnsiString

Folder name

IDAnsiString

Folder ID

FolderTypeAnsiString

Folder type

DefaultTypeAnsiString

Folder default type

SubFoldersTFolderInfoList

List of subfolders in current folder

<custom>
<name>stringval</name>
<id>stringval</id>
<foldertype>stringval</foldertype>
<defaulttype>stringval</defaulttype>
<subfolders>
  <item>
    <name>stringval</name>
    <id>stringval</id>
    <foldertype>stringval</foldertype>
    <defaulttype>stringval</defaulttype>
    <subfolders>
      <item>
        <name>stringval</name>
        <id>stringval</id>
        <foldertype>stringval</foldertype>
        <defaulttype>stringval</defaulttype>
        <subfolders/>
      </item>
      <item>
        <name>stringval</name>
        <id>stringval</id>
        <foldertype>stringval</foldertype>
        <defaulttype>stringval</defaulttype>
        <subfolders/>
      </item>
    </subfolders>
  </item>
  <item>
    <name>stringval</name>
    <id>stringval</id>
    <foldertype>stringval</foldertype>
    <defaulttype>stringval</defaulttype>
    <subfolders>
      <item>
        <name>stringval</name>
        <id>stringval</id>
        <foldertype>stringval</foldertype>
        <defaulttype>stringval</defaulttype>
        <subfolders/>
      </item>
      <item>
        <name>stringval</name>
        <id>stringval</id>
        <foldertype>stringval</foldertype>
        <defaulttype>stringval</defaulttype>
        <subfolders/>
      </item>
    </subfolders>
  </item>
</subfolders>
</custom>

2.72. TFolderInfoList

Represents the list of folders in IceWarp account

List Of TFolderInfo
<custom>
<item>
  <name>stringval</name>
  <id>stringval</id>
  <foldertype>stringval</foldertype>
  <defaulttype>stringval</defaulttype>
  <subfolders>
    <item>
      <name>stringval</name>
      <id>stringval</id>
      <foldertype>stringval</foldertype>
      <defaulttype>stringval</defaulttype>
      <subfolders>
        <item>
          <name>stringval</name>
          <id>stringval</id>
          <foldertype>stringval</foldertype>
          <defaulttype>stringval</defaulttype>
        </item>
        <item>
          <name>stringval</name>
          <id>stringval</id>
          <foldertype>stringval</foldertype>
          <defaulttype>stringval</defaulttype>
        </item>
      </subfolders>
    </item>
    <item>
      <name>stringval</name>
      <id>stringval</id>
      <foldertype>stringval</foldertype>
      <defaulttype>stringval</defaulttype>
      <subfolders>
        <item>
          <name>stringval</name>
          <id>stringval</id>
          <foldertype>stringval</foldertype>
          <defaulttype>stringval</defaulttype>
        </item>
        <item>
          <name>stringval</name>
          <id>stringval</id>
          <foldertype>stringval</foldertype>
          <defaulttype>stringval</defaulttype>
        </item>
      </subfolders>
    </item>
  </subfolders>
</item>
<item>
  <name>stringval</name>
  <id>stringval</id>
  <foldertype>stringval</foldertype>
  <defaulttype>stringval</defaulttype>
  <subfolders>
    <item>
      <name>stringval</name>
      <id>stringval</id>
      <foldertype>stringval</foldertype>
      <defaulttype>stringval</defaulttype>
      <subfolders>
        <item>
          <name>stringval</name>
          <id>stringval</id>
          <foldertype>stringval</foldertype>
          <defaulttype>stringval</defaulttype>
        </item>
        <item>
          <name>stringval</name>
          <id>stringval</id>
          <foldertype>stringval</foldertype>
          <defaulttype>stringval</defaulttype>
        </item>
      </subfolders>
    </item>
    <item>
      <name>stringval</name>
      <id>stringval</id>
      <foldertype>stringval</foldertype>
      <defaulttype>stringval</defaulttype>
      <subfolders>
        <item>
          <name>stringval</name>
          <id>stringval</id>
          <foldertype>stringval</foldertype>
          <defaulttype>stringval</defaulttype>
        </item>
        <item>
          <name>stringval</name>
          <id>stringval</id>
          <foldertype>stringval</foldertype>
          <defaulttype>stringval</defaulttype>
        </item>
      </subfolders>
    </item>
  </subfolders>
</item>
</custom>

2.73. TFolderPermissions

List of permissions related to specific folder in IceWarp account

List Of TFolderPermissionsItem
NameTypeDescription
IsInheritedBoolean

Inherited rights from higher level

<custom>
<item>
  <account>stringval</account>
  <permissions>stringval</permissions>
</item>
<item>
  <account>stringval</account>
  <permissions>stringval</permissions>
</item>
</custom>

2.74. TFolderPermissionsItem

Folder permission item

NameTypeDescription
AccountAnsiString

IceWarp account email address

PermissionsAnsiString

Permissions for Account

<custom>
<account>stringval</account>
<permissions>stringval</permissions>
</custom>

2.75. TIMRoster

API Property representing Instant messaging roster list

NameTypeDescription
ValTIMRosterList

Instant messaging roster list

<custom>
<classname>timroster</classname>
<val>
  <item>
    <val>stringval</val>
    <grouptitle>stringval</grouptitle>
  </item>
  <item>
    <val>stringval</val>
    <grouptitle>stringval</grouptitle>
  </item>
</val>
</custom>

2.76. TIMRosterItem

Instant messaging roster item

NameTypeDescription
ValAnsiString

Item name

GroupTitleAnsiString

Item group title

<custom>
<val>stringval</val>
<grouptitle>stringval</grouptitle>
</custom>

2.77. TIMRosterList

Instant messaging roster list

List Of TIMRosterItem
<custom>
<item>
  <val>stringval</val>
  <grouptitle>stringval</grouptitle>
</item>
<item>
  <val>stringval</val>
  <grouptitle>stringval</grouptitle>
</item>
</custom>

2.78. TLicenseRequest

Enum 0=lrLicense , 1=lrManage , 2=lrTrial , 3=lrClient , 4=lrClient_Seats , 5=lrLicenseGeneral , 6=lrSeats , 7=lrUninstall , 8=lrCloudPlanChange , 9=lrCloudBillingChange , 10=lrCloudInvoices , 11=lrCloudSupport , 12=lrCloudCancelSubscription
<custom>enumval</custom>

2.79. TMobileDeviceInfo

Basic informations about IceWarp mobile device object, is used in mobile device listing

NameTypeDescription
DeviceIDAnsiString

Combined device ID : Base64(AccountID+|+DeviceID)

IDAnsiString

DeviceID

AccountAnsiString

AccountID

NameAnsiString

Device name

DeviceTypeAnsiString

Device type

ModelAnsiString

Device model

OSAnsiString

Device OS

ProtocolVersionAnsiString

Device protocol version

RegisteredAnsiString

Device registration information

LastSyncAnsiString

Date of the last device synchronization

RemoteWipeTMobileDeviceRemoteWipe

Device remote wipe type

StatusTMobileDeviceStatus

Device status

<custom>
<deviceid>stringval</deviceid>
<id>stringval</id>
<account>stringval</account>
<name>stringval</name>
<devicetype>stringval</devicetype>
<model>stringval</model>
<os>stringval</os>
<protocolversion>stringval</protocolversion>
<registered>stringval</registered>
<lastsync>stringval</lastsync>
<remotewipe>enumval</remotewipe>
<status>enumval</status>
</custom>

2.80. TMobileDeviceListFilter

Used to filter the list of mobile devices in IceWarp server

NameTypeDescription
NameMaskAnsiString

Used agains mobile device name

StatusTMobileDeviceStatus

Used against mobile device status

LastSyncNativeInt

Synced during last N days

<custom>
<namemask>stringval</namemask>
<status>enumval</status>
<lastsync>intval</lastsync>
</custom>

2.81. TMobileDeviceRemoteWipe

Represents enumeration TMobileDeviceRemoteWipe

Enum 0=rwUnsupported , 1=rwNone , 2=rwHard , 3=rwSoft
<custom>enumval</custom>

2.82. TMobileDeviceRemoteWipeSet

Represents enumeration TMobileDeviceRemoteWipeSet

Enum 0=rwsHard , 1=rwsSoft
<custom>enumval</custom>

2.83. TMobileDevicesInfoList

Represents the list of mobile devices

List Of TMobileDeviceInfo
NameTypeDescription
OffsetNativeInt

Current offset in the list

OverallCountNativeInt

Overall count of mobile devices in the list

<custom>
<item>
  <deviceid>stringval</deviceid>
  <id>stringval</id>
  <account>stringval</account>
  <name>stringval</name>
  <devicetype>stringval</devicetype>
  <model>stringval</model>
  <os>stringval</os>
  <protocolversion>stringval</protocolversion>
  <registered>stringval</registered>
  <lastsync>stringval</lastsync>
  <remotewipe>enumval</remotewipe>
  <status>enumval</status>
</item>
<item>
  <deviceid>stringval</deviceid>
  <id>stringval</id>
  <account>stringval</account>
  <name>stringval</name>
  <devicetype>stringval</devicetype>
  <model>stringval</model>
  <os>stringval</os>
  <protocolversion>stringval</protocolversion>
  <registered>stringval</registered>
  <lastsync>stringval</lastsync>
  <remotewipe>enumval</remotewipe>
  <status>enumval</status>
</item>
</custom>

2.84. TMobileDeviceStatus

Represents enumeration TMobileDeviceStatus

Enum 0=stAll , 1=stAllowed , 2=stBlocked , 3=stQuarantined
<custom>enumval</custom>

2.85. TMobileDeviceStatusSet

Represents enumeration TMobileDeviceStatusSet

Enum 0=ssAllowed , 1=ssBlocked
<custom>enumval</custom>

2.86. TNameInfo

NameTypeDescription
OAnsiString
OUAnsiString
CAnsiString
CNAnsiString
SubjectAltNameAnsiString
LocalityAnsiString
StateAnsiString
EmailAnsiString
<custom>
<o>stringval</o>
<ou>stringval</ou>
<c>stringval</c>
<cn>stringval</cn>
<subjectaltname>stringval</subjectaltname>
<locality>stringval</locality>
<state>stringval</state>
<email>stringval</email>
</custom>

2.87. TOutlookPolicies

Represents class TOutlookPolicies

Abstract Class - see its descendants:
TAccountOutlookPolicies
TDomainOutlookPolicies
NameTypeDescription
SyncFolderStructureBoolean

Sync folder structure

SyncFolderStructureAfterAnsiString

Sync folder structure after N minutes

SyncPriorityFoldersBoolean

Synchronize priority folders

SyncPriorityFoldersAfterAnsiString

Synchronize priority folders after N minutes

SyncStandardFoldersBoolean

Synchronize standard folders

SyncStandardFoldersAfterAnsiString

Synchronize standard folders after N minutes

SyncFoldersImmediatelyBoolean

Synchronize folder immediately after change is detected

SyncFoldersImmediatelyValueAnsiString

Synchronize folder immediately after change is detected value

SyncGALBoolean

Sync Global address list

SyncGALValueAnsiString

Sync Global adress list value

FolderSyncThresholdBoolean

Folder synchronization threshold

FolderSyncThresholdMessagesAnsiString

Folder synchronization threshold value ( messages in folder )

DownloadThresholdBoolean

Download threshold

DownloadThresholdMBAnsiString

Download threshold value in MB

DownloadFilesFullyBoolean

Download files fully

DownloadFilesTypeAnsiString

Download files type (custom, headers, full)

AuthenticationMethodBoolean

Authentication method

AuthenticationMethodValueAnsiString

Authentication method value (CRAM MD5, Plain)

LineSecurityBoolean

Line Security

LineSecurityValueAnsiString

Line Security value (plain, starttls, ssl)

LoginPortBoolean

Login port

LoginPortValueAnsiString

Login port value

DisplayABNamesBoolean

Display Adreess book names

DisplayABNamesAsAnsiString

Display Address book value ( numbered structure, folder name only, full folder path , outlook native )

SaveAsTypeAnsiString

Save as type (default, force settings)

ResetToDefaultBoolean

Reset to default indicator

DoNotShowLoginErrorsBoolean

Do not show login error window

DoNotShowLoginErrorsValueAnsiString

Do not show login error window value

SkipTrashFolderStartupCheckBoolean

Skip trash folder startup check

SkipTrashFolderStartupCheckValueAnsiString

Skip trash folder startup check value

DisableTnefBoolean

Disable TNEF

DisableTnefValueAnsiString

Disable TNEF value

AutoRevertChangesInReadOnlyBoolean

Auto revert changes in read only folders

AutoRevertChangesInReadOnlyValueAnsiString

Auto revert changes in read only folders value

DoNotShowProgressBoolean

Do not show progress

DoNotShowProgressValueAnsiString

Do not show progress value

ShowDesktopNotificationBoolean

Show desktop notification

ShowDesktopNotificationValueAnsiString

Show desktop notification value

HideNotificationAfterValueAnsiString

Hide notification after time value

PlayDefaultNotificationSoundBoolean

Play default notification sound

PlayDefaultNotificationSoundValueAnsiString

Play default notification sound value

CheckForUpdatesBoolean

Check for updates

CheckForUpdatesValueAnsiString

Check for updates value

LogLevelBoolean

Log level

LogLevelValueAnsiString

Log level value (errors, debug)

DeleteLogsBoolean

Delete logs

DeleteLogsValueAnsiString

Delete logs value

DeleteLogsAfterValueAnsiString

Delete logs after days value

DoNotShowConnectionErrorsBoolean

Disable connection warnings

DoNotShowConnectionErrorsValueAnsiString

Disable connection warnings value

2.88. TPermission

Enum 0=pvtNone , 1=pvtRead , 2=pvtReadWrite , 3=pvtForcedNone , 4=pvtForcedRead , 5=pvtForcedReadWrite
<custom>enumval</custom>

2.89. TPropertyEnumValue

Describes value of property enumeration

NameTypeDescription
ValueAnsiString

Enumeration value

NameAnsiString

Enumeration name

<custom>
<value>stringval</value>
<name>stringval</name>
</custom>

2.90. TPropertyEnumValues

List of property enumeration values

List Of TPropertyEnumValue
<custom>
<item>
  <value>stringval</value>
  <name>stringval</name>
</item>
<item>
  <value>stringval</value>
  <name>stringval</name>
</item>
</custom>

2.91. TPropertyInfo

Brief information about API property on IceWarp server

NameTypeDescription
APIPropertyTAPIProperty

API Proprety object

PropertyValTPropertyVal

Value of current API property

PropertyRightTPermission

Rights for the current session

PropertyEnumValuesTPropertyEnumValues

Enumeration values & comments if the property is enumeration

PropertyCommentAnsiString

Comment ( description ) for current API Property

PropertyGroupAnsiString

Specifies the group in which the API property is organized

PropertyValueTypeTPropertyValueType

Type of the property value

<custom>
<apiproperty>
  <propname>stringval</propname>
</apiproperty>
<propertyval>
  <classname>taccountcard</classname>
  <body>stringval</body>
  <anniversary>stringval</anniversary>
  <birthday>stringval</birthday>
  <assistantname>stringval</assistantname>
  <companyname>stringval</companyname>
  <department>stringval</department>
  <fileas>stringval</fileas>
  <firstname>stringval</firstname>
  <jobtitle>stringval</jobtitle>
  <lastname>stringval</lastname>
  <managername>stringval</managername>
  <middlename>stringval</middlename>
  <nickname>stringval</nickname>
  <officelocation>stringval</officelocation>
  <spouse>stringval</spouse>
  <suffix>stringval</suffix>
  <title>stringval</title>
  <webpage>stringval</webpage>
  <certificate>stringval</certificate>
  <freebusyurl>stringval</freebusyurl>
  <profession>stringval</profession>
  <sensitivity>stringval</sensitivity>
  <gender>stringval</gender>
  <businessaddresscity>stringval</businessaddresscity>
  <businessaddresscountry>stringval</businessaddresscountry>
  <businessaddresspostalcode>stringval</businessaddresspostalcode>
  <businessaddressstate>stringval</businessaddressstate>
  <businessaddressstreet>stringval</businessaddressstreet>
  <businessaddresspostofficebox>stringval</businessaddresspostofficebox>
  <homeaddresscity>stringval</homeaddresscity>
  <homeaddresscountry>stringval</homeaddresscountry>
  <homeaddresspostalcode>stringval</homeaddresspostalcode>
  <homeaddressstate>stringval</homeaddressstate>
  <homeaddressstreet>stringval</homeaddressstreet>
  <homeaddresspostofficebox>stringval</homeaddresspostofficebox>
  <email1address>stringval</email1address>
  <email2address>stringval</email2address>
  <email3address>stringval</email3address>
  <imaddress>stringval</imaddress>
  <homepage>stringval</homepage>
  <homepage2>stringval</homepage2>
  <assistnametelephonenumber>stringval</assistnametelephonenumber>
  <businessfaxnumber>stringval</businessfaxnumber>
  <businesstelephonenumber>stringval</businesstelephonenumber>
  <business2telephonenumber>stringval</business2telephonenumber>
  <cartelephonenumber>stringval</cartelephonenumber>
  <companymaintelephonenumber>stringval</companymaintelephonenumber>
  <homefaxnumber>stringval</homefaxnumber>
  <hometelephonenumber>stringval</hometelephonenumber>
  <home2telephonenumber>stringval</home2telephonenumber>
  <mobiletelephonenumber>stringval</mobiletelephonenumber>
  <pagernumber>stringval</pagernumber>
  <radiotelephonenumber>stringval</radiotelephonenumber>
  <callbacktelephonenumber>stringval</callbacktelephonenumber>
  <isdnnumber>stringval</isdnnumber>
  <otherfaxnumber>stringval</otherfaxnumber>
  <primarytelephonenumber>stringval</primarytelephonenumber>
  <telexnumber>stringval</telexnumber>
  <hearingnumber>stringval</hearingnumber>
  <othernumber>stringval</othernumber>
  <categories>
    <classname>tpropertystringlist</classname>
    <val>
      <item>item 1</item>
      <item>item2</item>
    </val>
  </categories>
</propertyval>
<propertyright>enumval</propertyright>
<propertyenumvalues>
  <item>
    <value>stringval</value>
    <name>stringval</name>
  </item>
  <item>
    <value>stringval</value>
    <name>stringval</name>
  </item>
</propertyenumvalues>
<propertycomment>stringval</propertycomment>
<propertygroup>stringval</propertygroup>
<propertyvaluetype>enumval</propertyvaluetype>
</custom>

2.92. TPropertyInfoList

Represents the list of properties returned in API Console

List Of TPropertyInfo
NameTypeDescription
OffsetNativeInt

Current offset in the list

OverallCountNativeInt

Overall count of properties in the list

<custom>
<item>
  <apiproperty>
    <propname>stringval</propname>
  </apiproperty>
  <propertyval>
    <classname>taccountcard</classname>
    <body>stringval</body>
    <anniversary>stringval</anniversary>
    <birthday>stringval</birthday>
    <assistantname>stringval</assistantname>
    <companyname>stringval</companyname>
    <department>stringval</department>
    <fileas>stringval</fileas>
    <firstname>stringval</firstname>
    <jobtitle>stringval</jobtitle>
    <lastname>stringval</lastname>
    <managername>stringval</managername>
    <middlename>stringval</middlename>
    <nickname>stringval</nickname>
    <officelocation>stringval</officelocation>
    <spouse>stringval</spouse>
    <suffix>stringval</suffix>
    <title>stringval</title>
    <webpage>stringval</webpage>
    <certificate>stringval</certificate>
    <freebusyurl>stringval</freebusyurl>
    <profession>stringval</profession>
    <sensitivity>stringval</sensitivity>
    <gender>stringval</gender>
    <businessaddresscity>stringval</businessaddresscity>
    <businessaddresscountry>stringval</businessaddresscountry>
    <businessaddresspostalcode>stringval</businessaddresspostalcode>
    <businessaddressstate>stringval</businessaddressstate>
    <businessaddressstreet>stringval</businessaddressstreet>
    <businessaddresspostofficebox>stringval</businessaddresspostofficebox>
    <homeaddresscity>stringval</homeaddresscity>
    <homeaddresscountry>stringval</homeaddresscountry>
    <homeaddresspostalcode>stringval</homeaddresspostalcode>
    <homeaddressstate>stringval</homeaddressstate>
    <homeaddressstreet>stringval</homeaddressstreet>
    <homeaddresspostofficebox>stringval</homeaddresspostofficebox>
    <email1address>stringval</email1address>
    <email2address>stringval</email2address>
    <email3address>stringval</email3address>
    <imaddress>stringval</imaddress>
    <homepage>stringval</homepage>
    <homepage2>stringval</homepage2>
    <assistnametelephonenumber>stringval</assistnametelephonenumber>
    <businessfaxnumber>stringval</businessfaxnumber>
    <businesstelephonenumber>stringval</businesstelephonenumber>
    <business2telephonenumber>stringval</business2telephonenumber>
    <cartelephonenumber>stringval</cartelephonenumber>
    <companymaintelephonenumber>stringval</companymaintelephonenumber>
    <homefaxnumber>stringval</homefaxnumber>
    <hometelephonenumber>stringval</hometelephonenumber>
    <home2telephonenumber>stringval</home2telephonenumber>
    <mobiletelephonenumber>stringval</mobiletelephonenumber>
    <pagernumber>stringval</pagernumber>
    <radiotelephonenumber>stringval</radiotelephonenumber>
    <callbacktelephonenumber>stringval</callbacktelephonenumber>
    <isdnnumber>stringval</isdnnumber>
    <otherfaxnumber>stringval</otherfaxnumber>
    <primarytelephonenumber>stringval</primarytelephonenumber>
    <telexnumber>stringval</telexnumber>
    <hearingnumber>stringval</hearingnumber>
    <othernumber>stringval</othernumber>
    <categories>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </categories>
  </propertyval>
  <propertyright>enumval</propertyright>
  <propertyenumvalues>
    <item>
      <value>stringval</value>
      <name>stringval</name>
    </item>
    <item>
      <value>stringval</value>
      <name>stringval</name>
    </item>
  </propertyenumvalues>
  <propertycomment>stringval</propertycomment>
  <propertygroup>stringval</propertygroup>
  <propertyvaluetype>enumval</propertyvaluetype>
</item>
<item>
  <apiproperty>
    <propname>stringval</propname>
  </apiproperty>
  <propertyval>
    <classname>taccountcard</classname>
    <body>stringval</body>
    <anniversary>stringval</anniversary>
    <birthday>stringval</birthday>
    <assistantname>stringval</assistantname>
    <companyname>stringval</companyname>
    <department>stringval</department>
    <fileas>stringval</fileas>
    <firstname>stringval</firstname>
    <jobtitle>stringval</jobtitle>
    <lastname>stringval</lastname>
    <managername>stringval</managername>
    <middlename>stringval</middlename>
    <nickname>stringval</nickname>
    <officelocation>stringval</officelocation>
    <spouse>stringval</spouse>
    <suffix>stringval</suffix>
    <title>stringval</title>
    <webpage>stringval</webpage>
    <certificate>stringval</certificate>
    <freebusyurl>stringval</freebusyurl>
    <profession>stringval</profession>
    <sensitivity>stringval</sensitivity>
    <gender>stringval</gender>
    <businessaddresscity>stringval</businessaddresscity>
    <businessaddresscountry>stringval</businessaddresscountry>
    <businessaddresspostalcode>stringval</businessaddresspostalcode>
    <businessaddressstate>stringval</businessaddressstate>
    <businessaddressstreet>stringval</businessaddressstreet>
    <businessaddresspostofficebox>stringval</businessaddresspostofficebox>
    <homeaddresscity>stringval</homeaddresscity>
    <homeaddresscountry>stringval</homeaddresscountry>
    <homeaddresspostalcode>stringval</homeaddresspostalcode>
    <homeaddressstate>stringval</homeaddressstate>
    <homeaddressstreet>stringval</homeaddressstreet>
    <homeaddresspostofficebox>stringval</homeaddresspostofficebox>
    <email1address>stringval</email1address>
    <email2address>stringval</email2address>
    <email3address>stringval</email3address>
    <imaddress>stringval</imaddress>
    <homepage>stringval</homepage>
    <homepage2>stringval</homepage2>
    <assistnametelephonenumber>stringval</assistnametelephonenumber>
    <businessfaxnumber>stringval</businessfaxnumber>
    <businesstelephonenumber>stringval</businesstelephonenumber>
    <business2telephonenumber>stringval</business2telephonenumber>
    <cartelephonenumber>stringval</cartelephonenumber>
    <companymaintelephonenumber>stringval</companymaintelephonenumber>
    <homefaxnumber>stringval</homefaxnumber>
    <hometelephonenumber>stringval</hometelephonenumber>
    <home2telephonenumber>stringval</home2telephonenumber>
    <mobiletelephonenumber>stringval</mobiletelephonenumber>
    <pagernumber>stringval</pagernumber>
    <radiotelephonenumber>stringval</radiotelephonenumber>
    <callbacktelephonenumber>stringval</callbacktelephonenumber>
    <isdnnumber>stringval</isdnnumber>
    <otherfaxnumber>stringval</otherfaxnumber>
    <primarytelephonenumber>stringval</primarytelephonenumber>
    <telexnumber>stringval</telexnumber>
    <hearingnumber>stringval</hearingnumber>
    <othernumber>stringval</othernumber>
    <categories>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </categories>
  </propertyval>
  <propertyright>enumval</propertyright>
  <propertyenumvalues>
    <item>
      <value>stringval</value>
      <name>stringval</name>
    </item>
    <item>
      <value>stringval</value>
      <name>stringval</name>
    </item>
  </propertyenumvalues>
  <propertycomment>stringval</propertycomment>
  <propertygroup>stringval</propertygroup>
  <propertyvaluetype>enumval</propertyvaluetype>
</item>
</custom>

2.93. TPropertyListFilter

Used to filter the list of properties in server / domain / account API console

NameTypeDescription
MaskAnsiString

Supports wildcards, used agains property name , value and comment

GroupsTPropertyStringList

If the group list is specified, only properties in the group list is returned

ClearBoolean

Specifies if the cached property list should be cleared or not

<custom>
<mask>stringval</mask>
<groups>
  <classname>tpropertystringlist</classname>
  <val>
    <item>item 1</item>
    <item>item2</item>
  </val>
</groups>
<clear>enumval</clear>
</custom>

2.94. TPropertyMember

Represents the account member mailing list, group

NameTypeDescription
ValAnsiString

Name of the member

DefaultBoolean

Member will have default rights as defined within the Mailing List - Security tab of mailing list settings.

RecieveBoolean

Member will receive all messages sent to the list and cannot post messages to the list.

PostBoolean

Member can post message to the mailing list.

DigestBoolean

Member will receive all messages sent to the list, in a single "digest" message, and cannot post messages to the list.

ParamsAnsiString

Params

<custom>
<classname>tpropertymember</classname>
<val>stringval</val>
<default>enumval</default>
<recieve>enumval</recieve>
<post>enumval</post>
<digest>enumval</digest>
<params>stringval</params>
</custom>

2.95. TPropertyMemberList

Represents the account member list ( mailing list, group )

List Of TPropertyMember
<custom>
<item>
  <classname>tpropertymember</classname>
  <val>stringval</val>
  <default>enumval</default>
  <recieve>enumval</recieve>
  <post>enumval</post>
  <digest>enumval</digest>
  <params>stringval</params>
</item>
<item>
  <classname>tpropertymember</classname>
  <val>stringval</val>
  <default>enumval</default>
  <recieve>enumval</recieve>
  <post>enumval</post>
  <digest>enumval</digest>
  <params>stringval</params>
</item>
</custom>

2.96. TPropertyMembers

Represents the API property with account members ( mailing list, group )

NameTypeDescription
ValTPropertyMemberList

List of members

<custom>
<classname>tpropertymembers</classname>
<val>
  <item>
    <classname>tpropertymember</classname>
    <val>stringval</val>
    <default>enumval</default>
    <recieve>enumval</recieve>
    <post>enumval</post>
    <digest>enumval</digest>
    <params>stringval</params>
  </item>
  <item>
    <classname>tpropertymember</classname>
    <val>stringval</val>
    <default>enumval</default>
    <recieve>enumval</recieve>
    <post>enumval</post>
    <digest>enumval</digest>
    <params>stringval</params>
  </item>
</val>
</custom>

2.97. TPropertyNoValue

Represents property that has no value or there are missing read permissions

<custom>
<classname>tpropertynovalue</classname>
</custom>

2.98. TPropertyPermission

Defines a permissions for API property

NameTypeDescription
PropNativeInt

Property ID

PermTPermission

Property Permission

<custom>
<prop>intval</prop>
<perm>enumval</perm>
</custom>

2.99. TPropertyRight

Pair API property - right

NameTypeDescription
APIPropertyTAPIProperty

API Property object

PropertyRightTPermission

Property right

<custom>
<apiproperty>
  <propname>stringval</propname>
</apiproperty>
<propertyright>enumval</propertyright>
</custom>

2.100. TPropertyRightList

List Of TPropertyRight

List Of TPropertyRight
<custom>
<item>
  <apiproperty>
    <propname>stringval</propname>
  </apiproperty>
  <propertyright>enumval</propertyright>
</item>
<item>
  <apiproperty>
    <propname>stringval</propname>
  </apiproperty>
  <propertyright>enumval</propertyright>
</item>
</custom>

2.101. TPropertyString

Represents api property of type string

NameTypeDescription
ValAnsiString

String value

<custom>
<classname>tpropertystring</classname>
<val>stringval</val>
</custom>

2.102. TPropertyStringList

Represents api property of type string list

NameTypeDescription
ValTAnsiStringList

List of strings

<custom>
<classname>tpropertystringlist</classname>
<val>
  <item>item 1</item>
  <item>item2</item>
</val>
</custom>

2.103. TPropertyTranslateInfo

Pair of API Property and its comment ( used to create translation XML )

NameTypeDescription
NameAnsiString

Represents class property TPropertyTranslateInfo.Name

CommentAnsiString

Represents class property TPropertyTranslateInfo.Comment

<custom>
<name>stringval</name>
<comment>stringval</comment>
</custom>

2.104. TPropertyTranslateList

Represents class TPropertyTranslateList

List Of TPropertyTranslateInfo
<custom>
<item>
  <name>stringval</name>
  <comment>stringval</comment>
</item>
<item>
  <name>stringval</name>
  <comment>stringval</comment>
</item>
</custom>

2.105. TPropertyVal

Fully abstract class , parent of all properties returned in getproperty and similar

Abstract Class - see its descendants:
TOutlookPolicies
TPropertyNoValue
TPropertyString
TPropertyStringList
TPropertyMember
TPropertyMembers
TAccountSecurityQA
TAccountImage
TAccountQuota
TAccountResponderMessage
TAccountResponder
TAccountState
TAccountName
TAccountCard
TIMRoster
TAccountOutlookPolicies
TDomainOutlookPolicies
TActivationKey
TAuthChallenge

2.106. TPropertyValue

Represents the value of any API property

NameTypeDescription
APIPropertyTAPIProperty

API Property object

PropertyValTPropertyVal

API Property value

PropertyRightTPermission

API Property right

<custom>
<apiproperty>
  <propname>stringval</propname>
</apiproperty>
<propertyval>
  <classname>taccountoutlookpolicies</classname>
</propertyval>
<propertyright>enumval</propertyright>
</custom>

2.107. TPropertyValueList

Represents class TPropertyValueList

List Of TPropertyValue
<custom>
<item>
  <apiproperty>
    <propname>stringval</propname>
  </apiproperty>
  <propertyval>
    <classname>taccountcard</classname>
    <body>stringval</body>
    <anniversary>stringval</anniversary>
    <birthday>stringval</birthday>
    <assistantname>stringval</assistantname>
    <companyname>stringval</companyname>
    <department>stringval</department>
    <fileas>stringval</fileas>
    <firstname>stringval</firstname>
    <jobtitle>stringval</jobtitle>
    <lastname>stringval</lastname>
    <managername>stringval</managername>
    <middlename>stringval</middlename>
    <nickname>stringval</nickname>
    <officelocation>stringval</officelocation>
    <spouse>stringval</spouse>
    <suffix>stringval</suffix>
    <title>stringval</title>
    <webpage>stringval</webpage>
    <certificate>stringval</certificate>
    <freebusyurl>stringval</freebusyurl>
    <profession>stringval</profession>
    <sensitivity>stringval</sensitivity>
    <gender>stringval</gender>
    <businessaddresscity>stringval</businessaddresscity>
    <businessaddresscountry>stringval</businessaddresscountry>
    <businessaddresspostalcode>stringval</businessaddresspostalcode>
    <businessaddressstate>stringval</businessaddressstate>
    <businessaddressstreet>stringval</businessaddressstreet>
    <businessaddresspostofficebox>stringval</businessaddresspostofficebox>
    <homeaddresscity>stringval</homeaddresscity>
    <homeaddresscountry>stringval</homeaddresscountry>
    <homeaddresspostalcode>stringval</homeaddresspostalcode>
    <homeaddressstate>stringval</homeaddressstate>
    <homeaddressstreet>stringval</homeaddressstreet>
    <homeaddresspostofficebox>stringval</homeaddresspostofficebox>
    <email1address>stringval</email1address>
    <email2address>stringval</email2address>
    <email3address>stringval</email3address>
    <imaddress>stringval</imaddress>
    <homepage>stringval</homepage>
    <homepage2>stringval</homepage2>
    <assistnametelephonenumber>stringval</assistnametelephonenumber>
    <businessfaxnumber>stringval</businessfaxnumber>
    <businesstelephonenumber>stringval</businesstelephonenumber>
    <business2telephonenumber>stringval</business2telephonenumber>
    <cartelephonenumber>stringval</cartelephonenumber>
    <companymaintelephonenumber>stringval</companymaintelephonenumber>
    <homefaxnumber>stringval</homefaxnumber>
    <hometelephonenumber>stringval</hometelephonenumber>
    <home2telephonenumber>stringval</home2telephonenumber>
    <mobiletelephonenumber>stringval</mobiletelephonenumber>
    <pagernumber>stringval</pagernumber>
    <radiotelephonenumber>stringval</radiotelephonenumber>
    <callbacktelephonenumber>stringval</callbacktelephonenumber>
    <isdnnumber>stringval</isdnnumber>
    <otherfaxnumber>stringval</otherfaxnumber>
    <primarytelephonenumber>stringval</primarytelephonenumber>
    <telexnumber>stringval</telexnumber>
    <hearingnumber>stringval</hearingnumber>
    <othernumber>stringval</othernumber>
    <categories>
      <classname>tpropertystringlist</classname>
      <val>
        <item>item 1</item>
        <item>item2</item>
      </val>
    </categories>
  </propertyval>
  <propertyright>enumval</propertyright>
</item>
<item>
  <apiproperty>
    <propname>stringval</propname>
  </apiproperty>
  <propertyval>
    <classname>tpropertynovalue</classname>
  </propertyval>
  <propertyright>enumval</propertyright>
</item>
</custom>

2.108. TPropertyValueType

Specifies the value type of API property

Enum 0=ptNumber , 1=ptString , 2=ptEnum , 3=ptBool , 4=ptLongString
<custom>enumval</custom>

2.109. TResponder

Enum 0=rNone , 1=rAll , 2=rOnce , 3=rPeriod
<custom>enumval</custom>

2.110. TRuleAction

Abstract class that represents action defined in rule

Abstract Class - see its descendants:
TRuleSendMessageAction
TRuleForwardToEmailAction
TRuleMoveToFolderAction
TRuleCopyToFolderAction
TRuleEncryptAction
TRulePriorityAction
TRuleSetFlagsAction
TRuleEditHeaderAction
TRuleMessageActionAction
TRuleStopAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

2.111. TRuleActions

List of rule actions

List Of TRuleAction
<custom>
<item>
  <classname>truleforwardtoemailaction</classname>
  <email>stringval</email>
</item>
<item>
  <classname>trulesendmessageaction</classname>
  <messagefrom>stringval</messagefrom>
  <messageto>stringval</messageto>
  <messagesubject>stringval</messagesubject>
  <messagetext>stringval</messagetext>
</item>
</custom>

2.112. TRuleActionType

Represents enumeration TRuleActionType

Enum 0=atNone , 1=atSendMessage , 2=atForward , 3=atCopyMessage , 4=atMoveFolder , 5=atCopyFolder , 6=atEncrypt , 7=atPriority , 8=atRespond , 9=atFlags , 10=atHeader , 11=atScore , 12=atExecute , 13=atHeaderFooter , 14=atStripAll , 15=atExctract , 16=atSmartAttach , 17=atAppend , 18=atSMTPResponse , 19=atFixRFC822 , 20=atTarpitIP , 21=atDB , 22=atSkipArchive , 23=atMoveToArchive , 24=atCopyToArchive , 25=atMessageAction , 26=atDeleteMessage , 27=atStop
<custom>enumval</custom>

2.113. TRuleAllCondition

SQL condition type All messages condition

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>truleallcondition</classname>
</custom>

2.114. TRuleCompareType

Represents enumeration TRuleCompareType

Enum 0=ctLower , 1=ctGreater
<custom>enumval</custom>

2.115. TRuleCondition

Abstract class that represents rule condition

Abstract Class - see its descendants:
TRuleSomeWordsCondition
TRulePriorityCondition
TRuleIsSpamCondition
TRuleIsSizeCondition
TRuleHasAttachmentCondition
TRuleSenderRecipientCondition
TRuleDNSBLCondition
TRuleTrustedSessionCondition
TRuleSpamScoreCondition
TRuleSMTPAuthCondition
TRuleLocalTimeCondition
TRuleAllCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

2.116. TRuleConditions

List of rule conditions

List Of TRuleCondition
<custom>
<item>
  <classname>trulesenderrecipientcondition</classname>
  <recipientsender>enumval</recipientsender>
  <remotelocal>enumval</remotelocal>
  <recipientcondition>enumval</recipientcondition>
  <account>stringval</account>
</item>
<item>
  <classname>trulespamscorecondition</classname>
  <comparetype>enumval</comparetype>
  <spamscore>stringval</spamscore>
</item>
</custom>

2.117. TRuleConditionType

Conditions

Enum 0=ctNone , 1=ctFrom , 2=ctTo , 3=ctSubject , 4=ctCC , 5=ctReplyTo , 6=ctBcc , 7=ctDate , 8=ctPriority , 9=ctSpam , 10=ctSize , 11=ctBody , 12=ctCustomHeader , 13=ctAnyHeader , 14=ctAttachName , 15=ctStripAttach , 16=ctRenameAttach , 17=ctHasAttach , 18=ctCharset , 19=ctSender , 20=ctRecipient , 21=ctSenderRecipient , 22=ctRemoteHost , 23=ctRFC822 , 24=ctExecution , 25=ctRemoteIP , 26=ctRDNS , 27=ctDNSBL , 28=ctTrustedSession , 29=ctSpamScore , 30=ctBayesSize , 31=ctSMTPAuth , 32=ctAntivirus , 33=ctTime , 34=ctSQL , 35=ctAll , 36=ctAge , 37=ctFolder , 38=ctOwner
<custom>enumval</custom>

2.118. TRuleCopyToFolderAction

Action that copies the message into specified folder

NameTypeDescription
FolderAnsiString

Target folder

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>trulecopytofolderaction</classname>
<folder>stringval</folder>
</custom>

2.119. TRuleDNSBLCondition

RFC822 condition type Application condition type DNSBL server condition type

NameTypeDescription
ServerAnsiString

Server value

RegexAnsiString

Regex value

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>trulednsblcondition</classname>
<server>stringval</server>
<regex>stringval</regex>
</custom>

2.120. TRuleEditHeaderAction

Action that modifies message headers

NameTypeDescription
HeadersTRuleEditHeaderList

List of header modifications

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>truleeditheaderaction</classname>
<headers>
  <item>
    <editheadertype>enumval</editheadertype>
    <header>stringval</header>
    <hasregex>enumval</hasregex>
    <regex>stringval</regex>
    <value>stringval</value>
  </item>
  <item>
    <editheadertype>enumval</editheadertype>
    <header>stringval</header>
    <hasregex>enumval</hasregex>
    <regex>stringval</regex>
    <value>stringval</value>
  </item>
</headers>
</custom>

2.121. TRuleEditHeaderItem

Item that represents header modification

NameTypeDescription
EditHeaderTypeTRuleEditHeaderType

Type of action

HeaderAnsiString

Header name

HasRegexBoolean

If uses regex

RegexAnsiString

Regex value

ValueAnsiString

Header value

<custom>
<editheadertype>enumval</editheadertype>
<header>stringval</header>
<hasregex>enumval</hasregex>
<regex>stringval</regex>
<value>stringval</value>
</custom>

2.122. TRuleEditHeaderList

List of header modifications

List Of TRuleEditHeaderItem
<custom>
<item>
  <editheadertype>enumval</editheadertype>
  <header>stringval</header>
  <hasregex>enumval</hasregex>
  <regex>stringval</regex>
  <value>stringval</value>
</item>
<item>
  <editheadertype>enumval</editheadertype>
  <header>stringval</header>
  <hasregex>enumval</hasregex>
  <regex>stringval</regex>
  <value>stringval</value>
</item>
</custom>

2.123. TRuleEditHeaderType

Represents enumeration TRuleEditHeaderType

Enum 0=htAddEdit , 1=htDelete
<custom>enumval</custom>

2.124. TRuleEncryptAction

Action that encrypts the message

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>truleencryptaction</classname>
</custom>

2.125. TRuleForwardToEmailAction

Action that forwards an email

NameTypeDescription
EmailAnsiString

Email the message will be forwarded to

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>truleforwardtoemailaction</classname>
<email>stringval</email>
</custom>

2.126. TRuleHasAttachmentCondition

Has attachment condition type

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>trulehasattachmentcondition</classname>
</custom>

2.127. TRuleInfo

Brief information about some rule in IceWarp server

NameTypeDescription
RuleIDAnsiString

Identification number of the rule

TitleAnsiString

Rule title

ActiveBoolean

Specifies if the rule is active or not

ActionTypeTRuleMessageActionType

If there is some message action in rule, return such action ( used for icon )

ConditionTRuleCondition

Return the first condition , so the client is able to generate title , when it is empty

<custom>
<ruleid>stringval</ruleid>
<title>stringval</title>
<active>enumval</active>
<actiontype>enumval</actiontype>
<condition>
  <classname>truleallcondition</classname>
</condition>
</custom>

2.128. TRuleIsSizeCondition

Is Size condition type

NameTypeDescription
CompareTypeTRuleCompareType

Type of comparation

SizeNativeInt

Size in bytes

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>truleissizecondition</classname>
<comparetype>enumval</comparetype>
<size>intval</size>
</custom>

2.129. TRuleIsSpamCondition

Is spam condition type

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>truleisspamcondition</classname>
</custom>

2.130. TRuleLocalTimeCondition

Local time condition type

NameTypeDescription
WeekdaysBoolean

Match days in the week

MondayBoolean
TuesdayBoolean
WednesdayBoolean
ThursdayBoolean
FridayBoolean
SaturdayBoolean
SundayBoolean
BetweenTimesBoolean

Match only if between times

FromTimeAnsiString

From time

ToTimeAnsiString

To time

BetweenDatesBoolean

Match only if between dates

FromDateAnsiString

From date

ToDateAnsiString

To date

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>trulelocaltimecondition</classname>
<weekdays>enumval</weekdays>
<monday>enumval</monday>
<tuesday>enumval</tuesday>
<wednesday>enumval</wednesday>
<thursday>enumval</thursday>
<friday>enumval</friday>
<saturday>enumval</saturday>
<sunday>enumval</sunday>
<betweentimes>enumval</betweentimes>
<fromtime>stringval</fromtime>
<totime>stringval</totime>
<betweendates>enumval</betweendates>
<fromdate>stringval</fromdate>
<todate>stringval</todate>
</custom>

2.131. TRuleMessageActionAction

Simple action with the message (accept,delete,reject,spam,quarantine)

NameTypeDescription
MessageActionTypeTRuleMessageActionType

Type of the message action

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>trulemessageactionaction</classname>
<messageactiontype>enumval</messageactiontype>
</custom>

2.132. TRuleMessageActionType

Represents enumeration TRuleMessageActionType

Enum 0=atAccept , 1=atDelete , 2=atReject , 3=atSpam , 4=atQuarantine
<custom>enumval</custom>

2.133. TRuleMoveToFolderAction

Action that moves the message into specified folder

NameTypeDescription
FolderAnsiString

Target folder

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>trulemovetofolderaction</classname>
<folder>stringval</folder>
</custom>

2.134. TRuleMoveType

Represents enumeration TRuleMoveType

Enum 0=mtUp , 1=mtDown
<custom>enumval</custom>

2.135. TRuleMultipleItemsMatchType

Represents enumeration TRuleMultipleItemsMatchType

Enum 0=mtConvertToSignle , 1=mtAllItemsMatch , 2=mtAtLeastOneMatch
<custom>enumval</custom>

2.136. TRulePriorityAction

Action that sets message priority

NameTypeDescription
PriorityTRulePriorityType

Priority value

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>trulepriorityaction</classname>
<priority>enumval</priority>
</custom>

2.137. TRulePriorityCondition

Priority condition type

NameTypeDescription
PriorityTRulePriorityType

Represents class property TRulePriorityCondition.Priority

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>truleprioritycondition</classname>
<priority>enumval</priority>
</custom>

2.138. TRulePriorityType

Represents enumeration TRulePriorityType

Enum 0=ptNone , 1=ptHighest , 2=ptHigh , 3=ptNormal , 4=ptLow , 5=ptLowest
<custom>enumval</custom>

2.139. TRuleRecipientConditionType

Represents enumeration TRuleRecipientConditionType

Enum 0=rcIgnore , 1=rcAccountExists , 2=rcAccountDoesNotExist
<custom>enumval</custom>

2.140. TRuleRecipientSenderType

Represents enumeration TRuleRecipientSenderType

Enum 0=rsSender , 1=rsRecipient
<custom>enumval</custom>

2.141. TRuleRemoteLocalType

Represents enumeration TRuleRemoteLocalType

Enum 0=rlRemote , 1=rlLocal
<custom>enumval</custom>

2.142. TRuleSenderRecipientCondition

Sender-recipient is remote-local condition type

NameTypeDescription
RecipientSenderTRuleRecipientSenderType

Sender - recipient

RemoteLocalTRuleRemoteLocalType

Remote - local

RecipientConditionTRuleRecipientConditionType

Recipient condition

AccountAnsiString

Account condition value

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>trulesenderrecipientcondition</classname>
<recipientsender>enumval</recipientsender>
<remotelocal>enumval</remotelocal>
<recipientcondition>enumval</recipientcondition>
<account>stringval</account>
</custom>

2.143. TRuleSendMessageAction

Rule action that sends a message

NameTypeDescription
MessageFromAnsiString

Message From

MessageToAnsiString

Message To

MessageSubjectAnsiString

Message Subject

MessageTextAnsiString

Message Text body

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>trulesendmessageaction</classname>
<messagefrom>stringval</messagefrom>
<messageto>stringval</messageto>
<messagesubject>stringval</messagesubject>
<messagetext>stringval</messagetext>
</custom>

2.144. TRuleSetFlagsAction

Action that sets message flags

NameTypeDescription
FlaggedBoolean
SeenBoolean
JunkBoolean
NotJunkBoolean
Label1Boolean
Label2Boolean
Label3Boolean
Label4Boolean
Label5Boolean
Label6Boolean
Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>trulesetflagsaction</classname>
<flagged>enumval</flagged>
<seen>enumval</seen>
<junk>enumval</junk>
<notjunk>enumval</notjunk>
<label1>enumval</label1>
<label2>enumval</label2>
<label3>enumval</label3>
<label4>enumval</label4>
<label5>enumval</label5>
<label6>enumval</label6>
</custom>

2.145. TRuleSettings

Represents the settings of the rule

NameTypeDescription
ConditionsTRuleConditions

List of conditions

ActionsTRuleActions

List of actions

TitleAnsiString

Rule title

ActiveBoolean

Active state of the rule

RuleIDNativeInt

Rule ID

<custom>
<conditions>
  <item>
    <classname>trulesomewordscondition</classname>
    <matchfunction>enumval</matchfunction>
    <matchvalue>stringval</matchvalue>
    <matchcase>enumval</matchcase>
    <matchwholewordsonly>enumval</matchwholewordsonly>
    <notmatch>enumval</notmatch>
    <multipleitemsmatch>enumval</multipleitemsmatch>
    <parsexml>enumval</parsexml>
  </item>
  <item>
    <classname>trulednsblcondition</classname>
    <server>stringval</server>
    <regex>stringval</regex>
  </item>
</conditions>
<actions>
  <item>
    <classname>trulepriorityaction</classname>
    <priority>enumval</priority>
  </item>
  <item>
    <classname>trulesendmessageaction</classname>
    <messagefrom>stringval</messagefrom>
    <messageto>stringval</messageto>
    <messagesubject>stringval</messagesubject>
    <messagetext>stringval</messagetext>
  </item>
</actions>
<title>stringval</title>
<active>enumval</active>
<ruleid>intval</ruleid>
</custom>

2.146. TRulesInfoList

Represents the list of rules

List Of TRuleInfo
NameTypeDescription
OffsetNativeInt

Current offset in the list

OverallCountNativeInt

Overall count of rules in the list

<custom>
<item>
  <ruleid>stringval</ruleid>
  <title>stringval</title>
  <active>enumval</active>
  <actiontype>enumval</actiontype>
  <condition>
    <classname>truleissizecondition</classname>
    <comparetype>enumval</comparetype>
    <size>intval</size>
  </condition>
</item>
<item>
  <ruleid>stringval</ruleid>
  <title>stringval</title>
  <active>enumval</active>
  <actiontype>enumval</actiontype>
  <condition>
    <classname>truleisspamcondition</classname>
  </condition>
</item>
</custom>

2.147. TRulesListFilter

Used to filter the list of rules in IceWarp server

NameTypeDescription
NameMaskAnsiString

Used agains rule name

<custom>
<namemask>stringval</namemask>
</custom>

2.148. TRuleSMTPAuthCondition

Bayes score condition type Antivirus condition type SMTP Auth condition type

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>trulesmtpauthcondition</classname>
</custom>

2.149. TRuleSomeWordsCondition

Rule condition to match specific words in the message. Used in following conditions : From,To,Subject,Date,CC,BCC,ReplyTo,Body,CustomHedaer,AnyHeader,AttachmentName charset,sender,recipient, hostname,senderIP,rDNS,

NameTypeDescription
MatchFunctionTRuleSomeWordsFunctionType

Type of matching function

MatchValueAnsiString

Match value

MatchCaseBoolean

Case sensitivity

MatchWholeWordsOnlyBoolean

Whole words only

NotMatchBoolean

Negator

MultipleItemsMatchTRuleMultipleItemsMatchType

Match multiple items type - Only in Content-Filters

ParseXMLBoolean

Parse XML - Only in body matches condition type

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>trulesomewordscondition</classname>
<matchfunction>enumval</matchfunction>
<matchvalue>stringval</matchvalue>
<matchcase>enumval</matchcase>
<matchwholewordsonly>enumval</matchwholewordsonly>
<notmatch>enumval</notmatch>
<multipleitemsmatch>enumval</multipleitemsmatch>
<parsexml>enumval</parsexml>
</custom>

2.150. TRuleSomeWordsFunctionType

Represents enumeration TRuleSomeWordsFunctionType

Enum 0=swNone , 1=swContains , 2=swContainsList , 3=swRegex , 4=swStartsWith , 5=swEndsWith , 6=swEquals , 7=swPattern
<custom>enumval</custom>

2.151. TRuleSpamScoreCondition

Spam score condition type

NameTypeDescription
CompareTypeTRuleCompareType

Comparation type

SpamScoreAnsiString

Spam score value

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>trulespamscorecondition</classname>
<comparetype>enumval</comparetype>
<spamscore>stringval</spamscore>
</custom>

2.152. TRuleStopAction

Action that stops processing more rules in the list

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

<custom>
<classname>trulestopaction</classname>
</custom>

2.153. TRuleTrustedSessionCondition

Session is trusted condition type

Properties inherited from : TRuleCondition
NameTypeDescription
ConditionTypeTRuleConditionType

Type of the condition

OperatorAndBoolean

Logical operator with previous condition ( OR if false )

LogicalNotBoolean

Negates the condition

BracketsLeftNativeInt

Brackets on the left side of this condition

BracketsRightNativeInt

Brackets on the right side of this condition

<custom>
<classname>truletrustedsessioncondition</classname>
</custom>

2.154. TSCItm

Traffic chart data value

NameTypeDescription
VReal

Value

DAnsiString

Date

<custom>
<v>realval</v>
<d>stringval</d>
</custom>

2.155. TSCItmList

List of services traffic data

List Of TSCItm
<custom>
<item>
  <v>realval</v>
  <d>stringval</d>
</item>
<item>
  <v>realval</v>
  <d>stringval</d>
</item>
</custom>

2.156. TServerCertificate

Represents the server certificate

NameTypeDescription
IDAnsiString

Certificate ID ( md5 hash created from filename )

BitsNativeInt

Key size in bits

CNAnsiString

Common name

ExpirationAnsiString

Expiration

FingerPrintAnsiString

Fingerprint

IPAddressTAnsiStringList

IP Address

HostnameTAnsiStringList

Hostname

IssuerAnsiString

Issuer

SubjectAnsiString

Subject

IsDefaultBoolean

Default certificate

IsCSRBoolean

Certificate sign request

CertTypeTCertInfoType

Cert type

AutomaticEngineTCertGenerationEngine

Cert renewal engine

VerifyBoolean

Verify

StatusTCertStatus

Status

SubjectInfoTNameInfo

Subject Info

IssuerInfoTNameInfo

Issuer info

ErrorTServerCertificateError

Error

<custom>
<id>stringval</id>
<bits>intval</bits>
<cn>stringval</cn>
<expiration>stringval</expiration>
<fingerprint>stringval</fingerprint>
<ipaddress>
  <item>item 1</item>
  <item>item2</item>
</ipaddress>
<hostname>
  <item>item 1</item>
  <item>item2</item>
</hostname>
<issuer>stringval</issuer>
<subject>stringval</subject>
<isdefault>enumval</isdefault>
<iscsr>enumval</iscsr>
<certtype>enumval</certtype>
<automaticengine>enumval</automaticengine>
<verify>enumval</verify>
<status>enumval</status>
<subjectinfo>
  <o>stringval</o>
  <ou>stringval</ou>
  <c>stringval</c>
  <cn>stringval</cn>
  <subjectaltname>stringval</subjectaltname>
  <locality>stringval</locality>
  <state>stringval</state>
  <email>stringval</email>
</subjectinfo>
<issuerinfo>
  <o>stringval</o>
  <ou>stringval</ou>
  <c>stringval</c>
  <cn>stringval</cn>
  <subjectaltname>stringval</subjectaltname>
  <locality>stringval</locality>
  <state>stringval</state>
  <email>stringval</email>
</issuerinfo>
<error>
  <lastattempt>intval</lastattempt>
  <lasterror>intval</lasterror>
  <faileddomains>
    <item>
      <domainname>stringval</domainname>
      <resultcode>intval</resultcode>
    </item>
    <item>
      <domainname>stringval</domainname>
      <resultcode>intval</resultcode>
    </item>
  </faileddomains>
</error>
</custom>

2.157. TServerCertificateError

Class representing the certificate errors

NameTypeDescription
LastAttemptNativeInt

Last validation attempt

LastErrorNativeInt

Last error

FailedDomainsTServerCertificateFailedDomains

List of failed domain requests

<custom>
<lastattempt>intval</lastattempt>
<lasterror>intval</lasterror>
<faileddomains>
  <item>
    <domainname>stringval</domainname>
    <resultcode>intval</resultcode>
  </item>
  <item>
    <domainname>stringval</domainname>
    <resultcode>intval</resultcode>
  </item>
</faileddomains>
</custom>

2.158. TServerCertificateFailedDomain

Information about certificate failed domain request

NameTypeDescription
DomainNameAnsiString

Domain name

ResultCodeNativeInt

Result code

<custom>
<domainname>stringval</domainname>
<resultcode>intval</resultcode>
</custom>

2.159. TServerCertificateFailedDomains

List of certificate failed domain requests

List Of TServerCertificateFailedDomain
<custom>
<item>
  <domainname>stringval</domainname>
  <resultcode>intval</resultcode>
</item>
<item>
  <domainname>stringval</domainname>
  <resultcode>intval</resultcode>
</item>
</custom>

2.160. TServerCertificateList

List of TServerCertificate

List Of TServerCertificate
<custom>
<item>
  <id>stringval</id>
  <bits>intval</bits>
  <cn>stringval</cn>
  <expiration>stringval</expiration>
  <fingerprint>stringval</fingerprint>
  <ipaddress>
    <item>item 1</item>
    <item>item2</item>
  </ipaddress>
  <hostname>
    <item>item 1</item>
    <item>item2</item>
  </hostname>
  <issuer>stringval</issuer>
  <subject>stringval</subject>
  <isdefault>enumval</isdefault>
  <iscsr>enumval</iscsr>
  <certtype>enumval</certtype>
  <automaticengine>enumval</automaticengine>
  <verify>enumval</verify>
  <status>enumval</status>
  <subjectinfo>
    <o>stringval</o>
    <ou>stringval</ou>
    <c>stringval</c>
    <cn>stringval</cn>
    <subjectaltname>stringval</subjectaltname>
    <locality>stringval</locality>
    <state>stringval</state>
    <email>stringval</email>
  </subjectinfo>
  <issuerinfo>
    <o>stringval</o>
    <ou>stringval</ou>
    <c>stringval</c>
    <cn>stringval</cn>
    <subjectaltname>stringval</subjectaltname>
    <locality>stringval</locality>
    <state>stringval</state>
    <email>stringval</email>
  </issuerinfo>
  <error>
    <lastattempt>intval</lastattempt>
    <lasterror>intval</lasterror>
    <faileddomains>
      <item>
        <domainname>stringval</domainname>
        <resultcode>intval</resultcode>
      </item>
      <item>
        <domainname>stringval</domainname>
        <resultcode>intval</resultcode>
      </item>
    </faileddomains>
  </error>
</item>
<item>
  <id>stringval</id>
  <bits>intval</bits>
  <cn>stringval</cn>
  <expiration>stringval</expiration>
  <fingerprint>stringval</fingerprint>
  <ipaddress>
    <item>item 1</item>
    <item>item2</item>
  </ipaddress>
  <hostname>
    <item>item 1</item>
    <item>item2</item>
  </hostname>
  <issuer>stringval</issuer>
  <subject>stringval</subject>
  <isdefault>enumval</isdefault>
  <iscsr>enumval</iscsr>
  <certtype>enumval</certtype>
  <automaticengine>enumval</automaticengine>
  <verify>enumval</verify>
  <status>enumval</status>
  <subjectinfo>
    <o>stringval</o>
    <ou>stringval</ou>
    <c>stringval</c>
    <cn>stringval</cn>
    <subjectaltname>stringval</subjectaltname>
    <locality>stringval</locality>
    <state>stringval</state>
    <email>stringval</email>
  </subjectinfo>
  <issuerinfo>
    <o>stringval</o>
    <ou>stringval</ou>
    <c>stringval</c>
    <cn>stringval</cn>
    <subjectaltname>stringval</subjectaltname>
    <locality>stringval</locality>
    <state>stringval</state>
    <email>stringval</email>
  </issuerinfo>
  <error>
    <lastattempt>intval</lastattempt>
    <lasterror>intval</lasterror>
    <faileddomains>
      <item>
        <domainname>stringval</domainname>
        <resultcode>intval</resultcode>
      </item>
      <item>
        <domainname>stringval</domainname>
        <resultcode>intval</resultcode>
      </item>
    </faileddomains>
  </error>
</item>
</custom>

2.161. TServerCertificateRequest

NameTypeDescription
BitsNativeInt
ValidForDaysNativeInt
CountryAnsiString
StateAnsiString
CityAnsiString
OrganizationAnsiString
OrganizationUnitAnsiString
EmailAnsiString
FCommonNamesTAnsiStringList
CreateCSRBoolean
DoLetsEncryptBoolean
<custom>
<bits>intval</bits>
<validfordays>intval</validfordays>
<country>stringval</country>
<state>stringval</state>
<city>stringval</city>
<organization>stringval</organization>
<organizationunit>stringval</organizationunit>
<email>stringval</email>
<fcommonnames>
  <item>item 1</item>
  <item>item2</item>
</fcommonnames>
<createcsr>enumval</createcsr>
<doletsencrypt>enumval</doletsencrypt>
</custom>

2.162. TServerPropertyList

Used to specify properties of IceWarp server ( by property name )

List Of TAPIProperty
<custom>
<item>
  <propname>stringval</propname>
</item>
<item>
  <propname>stringval</propname>
</item>
</custom>

2.163. TServiceBasicStatistics

Represents class TServiceBasicStatistics

Properties inherited from : TServiceStatistics
NameTypeDescription
UptimeNativeInt

Running time

ConnTotalNativeInt

Total connections

ServerConnNativeInt

Server connections

ServerConnPeakNativeInt

Server connections peak

ServerDataTotalNativeInt

Server data total

ServerDataInNativeInt

Server data in

ServerDataOutNativeInt

Server data out

ClientConnNativeInt

Client connections

ClientConnPeakNativeInt

Client connections peak

ClientDataTotalNativeInt

Client data total

ClientDataInNativeInt

Client data in

ClientDataOutNativeInt

Client data out

MemorySizeNativeInt

Memory size

MemoryPeakNativeInt

Memory peak

<custom>
<classname>tservicebasicstatistics</classname>
</custom>

2.164. TServiceChart

Contains services chart data

NameTypeDescription
ListTSCItmList

List of services traffic data

<custom>
<list>
  <item>
    <v>realval</v>
    <d>stringval</d>
  </item>
  <item>
    <v>realval</v>
    <d>stringval</d>
  </item>
</list>
</custom>

2.165. TServiceChartPeriod

Represents enumeration TServiceChartPeriod

Enum 0=ctRealtime , 1=ctHour , 2=ctDay , 3=ctWeek , 4=ctMonth , 5=ctInterval
<custom>enumval</custom>

2.166. TServiceChartType

Represents enumeration TServiceChartType

Enum 0=ctServerData , 1=ctClientData , 2=ctConnections , 3=ctReceived , 4=ctSent
<custom>enumval</custom>

2.167. TServiceInfo

Brief information about IceWarp service

NameTypeDescription
ServiceTypeTServiceType

Service type

UptimeNativeInt

Running time

ConnectionsNativeInt

Connection count

MaxConnectionsNativeInt

Max connections

DataNativeInt

Data ( memory )

IsRunningBoolean

Specifies if the service is running or not

<custom>
<servicetype>enumval</servicetype>
<uptime>intval</uptime>
<connections>intval</connections>
<maxconnections>intval</maxconnections>
<data>intval</data>
<isrunning>enumval</isrunning>
</custom>

2.168. TServiceListFilter

Used to filter the list of services in IceWarp server

NameTypeDescription
MaskAnsiString

Not yet supported - returns all services by now

<custom>
<mask>stringval</mask>
</custom>

2.169. TServicesInfoList

Represents the list of IceWarp services

List Of TServiceInfo
NameTypeDescription
OffsetNativeInt

Current offset in the list

OverallCountNativeInt

Overall count of IceWarp services in the list

<custom>
<item>
  <servicetype>enumval</servicetype>
  <uptime>intval</uptime>
  <connections>intval</connections>
  <maxconnections>intval</maxconnections>
  <data>intval</data>
  <isrunning>enumval</isrunning>
</item>
<item>
  <servicetype>enumval</servicetype>
  <uptime>intval</uptime>
  <connections>intval</connections>
  <maxconnections>intval</maxconnections>
  <data>intval</data>
  <isrunning>enumval</isrunning>
</item>
</custom>

2.170. TServiceSMTPStatistics

Statistic object for SMTP service

NameTypeDescription
MsgReceivedNativeInt

Messages received

MsgSentNativeInt

Messages sent

MsgFailedNativeInt

Failed messages

MsgVirusNativeInt

Messages containing virus

MsgContentFilterNativeInt

Messages processed with content filter

MsgRulesNativeInt

Messages processed with rule

MsgExternalNativeInt

External filder messages

MsgIntrusionPreventionNativeInt

Intrusion prevention messages

MsgDNSNativeInt

DNS Messages

QuarantineNativeInt

Quarantine processed messages

SpamAssasinNativeInt

SpamAssasin processed messags

SpamMarkedNativeInt

Messages marked as spam

SpamLiveBulkNativeInt

AntiSpam Live messages ( bulk )

SpamLiveNativeInt

AntiSpam Live messages

RefusedNativeInt

Refused messages

GreylistingNativeInt

Greylisted messages

Properties inherited from : TServiceStatistics
NameTypeDescription
UptimeNativeInt

Running time

ConnTotalNativeInt

Total connections

ServerConnNativeInt

Server connections

ServerConnPeakNativeInt

Server connections peak

ServerDataTotalNativeInt

Server data total

ServerDataInNativeInt

Server data in

ServerDataOutNativeInt

Server data out

ClientConnNativeInt

Client connections

ClientConnPeakNativeInt

Client connections peak

ClientDataTotalNativeInt

Client data total

ClientDataInNativeInt

Client data in

ClientDataOutNativeInt

Client data out

MemorySizeNativeInt

Memory size

MemoryPeakNativeInt

Memory peak

<custom>
<classname>tservicesmtpstatistics</classname>
<msgreceived>intval</msgreceived>
<msgsent>intval</msgsent>
<msgfailed>intval</msgfailed>
<msgvirus>intval</msgvirus>
<msgcontentfilter>intval</msgcontentfilter>
<msgrules>intval</msgrules>
<msgexternal>intval</msgexternal>
<msgintrusionprevention>intval</msgintrusionprevention>
<msgdns>intval</msgdns>
<quarantine>intval</quarantine>
<spamassasin>intval</spamassasin>
<spammarked>intval</spammarked>
<spamlivebulk>intval</spamlivebulk>
<spamlive>intval</spamlive>
<refused>intval</refused>
<greylisting>intval</greylisting>
</custom>

2.171. TServiceStatistics

Abstract class for service statistics

Abstract Class - see its descendants:
TServiceBasicStatistics
TServiceVOIPStatistics
TServiceSMTPStatistics
NameTypeDescription
UptimeNativeInt

Running time

ConnTotalNativeInt

Total connections

ServerConnNativeInt

Server connections

ServerConnPeakNativeInt

Server connections peak

ServerDataTotalNativeInt

Server data total

ServerDataInNativeInt

Server data in

ServerDataOutNativeInt

Server data out

ClientConnNativeInt

Client connections

ClientConnPeakNativeInt

Client connections peak

ClientDataTotalNativeInt

Client data total

ClientDataInNativeInt

Client data in

ClientDataOutNativeInt

Client data out

MemorySizeNativeInt

Memory size

MemoryPeakNativeInt

Memory peak

2.172. TServiceType

Enum 0=stSMTP , 1=stPOP3 , 2=stControl , 3=stIM , 4=stCalendar , 5=stDummy , 6=stSocks , 7=stLDAP , 8=stIMAP , 9=stAntivirus , 10=stFTP , 11=stAntiSpam , 12=stSIP , 13=stSyncML , 14=stWebClient , 15=stCalDAV , 16=stSMS , 17=stSyncPush , 18=stCommtouch , 19=stTunnels , 20=stSIPCall , 21=stActiveSync , 22=stAntiSpamReports , 23=stPurple , 24=stMinger , 25=stAll , 26=stNone , 27=stSNMP , 28=stProxy , 29=stVoicemail , 30=stIceWarpD , 31=stMeeting , 32=stKasperskyUpdater , 33=stTeamChat , 34=stWebDocuments , 35=stHTTP , 36=stAutoDiscover
<custom>enumval</custom>

2.173. TServiceVOIPStatistics

Statistics object for VOIP service

NameTypeDescription
PacketsReceivedNativeInt

Packets received

PacketsSentNativeInt

Packets sent

RTPPacketsReceivedNativeInt

RTP packets received

RTPPacketsSentNativeInt

RTP packets sent

CallCountNativeInt

Calls count

CallPeakNativeInt

Calls peak

CallTotalNativeInt

Calls total

Properties inherited from : TServiceStatistics
NameTypeDescription
UptimeNativeInt

Running time

ConnTotalNativeInt

Total connections

ServerConnNativeInt

Server connections

ServerConnPeakNativeInt

Server connections peak

ServerDataTotalNativeInt

Server data total

ServerDataInNativeInt

Server data in

ServerDataOutNativeInt

Server data out

ClientConnNativeInt

Client connections

ClientConnPeakNativeInt

Client connections peak

ClientDataTotalNativeInt

Client data total

ClientDataInNativeInt

Client data in

ClientDataOutNativeInt

Client data out

MemorySizeNativeInt

Memory size

MemoryPeakNativeInt

Memory peak

<custom>
<classname>tservicevoipstatistics</classname>
<packetsreceived>intval</packetsreceived>
<packetssent>intval</packetssent>
<rtppacketsreceived>intval</rtppacketsreceived>
<rtppacketssent>intval</rtppacketssent>
<callcount>intval</callcount>
<callpeak>intval</callpeak>
<calltotal>intval</calltotal>
</custom>

2.174. TSettingsResourceFilter

Resource filter

NameTypeDescription
NameAnsiString

Match against resource name

ItemsTPropertyStringList

If not nil, get only variables with specified name

<custom>
<name>stringval</name>
<items>
  <classname>tpropertystringlist</classname>
  <val>
    <item>item 1</item>
    <item>item2</item>
  </val>
</items>
</custom>

2.175. TSettingsResourcesFilter

Resources filter ~ List of TSettingsResourceFilter

List Of TSettingsResourceFilter
<custom>
<item>
  <name>stringval</name>
  <items>
    <classname>tpropertystringlist</classname>
    <val>
      <item>item 1</item>
      <item>item2</item>
    </val>
  </items>
</item>
<item>
  <name>stringval</name>
  <items>
    <classname>tpropertystringlist</classname>
    <val>
      <item>item 1</item>
      <item>item2</item>
    </val>
  </items>
</item>
</custom>

2.176. TSignupVerificationRequest

Represents class TSignupVerificationRequest

NameTypeDescription
IDAnsiString

Represents class property TSignupVerificationRequest.ID

CodeAnsiString

Represents class property TSignupVerificationRequest.Code

<custom>
<id>stringval</id>
<code>stringval</code>
</custom>

2.177. TSignupVerificationType

Enum 0=svtEmail , 1=svtSMS
<custom>enumval</custom>

2.178. TSpamQueueInfoList

Represents the list of spam queue itesm

List Of TSpamQueueItemInfo
NameTypeDescription
OffsetNativeInt

Current offset in the list

OverallCountNativeInt

Overall count of IceWarp services in the list

<custom>
<item>
  <itemid>stringval</itemid>
  <sender>stringval</sender>
  <date>stringval</date>
  <owner>stringval</owner>
  <domain>stringval</domain>
  <subject>stringval</subject>
  <queuetype>enumval</queuetype>
  <folder>stringval</folder>
</item>
<item>
  <itemid>stringval</itemid>
  <sender>stringval</sender>
  <date>stringval</date>
  <owner>stringval</owner>
  <domain>stringval</domain>
  <subject>stringval</subject>
  <queuetype>enumval</queuetype>
  <folder>stringval</folder>
</item>
</custom>

2.179. TSpamQueueItemInfo

Informations about item in Spam Queue

NameTypeDescription
ItemIDAnsiString

Spam queue item ID

SenderAnsiString

Sender email

DateAnsiString

Date

OwnerAnsiString

Owner email

DomainAnsiString

Owner domain

SubjectAnsiString

Only in Quarantine

QueueTypeTSpamQueueType

Type of the queue ( see TSpamQueueType )

FolderAnsiString

Folder

<custom>
<itemid>stringval</itemid>
<sender>stringval</sender>
<date>stringval</date>
<owner>stringval</owner>
<domain>stringval</domain>
<subject>stringval</subject>
<queuetype>enumval</queuetype>
<folder>stringval</folder>
</custom>

2.180. TSpamQueueListFilter

Used to filter the results of GetSpamQueueInfoList

NameTypeDescription
MaskAnsiString

Name mask

SenderAnsiString

Item sender

OwnerAnsiString

Item owner ( recipient )

DomainAnsiString

Item domain

<custom>
<mask>stringval</mask>
<sender>stringval</sender>
<owner>stringval</owner>
<domain>stringval</domain>
</custom>

2.181. TSpamQueueType

Type of the spam queue

Enum 0=qtWhitelist , 1=qtBlacklist , 2=qtQuarantine
<custom>enumval</custom>

2.182. TStatisticsPropertyList

Used to specify properties of IceWarp statistics ( by property name )

List Of TAPIProperty
<custom>
<item>
  <propname>stringval</propname>
</item>
<item>
  <propname>stringval</propname>
</item>
</custom>

2.183. TUserState

Enum 0=usNone , 1=usDisabledPickup , 2=usDisabledReceive , 3=usTarpit
<custom>enumval</custom>

2.184. TWebmailSettingsResource

Obsolete , should no longer be used

NameTypeDescription
NameAnsiString

Resource name

Properties inherited from : TAPISettingsItem
NameTypeDescription
UIDAnsiString

Item UID [Optional]

ListTAPISettingsVariableList

List of setting variables

<custom>
<classname>twebmailsettingsresource</classname>
<name>stringval</name>
</custom>

4. Configuration Files

4.1. Domain Admin File - domain.dat



--------------------------------------------------------------------------------
This file contains list of domains the domain administrator is eligible to maintain. It can contain rights for the domain administator as well.
Note that this file is deprecated due to new webadmin, because option list as it was defined in old webadmin can not be used in new webadmin ,so only
domainrights and domainlist are applied. For additional modifications of new webadmin see adminperm.dat

Formal Syntax:
domainfileitems = [domainrights] [optionlist] domainlist
domainrights = "RIGHTS=" domainrightlist CRLF
domainrightlist = "U" / "G" / "M" / "O" / "L" / "E" / "N" / "R" / "S" / "C" / "V" / "Q"
optionlist = *(optionitem CRLF)
optionitem = "OPTION=" optiontitle ":" optionvalue
domainlist = *([skipchar] domain CRLF)
skipchar = "!"


Example:
RIGHTS=UML
These characters stand for separate kinds of accounts or special functions that the domain administrator is allowed to change / create / delete:
U - User accounts
G - Group accounts
M - Mailing list accounts
O - Resource accounts
L - List server accounts
E - Executable accounts
R - Remote accounts
S - Static routes
N - Notification accounts
C - Catalog
V - Disable mailbox view
Q - Manage domain Quarantine


Enter additional domains on separate lines.
Example:
icewarp.com
microsoft.com
!doe.com
*

Following is deprecated in new webadmin ,but is still applied in old webadmin

Option limits let you hide any option on the object page for a specific domain admin You can set global restrictions and enable an option for one domain admin too.
Example:
OPTION=user_notification:0
OPTION=user_responder:0
The above disables user_notification and user_responder to be displayed See the html\admin\xml\ folder for all XML item definitions and their names.

Special option ALL can be used to disable/enable all options.
Example:
OPTION=ALL:0
OPTION=user_password:1
OPTION=user_confirmpassword:1

The above disables all options and then enables only user_password and user_confirmpassword.



4.2. Domain Admin File - adminperm.dat

This file contains serialized permissions object into XML. If administrator wants to modify access rights to some non default value
he has to do it in this file. You can specify set of domains and the exclusive rights for such domain set.

It contains two tags , <domainspermissions> and <globalpermissions>.

<domainspermissions> defines the permissions for domains and accounts.Each item consists of domainsset and domainsadministrativepermissions so
administrators are able to define different rights depending on domainsset.

Domainsset contains list of domains that domain administrators are able to manage. Full admin sees all domains.
Each item consist of domain mask and negate. In mask you can put name or some wildcard with * or ?.
Negate is here to remove domains that you do not want to manange.

Domains set can look like this
Example:



	
		*
		0
	
	
		icewarp*
		1
	



The above means that domain administrator with such settings in his adminperm.dat can work
with all domains except those starting with icewarp.

Domainsadministrativepermissions contains two options : <accountsrelatedpermissions> and <domainrelatedpermissions>
Accountsrelatedpermissions are applied to all accounts that belongs to domains in specified domainsset, domainsrelatedpermissions
are applied for to all domains in specified domainsset.

Example:



	
		1324
		2
	
	
		1337
		1
	


	
		0
		2
	



The above will allow editing of A_AdminType(1324) , Sets the A_Name(1337) to read only for accounts and allow to modify D_Description(0) for domains
You can find numbers corresponding to variable names in {installpath}/api/delphi/apiconst.pas

Specify variable (prop) : Notice that there are hexadecimal numbers which you have to convert to decimal.
For example  A_AdminType = $52C; , hexadecimal number is 52C which means 1324 in decimal.

Specify access rights (perm) :
  0 - no rights
  1 - read only rights
  2 - full rights ( read, write )

<globalpermissions> defines rights for global server properties.
It has the same format as accountsrelatedpermissions and domainrelatedpermissions.

Following example is the complete content listing of adminperm.dat



	
		
			
				*
				0
			
			
				icewarp*
				1
			
		
		
			
				
					1324
					2
				
			
			
				
					0
					2
				
			
		
	


	
		4096
		1
	
	
		4099
		2
	
	
		4098
		2
	


5. Examples

5.1. RSA authentication

5.1.1. Get public modulus & server time

First you have to retrieve server public key modulus and server time.
You can do that by sending:


    
        GetAuthChallenge
        
            1
        
    
Response:

    
        
        TAuthChallenge
        a00e7f6f4da43b4edf3a1d2b9b9c88b77950c88333c5afdd748de4ca3950a2a3d9d8575089d17cdd4b5022c7407d8e7558c2c0c634f530a3fcd618a6501140d9e8b70a49b8295a9128b5a8f63307b80d634466c563139091b3f61d3bc36c61f9fdae6b97874f7a3acb9f61a5d3076479a323c94e7453449075e6b5c30ea6894067925c44c46dbe6ba8317cd13f6035a04b9d29d2085ca3fed22961308821f05b999373da83bc0f8297f64aeb995c69dddcf9b0dc32ab040f462bc9a8e3f2e9d0935443bdfc4107f4fd09469c8593158cc86af9d5a8bd0007774a0bc02cf7ddd3c9d5e209bf5fab9288dfe7d33a229363c0940075ba2ce87ca01918bea22581e5
        1477389537
        
    

5.1.2 Encrypting password on client side

Now client application has to compose and encode password. Password has to be in form:

p={urlencoded password}&t={timestamp}
Notice that password has to be URLENCODED here . Such password will be ciphered using RSA on client side. Public key modulus = {hashid} ( returned in first request - getauthchallenge ). Exponent is 10001. After encrypting using RSA you can send the authenticate request:

5.1.3 Authenticate


    
        authenticate
        
            1
            admin
            4de982c5a0d38bba86168952c716f53f96291d7309c5cd6b691b91cf0af18adc75fa61abc5ab5a363c4454c87e828f32dacd7c906c21245153f9580571c1703044dfbfb8b12470ff346874d159de4f251d3b7ac28ca197ea045e6edcb4cf415298308feca93702af2e2635d3c55cacadd1aebadbb790d5b13a24ef22f043741e8b87541f4f007f5c9f5a5e361a9085758f30bddb665459ee728c988ac4d6e32eb6bc381f902eb4f33b7b923d469a5feaf3ffaada114111da6089cd8a62d5f5065af379f77a7d5201c24fe6f03d494d142c4e46b6e83a225444a7e2eb6f7704f5c2864166f861436451b824e6793d1ffef16d091c12f9dd606fb6470b61979d33
            0
        
    
Response:

    
        1
    

At this point sid attribute is returned and you can use this session id to work with authenticated session

5.2. Domain creation

5.2.1. Create domain object

To create domain object there is a command named "createdomain".
Parameters
  • domainstr - name of the domain ( required )
  • domainproperties - list of api properties to be set upon creating new domain


  createdomain
  
    domain.com
    
     
        
          D_IM_Roster
        
        
          timroster
          
            
              admin@icewarpdemo.com
              Administrator
            
            
              domain@icewarpdemo.com
              Domain
            
          
        
      
      
        
          D_Type
        
        
          tpropertystring
          3
        
      
    
  

Such request will create a new domain named "domain.com", adds two items into its IM roster and sets the domain type to "Backup domain". As you can see there is a list of domain properties. Full list of domain properties can be found in IceWarp/api/delphi/apiconst.pas ( variables with D_ prefix )

5.2.1. Set additional domain properties

If you want to set additional domain properties you can use setdomainproperties method:


  setdomainproperties
  
    domain.com
    
      
        
          D_Type
        
        
          tpropertystring
          0
        
      
      
        
          D_Description
        
        
          tpropertystring
          Domain Description
        
      
    
  


It will set domain type (D_Type) to standard (0) as well as it sets domain description ( D_Description ) to "Domain Description"

5.3. Mailing lists

5.3.1. Create mailing list object

To create mailing list object there is a command named "createaccount".
Parameters
  • domainstr - name of the domain ( required )
  • domainproperties - list of api properties to be set upon creating new domain
Contact us
CAPTCHA Image Reload Image
'

Skontaktuj się z nami