API 가이드

아이스워프는 API를 지원하여 API를 통해 시스템통합과 어플리케이션과의 통신을 가능하게 합니다. 서비스, 도메인, 계정 등의 기능 들을 제어할 수 있습니다.

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 AJAX

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: "PUT",
      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 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
<query>
<result>
  <classname>tauthchallenge</classname>
  <hashid>stringval</hashid>
  <timestamp>intval</timestamp>
</result>
</query>

2.1.2. 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
<query>
<result>intval</result>
</query>

2.1.3. 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
<query>
<result>intval</result>
</query>

2.1.4. 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
<query>
<result>
  <email>stringval</email>
  <domain>stringval</domain>
  <admintype>enumval</admintype>
</result>
</query>

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. 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
<query>
<result>
  <item>
    <apiproperty>
      <propname>stringval</propname>
    </apiproperty>
    <propertyval>
      <classname>taccountquota</classname>
      <mailboxsize>intval</mailboxsize>
      <mailboxquota>intval</mailboxquota>
    </propertyval>
    <propertyright>enumval</propertyright>
  </item>
  <item>
    <apiproperty>
      <propname>stringval</propname>
    </apiproperty>
    <propertyval>
      <classname>taccountstate</classname>
      <state>enumval</state>
    </propertyval>
    <propertyright>enumval</propertyright>
  </item>
</result>
</query>

2.2.2. 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>tpropertystringlist</classname>
          <val>
            <item>item 1</item>
            <item>item2</item>
          </val>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

2.2.3. 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
<query>
<result>
  <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>
    <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>tpropertymembers</classname>
      <val>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
        </item>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
        </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>

2.2.4. 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
<query>
<result>
  <item>
    <name>stringval</name>
    <comment>stringval</comment>
  </item>
  <item>
    <name>stringval</name>
    <comment>stringval</comment>
  </item>
</result>
</query>

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
<query>
<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>

2.3.2. 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
<query>
<result>enumval</result>
</query>

2.3.3. 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>taccountrespondermessage</classname>
          <from>stringval</from>
          <subject>stringval</subject>
          <text>stringval</text>
        </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>
    </domainproperties>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

2.3.4. 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
<query>
<result>
  <item>
    <apiproperty>
      <propname>stringval</propname>
    </apiproperty>
    <propertyright>enumval</propertyright>
  </item>
  <item>
    <apiproperty>
      <propname>stringval</propname>
    </apiproperty>
    <propertyright>enumval</propertyright>
  </item>
</result>
</query>

2.3.5. 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
<query>
<result>
  <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>
</result>
</query>

2.3.6. 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>taccountimage</classname>
          <base64data>stringval</base64data>
          <contenttype>stringval</contenttype>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>tdomainoutlookpolicies</classname>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

2.3.7. 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
<query>
<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>taccountoutlookpolicies</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>
</result>
</query>

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
<query>
<result>
  <item>
    <name>stringval</name>
    <email>stringval</email>
    <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>
    <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>

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>tpropertynovalue</classname>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>tdomainoutlookpolicies</classname>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </accountproperties>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<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>tpropertynovalue</classname>
    </propertyval>
    <propertyright>enumval</propertyright>
  </item>
</result>
</query>

2.4.6. SetAccountProperties

Deletes all accounts that matches current filter in sepcified IceWarp domain

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>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>taccountname</classname>
          <name>stringval</name>
          <surname>stringval</surname>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

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
<query>
<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>

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
<query>
<result>
  <item>
    <account>stringval</account>
    <permissions>stringval</permissions>
  </item>
  <item>
    <account>stringval</account>
    <permissions>stringval</permissions>
  </item>
</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<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>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>stringval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>stringval</result>
</query>

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
<query>
<result>enumval</result>
</query>

2.4.17. 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>
        </item>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
        </item>
      </val>
    </members>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

2.4.18. 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
<query>
<result>enumval</result>
</query>

2.4.19. 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>
        </item>
        <item>
          <classname>tpropertymember</classname>
          <val>stringval</val>
          <default>enumval</default>
          <recieve>enumval</recieve>
          <post>enumval</post>
          <digest>enumval</digest>
        </item>
      </val>
    </members>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

2.4.20. 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
<query>
<result>enumval</result>
</query>

2.4.21. 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
<query>
<result>
  <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>taccountimage</classname>
      <base64data>stringval</base64data>
      <contenttype>stringval</contenttype>
    </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>

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
<query>
<result>
  <item>
    <ruleid>stringval</ruleid>
    <title>stringval</title>
    <active>enumval</active>
    <actiontype>enumval</actiontype>
    <condition>
      <classname>truletrustedsessioncondition</classname>
    </condition>
  </item>
  <item>
    <ruleid>stringval</ruleid>
    <title>stringval</title>
    <active>enumval</active>
    <actiontype>enumval</actiontype>
    <condition>
      <classname>trulehasattachmentcondition</classname>
    </condition>
  </item>
</result>
</query>

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
<query>
<result>
  <conditions>
    <item>
      <classname>truleallcondition</classname>
    </item>
    <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>
  </conditions>
  <actions>
    <item>
      <classname>trulepriorityaction</classname>
      <priority>enumval</priority>
    </item>
    <item>
      <classname>trulemovetofolderaction</classname>
      <folder>stringval</folder>
    </item>
  </actions>
  <title>stringval</title>
  <active>enumval</active>
  <ruleid>intval</ruleid>
</result>
</query>

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>trulehasattachmentcondition</classname>
        </item>
        <item>
          <classname>trulesenderrecipientcondition</classname>
          <recipientsender>enumval</recipientsender>
          <remotelocal>enumval</remotelocal>
          <recipientcondition>enumval</recipientcondition>
          <account>stringval</account>
        </item>
      </conditions>
      <actions>
        <item>
          <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>
        </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>
    </rulesettings>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

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>trulehasattachmentcondition</classname>
        </item>
        <item>
          <classname>trulesmtpauthcondition</classname>
        </item>
      </conditions>
      <actions>
        <item>
          <classname>trulepriorityaction</classname>
          <priority>enumval</priority>
        </item>
        <item>
          <classname>trulepriorityaction</classname>
          <priority>enumval</priority>
        </item>
      </actions>
      <title>stringval</title>
      <active>enumval</active>
      <ruleid>intval</ruleid>
    </rulesettings>
    <ruleid>stringval</ruleid>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<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>

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
<query>
<result>
  <item>
    <apiproperty>
      <propname>stringval</propname>
    </apiproperty>
    <propertyval>
      <classname>taccountoutlookpolicies</classname>
    </propertyval>
    <propertyright>enumval</propertyright>
  </item>
  <item>
    <apiproperty>
      <propname>stringval</propname>
    </apiproperty>
    <propertyval>
      <classname>tdomainoutlookpolicies</classname>
    </propertyval>
    <propertyright>enumval</propertyright>
  </item>
</result>
</query>

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>tpropertystring</classname>
          <val>stringval</val>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
      <item>
        <apiproperty>
          <propname>stringval</propname>
        </apiproperty>
        <propertyval>
          <classname>tauthchallenge</classname>
          <hashid>stringval</hashid>
          <timestamp>intval</timestamp>
        </propertyval>
        <propertyright>enumval</propertyright>
      </item>
    </propertyvaluelist>
  </commandparams>
</query>
</iq>

output
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

2.7. Webclient 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. GetWebmailResource

Gets webclient setting properties

Parameters
  • 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
  • Webclient setting resource ( see TWebmailSettingsResource )
GetWebmailResource ( Resource: AnsiString Level: TWebmailSettingLevel 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
<query>
<result>
  <list>
    <item>
      <domainadminaccesslevel>enumval</domainadminaccesslevel>
      <useraccesslevel>enumval</useraccesslevel>
      <accesslevel>enumval</accesslevel>
      <name>stringval</name>
      <value>stringval</value>
    </item>
    <item>
      <domainadminaccesslevel>enumval</domainadminaccesslevel>
      <useraccesslevel>enumval</useraccesslevel>
      <accesslevel>enumval</accesslevel>
      <name>stringval</name>
      <value>stringval</value>
    </item>
  </list>
  <name>stringval</name>
</result>
</query>

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
<query>
<result>
  <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>taccountoutlookpolicies</classname>
    </propertyval>
    <propertyright>enumval</propertyright>
  </item>
</result>
</query>

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
<query>
<result>
  <item>
    <servicetype>enumval</servicetype>
    <uptime>intval</uptime>
    <connections>intval</connections>
    <data>intval</data>
    <isrunning>enumval</isrunning>
  </item>
  <item>
    <servicetype>enumval</servicetype>
    <uptime>intval</uptime>
    <connections>intval</connections>
    <data>intval</data>
    <isrunning>enumval</isrunning>
  </item>
</result>
</query>

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
<query>
<result>
  <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>
</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>enumval</result>
</query>

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
<query>
<result>
  <list>
    <item>
      <v>realval</v>
      <d>stringval</d>
    </item>
    <item>
      <v>realval</v>
      <d>stringval</d>
    </item>
  </list>
</result>
</query>

3. Classes

3.1. AnsiString

String
<custom>stringval</custom>

3.2. Boolean

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

3.3. NativeInt

Integer
<custom>intval</custom>

3.4. Real

Real
<custom>realval</custom>

3.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>

3.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>

3.7. TAccountInfo

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

NameTypeDescription
NameAnsiString

Account full name

EmailAnsiString

Account email address

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>
<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>

3.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>

3.9. TAccountName

Full name of IceWarp account

NameTypeDescription
NameAnsiString

Account name

SurnameAnsiString

Account surname

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

3.10. 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

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

3.11. 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>

3.12. TAccountPropertySet

List of available property sets for IceWarp account

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

3.13. 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>

3.14. 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>

3.15. 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>

3.16. 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>
  <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>
  <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>

3.17. TAccountState

State of IceWarp account

NameTypeDescription
StateTUserState

State value

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

3.18. 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>

3.19. TActivationKeyType

Type of activation key - outlook, desktop client

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

3.20. TAdministrativePermissions

This encapsulates permisions which can be defined FOR certain entity

NameTypeDescription
DomainsPermissionsTDomainsPermissionsList

permissions defined on domain level

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>

3.21. 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>

3.22. TAdminType

IceWarp account administration level

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

3.23. TAnsiStringList

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

3.24. TAPIProperty

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

NameTypeDescription
PropNameAnsiString

Property name as in apiconst.dat

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

3.25. TAPISessionInfo

Informations about current session: Email,Domain, AdminType

NameTypeDescription
EmailAnsiString

Represents class property TAPISessionInfo.Email

DomainAnsiString

Represents class property TAPISessionInfo.Domain

AdminTypeTAdminType

Represents class property TAPISessionInfo.AdminType

<custom>
<email>stringval</email>
<domain>stringval</domain>
<admintype>enumval</admintype>
</custom>

3.26. 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>

3.27. TAuthType

Type of authorization - currently PLAIN and RSA are supported

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

3.28. 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>

3.29. 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>

3.30. 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>

3.31. 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

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

3.32. 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>

3.33. 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>

3.34. 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>

3.35. 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>

3.36. 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>

3.37. 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>

3.38. 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>

3.39. 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>

3.40. 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>

3.41. 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>

3.42. TFolderPermissionsItem

Folder permission item

NameTypeDescription
AccountAnsiString

IceWarp account email address

PermissionsAnsiString

Permissions for Account

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

3.43. 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>

3.44. TIMRosterItem

Instant messaging roster item

NameTypeDescription
ValAnsiString

Item name

GroupTitleAnsiString

Item group title

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

3.45. 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>

3.46. 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>

3.47. 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>

3.48. TMobileDeviceRemoteWipe

Represents enumeration TMobileDeviceRemoteWipe

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

3.49. TMobileDeviceRemoteWipeSet

Represents enumeration TMobileDeviceRemoteWipeSet

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

3.50. 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>

3.51. TMobileDeviceStatus

Represents enumeration TMobileDeviceStatus

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

3.52. TMobileDeviceStatusSet

Represents enumeration TMobileDeviceStatusSet

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

3.53. 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

3.54. TPermission

used for defining permissions on certain item

Enum 0=pvtNone , 1=pvtRead , 2=pvtReadWrite , 3=pvtForcedNone , 4=pvtForcedRead , 5=pvtForcedReadWrite

<custom>enumval</custom>

3.55. TPropertyEnumValue

Describes value of property enumeration

NameTypeDescription
ValueAnsiString

Enumeration value

NameAnsiString

Enumeration name

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

3.56. 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>

3.57. 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>taccountoutlookpolicies</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>
</custom>

3.58. 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>tpropertymember</classname>
    <val>stringval</val>
    <default>enumval</default>
    <recieve>enumval</recieve>
    <post>enumval</post>
    <digest>enumval</digest>
  </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>

3.59. 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>

3.60. TPropertyMember

Represents the account member( mailing list, group )

NameTypeDescription
ValAnsiString

Name of the member

DefaultBoolean

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

RecieveBoolean

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

PostBoolean

Mailing list - Member can post message to the mailing list.

DigestBoolean

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

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

3.61. 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>
</item>
<item>
  <classname>tpropertymember</classname>
  <val>stringval</val>
  <default>enumval</default>
  <recieve>enumval</recieve>
  <post>enumval</post>
  <digest>enumval</digest>
</item>
</custom>

3.62. 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>
  </item>
  <item>
    <classname>tpropertymember</classname>
    <val>stringval</val>
    <default>enumval</default>
    <recieve>enumval</recieve>
    <post>enumval</post>
    <digest>enumval</digest>
  </item>
</val>
</custom>

3.63. TPropertyNoValue

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

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

3.64. TPropertyPermission

Defines a permissions for API property

NameTypeDescription
PropNativeInt

Property ID

PermTPermission

Property Permission

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

3.65. TPropertyRight

Pair API property - right

NameTypeDescription
APIPropertyTAPIProperty

API Property object

PropertyRightTPermission

Property right

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

3.66. 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>

3.67. TPropertyString

Represents api property of type string

NameTypeDescription
ValAnsiString

String value

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

3.68. 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>

3.69. 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>

3.70. 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>

3.71. TPropertyVal

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

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

3.72. 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>tauthchallenge</classname>
  <hashid>stringval</hashid>
  <timestamp>intval</timestamp>
</propertyval>
<propertyright>enumval</propertyright>
</custom>

3.73. TPropertyValueList

Represents class TPropertyValueList

List Of TPropertyValue
<custom>
<item>
  <apiproperty>
    <propname>stringval</propname>
  </apiproperty>
  <propertyval>
    <classname>tpropertynovalue</classname>
  </propertyval>
  <propertyright>enumval</propertyright>
</item>
<item>
  <apiproperty>
    <propname>stringval</propname>
  </apiproperty>
  <propertyval>
    <classname>tauthchallenge</classname>
    <hashid>stringval</hashid>
    <timestamp>intval</timestamp>
  </propertyval>
  <propertyright>enumval</propertyright>
</item>
</custom>

3.74. TPropertyValueType

Specifies the value type of API property

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

3.75. TResponder

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

3.76. 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

3.77. TRuleActions

List of rule actions

List Of TRuleAction
<custom>
<item>
  <classname>truleforwardtoemailaction</classname>
  <email>stringval</email>
</item>
<item>
  <classname>trulemessageactionaction</classname>
  <messageactiontype>enumval</messageactiontype>
</item>
</custom>

3.78. 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>

3.79. 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>

3.80. TRuleCompareType

Represents enumeration TRuleCompareType

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

3.81. 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

3.82. TRuleConditions

List of rule conditions

List Of TRuleCondition
<custom>
<item>
  <classname>truletrustedsessioncondition</classname>
</item>
<item>
  <classname>trulednsblcondition</classname>
  <server>stringval</server>
  <regex>stringval</regex>
</item>
</custom>

3.83. 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>

3.84. 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>

3.85. 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>

3.86. 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>

3.87. 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>

3.88. 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>

3.89. TRuleEditHeaderType

Represents enumeration TRuleEditHeaderType

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

3.90. TRuleEncryptAction

Action that encrypts the message

Properties inherited from : TRuleAction
NameTypeDescription
ActiontypeTRuleActionType

Type of the action

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

3.91. 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>

3.92. 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>

3.93. 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>truleisspamcondition</classname>
</condition>
</custom>

3.94. 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>

3.95. 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>

3.96. 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>

3.97. 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>

3.98. TRuleMessageActionType

Represents enumeration TRuleMessageActionType

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

3.99. 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>

3.100. TRuleMoveType

Represents enumeration TRuleMoveType

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

3.101. TRuleMultipleItemsMatchType

Represents enumeration TRuleMultipleItemsMatchType

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

3.102. 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>

3.103. 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>

3.104. TRulePriorityType

TRulePriorityType

3.105. TRuleRecipientConditionType

Represents enumeration TRuleRecipientConditionType

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

3.106. TRuleRecipientSenderType

Represents enumeration TRuleRecipientSenderType

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

3.107. TRuleRemoteLocalType

Represents enumeration TRuleRemoteLocalType

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

3.108. TRuleSenderRecipientCondition

NameTypeDescription
RecipientSenderTRuleRecipientSenderType
RemoteLocalTRuleRemoteLocalType
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>

3.109. 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>

3.110. 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>

3.111. 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>truleisspamcondition</classname>
  </item>
  <item>
    <classname>trulespamscorecondition</classname>
    <comparetype>enumval</comparetype>
    <spamscore>stringval</spamscore>
  </item>
</conditions>
<actions>
  <item>
    <classname>trulemovetofolderaction</classname>
    <folder>stringval</folder>
  </item>
  <item>
    <classname>trulestopaction</classname>
  </item>
</actions>
<title>stringval</title>
<active>enumval</active>
<ruleid>intval</ruleid>
</custom>

3.112. 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>trulehasattachmentcondition</classname>
  </condition>
</item>
<item>
  <ruleid>stringval</ruleid>
  <title>stringval</title>
  <active>enumval</active>
  <actiontype>enumval</actiontype>
  <condition>
    <classname>trulednsblcondition</classname>
    <server>stringval</server>
    <regex>stringval</regex>
  </condition>
</item>
</custom>

3.113. TRulesListFilter

Used to filter the list of rules in IceWarp server

NameTypeDescription
NameMaskAnsiString

Used agains rule name

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

3.114. 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>

3.115. 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>

3.116. TRuleSomeWordsFunctionType

Represents enumeration TRuleSomeWordsFunctionType

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

3.117. 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>

3.118. 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>

3.119. 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>

3.120. TSCItm

Traffic chart data value

NameTypeDescription
VReal

Value

DAnsiString

Date

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

3.121. 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>

3.122. 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>

3.123. 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>

3.124. 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>

3.125. TServiceChartPeriod

Represents enumeration TServiceChartPeriod

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

3.126. TServiceChartType

Represents enumeration TServiceChartType

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

3.127. TServiceInfo

Brief information about IceWarp service

NameTypeDescription
ServiceTypeTServiceType

Service type

UptimeNativeInt

Running time

ConnectionsNativeInt

Connection count

DataNativeInt

Data ( memory )

IsRunningBoolean

Specifies if the service is running or not

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

3.128. 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>

3.129. 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>
  <data>intval</data>
  <isrunning>enumval</isrunning>
</item>
<item>
  <servicetype>enumval</servicetype>
  <uptime>intval</uptime>
  <connections>intval</connections>
  <data>intval</data>
  <isrunning>enumval</isrunning>
</item>
</custom>

3.130. 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>

3.131. 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

3.132. 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
<custom>enumval</custom>

3.133. 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>

3.134. 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>

3.135. TUserState

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

3.136. TWebmailSettingAccessLevel

Webmail setttings

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

3.137. TWebmailSettingItem

Represents the item in web client settings resource

NameTypeDescription
DomainAdminAccessLevelTWebmailSettingAccessLevel

Access level for domain administrator accounts

UserAccessLevelTWebmailSettingAccessLevel

Access level for user accounts

AccessLevelTWebmailSettingAccessLevel

Access level for currently logged account

NameAnsiString

Item name in selected webclient resource

ValueAnsiString

Item value in selected webclient resource

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

3.138. TWebmailSettingItemList

List of wemclient setting items

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

3.139. TWebmailSettingLevel

Represents enumeration TWebmailSettingLevel

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

3.140. TWebmailSettingsResource

Represents the resource in webclient settigns

NameTypeDescription
ListTWebmailSettingItemList

List of items in the resource

NameAnsiString

Resource name

<custom>
<list>
  <item>
    <domainadminaccesslevel>enumval</domainadminaccesslevel>
    <useraccesslevel>enumval</useraccesslevel>
    <accesslevel>enumval</accesslevel>
    <name>stringval</name>
    <value>stringval</value>
  </item>
  <item>
    <domainadminaccesslevel>enumval</domainadminaccesslevel>
    <useraccesslevel>enumval</useraccesslevel>
    <accesslevel>enumval</accesslevel>
    <name>stringval</name>
    <value>stringval</value>
  </item>
</list>
<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:
<pre>

  
	*
	0
  
  
	icewarp*
	1
  

</pre>
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:

<pre >      

	
	  1324
	  2
	
	
	  1337
	  1
	
	
	
	
	  0
	  2
	       

</pre>

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

<pre >

  
    
      
        *
        0
      
      
        icewarp*
        1
      
    
    
      
        
          1324
          2
        
      
      
        
          0
          2
               
      
    
  


        
          4096
          1
         
        
          4099
          2
         
        
          4098
          2
         

</pre>

연락하기
CAPTCHA Image Reload Image
''