Registration Server API Calls

The following is list of all API calls.

getsettings

Use this call to retrieve Registration Server and provider settings.

This call is new in Registration Server 4.5.1.

The <settings> tag must contain a comma separated list of settings to retrieve. Currently only RegServerName, ClientSettings, CLIENT_SETTINGS, and PRE_LOGIN_SETTINGS. Further settings will be added as required.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>loginuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <settings>ClientSettings,CLIENT_SETTINGS,..</settings>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <settings>
                <ClientSettings>...</ClientSettings>
                <CLIENT_SETTINGS>...</CLIENT_SETTINGS>
                ...
        </settings>
</teamdrive>

A <settings> block is returned in the reply, containing one tag for each setting requested, containing the associated value of the setting.

Error Cases

Errors returned by this call include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30144: Setting does not exists or, access to setting not permitted

loginuser

This call is used to test login for a particular user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <tmppassword> tag is now in Registration Server 4.0. Setting this field allows you to attempt a login using a temporary password issued by the Registration Server after a lost password request (see the sendpassword API call). In this case, <password> specifies the new password of the user.

In addition, the <sendmail> tag indicates whether the user receives a passwd-changed email or not. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

See The <origin> tag for details on the <origin> tag.

<licensereference> is optional, and is used if a default license is created for the user. This is only done if the user has no default license, and the Provider setting DEFAULT_LICENSEKEY is empty. This tag was added in version 3.6.3.

The tag <includegroup> (version 4.0) is optional. The default value is true. If the value is true the <group> tag will be included, if the user is a member of a group.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>loginuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <password></password>
        <tmppassword></tmppassword>
        <licensereference></licensereference>
        <includegroup>true|false</includegroup>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <userdata>
                <userid></userid>
                <username></username>
                <email></email>
                <reference></reference>
                <department></department>
                <language></language>
                <distributor></distributor>
                <usercreated></usercreated>
                <status></status>
                <clientsettings></clientsettings>
                <keyrepository>true|false</keyrepository>
                <newsletter>true|false</newsletter>
                <emailbounced>true|false</emailbounced>
                <webportal>true|false</webportal>
                <group>
                        <distributor></distributor>
                        <groupname></groupname>
                        <groupreference></groupreference>
                        <grouptype>provider|user</grouptype>
                        <manager></manager>
                        <manageremail></manageremail>
                        <groupcreated></groupcreated>
                        <groupmodified></groupmodified>
                        <groupdepot>
                                <depotname></depotname>
                                <depotreference></depotreference>
                                <hosturl></hosturl>
                                <depotid></depotid>
                                <globalid></globalid>
                                <username></username>
                                <accountkey></accountkey>
                                <accountreference></accountreference>
                                <contractnumber></contractnumber>
                                <storagelimit></storagelimit>
                                <transferlimit></transferlimit>
                                <created></created>
                                <etl></etl>
                                <status></status>
                                <storageused></storageused>
                                <transferused></transferused>
                        </groupdepot>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <clientsettings></clientsettings>
                </group>
        </userdata>
</teamdrive>

On successful login, the Registration Server returns a number of details describing the user.

Description of the <userdata> fields and values:

  • <userid>: The internal user ID of the Registration Server.
  • <username>: The user’s username. If the name has the format “$<provider-code>-<value”, then it is a so-called “magic username”. Magic usernames are allocated by the Registration Server and are invisible to the end user (see registeruser for more details).
  • <email>: The user’s registration email address.
  • <reference>: An optional external reference which may be used to identify the user, if it is unique.
  • <department>: The name of the user’s department (optional text field).
  • <language>: The ISO 3166 language code of the user.
  • <usercreated>: The user creation date, format: “MM/DD/YYYY”.
  • <status>: Either: todelete, disabled, inactive or activated.
  • <clientsettings> (version 4.0): User-level clients settings ( see registeruser).
  • <keyrepository>: true of the user’s Key Repository is enabled.
  • <newsletter>: true if the user wishes to receive the TeamDrive newsletter.
  • <emailbounced>: true` if the user’s email address has bounced.
  • <webportal>: true if the user is permitted to access the TeamDrive Web Portal. This tag was added in version 3.6.0.
  • <group> (version 4.0): This tag is included if <includegroup> is true, and the user is a member of a group. The <group> tag fields are described in the getgroupdata call. A <memberlist> block is is only included in the <group> tag returned by the “getgroupdata” call.

Note that if the Provider setting ALLOW_WEB_PORTAL_ACCESS is set to permit or deny, the the value returned in the <webportal> tag will reflect this setting, not the value of the user’s Web Portal Access capability bit.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30101: Wrong password
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30137: Too many failed login attempts

Redirect due to user belonging to another Provider

If the Provider setting API/API_REDIRECT (see API_REDIRECT) is set for the user’s Provider, and the user is accessed by another Provider, then the Registration Server returns a -30004 exception. The <message> tag contains the URL specified by API_REDIRECT.

The caller is expected to re-direct the user to the specified Web-page. Note that this error is always retuned if API_REDIRECT is set, even if the caller is the Default Provider.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <exception>
                <primarycode>-30004</primarycode>
                <secondarycode></secondarycode>
                <message>[URL]</message>
        </exception>
</teamdrive>

tdnslookup

This API call will do a lookup at the TeamDrive Name Service to find the Registration Server where the user or email is registered. It is usefull if a system using the API is required to communicate with more than one Registration Server.

Any Registration Server connected to the TDNS can process this API call.

This function is available since version 3.5.0.

In the case of a user name lookup, the reply includes the Registration Server name, the domain and the Provider Code of the user. If the user is not found the API will raise a -30100 error.

The <useroremail> can be used to search by username or email address. This tag was added in version 3.6.0.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>tdnslookup</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <password></password>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <regserver>
                <distributor></distributor>
                <servername></servername>
                <domain></domain>
        </regserver>
</teamdrive>

A request to lookup and email, or a username may be made using the <useroremail> tag. In this case the <username> tag must be omitted. In this case the API will return a list of Registration Servers. If the username or email is not found, the list will be empty, and <count> is set to zero.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>tdnslookup</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <useroremail></useroremail>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <regserverlist>
                <count></count>
                <regserver>
                        <distributor></distributor>
                        <servername></servername>
                </regserver>
                <regserver>
                        <distributor></distributor>
                        <servername></servername>
                </regserver>
        <regserverlist>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown

searchuser

Search for a user.

Warning

This function is for internal usage only. Do not allow public access.

The user may be identified using one or more of the following tags: <username>, <email>, <reference> or <authid> (see Identifying Users for details).

<username> and <email> may include the “wildcard” character “*”. For example, setting <username> to “abc*” will find all users starting with “abc...”, “abc” will find all data ending with ”...abc”, and “*abc” will find all data that contains ”...abc...”.

If you search without the wildcard, the server will perform an exact match for the string. A minimum of 3 characters (excluding wildcards) is required.

The tags <distributor>`, <reference> and <authid> were added in version 3.6.0. These tags can be used in addition to or in place of other search tags. The “*” search wildcard is not recognised which searching for these values.

You can limit the search to your own users (specified by the <distributor> tag) by using <onlyownusers>true</onlyownusers>. Note that when searching by <authid> and <reference>, <distributor> will be automatically be added to the search conditions.

Note that setting <distributor> to a value other than your own Provider code is only permitted if you are the Default Provider.

To retrieve a list of all of your users, leave <username>, <email>, <reference> and <authid> empty.

Currently, the reply will contain a maximum of 50 users. This maximum value might change in the future. The current maximum value is included within the reply’s <maximum> tag.

<current> is the number of users returned in the result, and <total> is the total number of users that match the input parameters (see below for more details).

If <current> is less than <total>, there may be more records available than returned in the reply. To retrieve the next set of records, resend the same request and put the highest user ID from the last reply into the <startid> field. For the first search request you can set <startid> to 0, or omit it entirely.

If a user does not belong to the calling Provider then <email> in the reply will be empty.

The <devicelist> block in the reply is only be returned if you send <showdevice>true</showdevice> in the request.

If <showlicense> is set to true, then this function returns license data relating to the user. This includes information about the license the user has in use, and a list of licenses belonging to the user. This feature was added in version 3.5.9.

<licensereference> (version 3.5.9) is optional, and is used if a default license is created for the user. This is only done if the user has no default license, and the Provider setting DEFAULT_LICENSEKEY is empty, and <showlicense> was set to true.

The tag <includegroup> (version 4.0) is optional. The default value is false. If the value is true then the <group> tag is included in the <user> block, if the user is a member of a group. In addition, the <licenselist> block will also include the user’s group license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>searchuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <email></email>
        <reference></reference>
        <authid></authid>
        <startid></startid>
        <showdevice>true/false</showdevice>
        <showlicense>true/false</showlicense>
        <onlyownusers>true/false</onlyownusers>
        <licensereference></licensereference>
        <includegroup>true|false</includegroup>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <searchresult>
                <current></current>
                <maximum></maximum>
                <total></total>
        </searchresult>
        <userlist>
                <user>
                        <userid></userid>
                        <username></username>
                        <email></email>
                        <reference></reference>
                        <department></department>
                        <language></language>
                        <distributor></distributor>
                        <usercreated></usercreated>
                        <status></status>
                        <clientsettings></clientsettings>
                        <keyrepository>true|false</keyrepository>
                        <newsletter>true|false</newsletter>
                        <emailbounced>true|false</emailbounced>
                        <webportal>true|false</webportal>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <licensestatus></licensestatus>
                        <group>
                                <distributor></distributor>
                                <groupname></groupname>
                                <groupreference></groupreference>
                                <grouptype>provider|user</grouptype>
                                <manager></manager>
                                <manageremail></manageremail>
                                <groupcreated></groupcreated>
                                <groupmodified></groupmodified>
                                <groupdepot>
                                        <depotname></depotname>
                                        <depotreference></depotreference>
                                        <hosturl></hosturl>
                                        <depotid></depotid>
                                        <globalid></globalid>
                                        <username></username>
                                        <accountkey></accountkey>
                                        <accountreference></accountreference>
                                        <contractnumber></contractnumber>
                                        <storagelimit></storagelimit>
                                        <transferlimit></transferlimit>
                                        <created></created>
                                        <etl></etl>
                                        <status></status>
                                        <storageused></storageused>
                                        <transferused></transferused>
                                </groupdepot>
                                <licensekey></licensekey>
                                <licensereference></licensereference>
                                <clientsettings></clientsettings>
                        </group>
                        <licenselist>
                                <license>
                                        <created></created>
                                        <productid></productid>
                                        <productname></productname>
                                        <type></type>
                                        <licensekey></licensekey>
                                        <licensereference></licensereference>
                                        <featurevalue></featurevalue>
                                        <featuretext></featuretext>
                                        <validuntil></validuntil>
                                        <limit></limit>
                                        <used></used>
                                        <status></status>
                                        <isdefault>true|false</isdefault>
                                        <isgroup>true|false</isgroup>
                                        <licenseemail></licenseemail>
                                </license>
                                <license>...</license>
                                ...
                        </licenselist>
                        <devicelist>
                                <device>
                                        <deviceid></deviceid>
                                        <status></status>
                                        <devicecreated></devicecreated>
                                        <deviceactive></deviceactive>
                                        <version></version>
                                        <platform></platform>
                                </device>
                                <device>...</device>
                                ...
                                <amount></amount>
                        </devicelist>
                </user>
                <user>
                        ...
                </user>
        </userlist>
</teamdrive>

The <searchresult> block contains statistical information about the found records:

  • <current>: The number of users in this reply. Before version 3.6.4 this returned the number of records in the reply, which counted the number of devices when <showdevice> was set to true.
  • <total>: Total number of records. If <startid> is specified then the total returned will be the total number of records after the specified user ID. Note that prior to version 3.6.4 this value was not always set correctly when <showdevice>` was set to true.
  • <maximum>: Maximum number of users the server will return in a reply. Before version 3.6.4 this specified the maximum number of device records when <showdevice> was set to true.

If no records are found, <current> and <total> will be 0. In this case, the <userlist> block will not be returned.

The <group> tag (version 4.0) is included if <includegroup> is true, and the user is a member of a group. The <group> tag fields are described in the getgroupdata call. A <memberlist> block is is only included in the <group> tag returned by the “getgroupdata” call.

The tags <licensekey> (version 3.5.10), <licensereference> (version 3.6.3), <featurevalue> and <licensestatus> (version 3.5.9) return details of the license the user has in use.

The <licenselist> block is a list of licenses belonging to the user (version 3.5.9). The <license> blocks are identical to those returned by the getlicensedata call (except <userlist> tag is not included).

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

Fields such as <userid> and <keyrepository> are identical to those returned by the loginuser call.

The <isgroup> tag in the <license> block is new in version 4.0. This indicates if the license belongs to the user’s group. Group licenses are only included if <includegroup> is set to true.

In version 4.0, the <licensekey>, <licensereference> (added in version 3.6.3) and <feature> tags in the <device> block are deprecated and will be removed in a future version.

Error Cases

Errors that may occur, include the following:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30116: Username too short or invalid email

getuserdata

Get the data associated with a user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference>, <authid> or <activationcode> (see Identifying Users for details).

<licensereference> is optional, and is used if a default license is created for the user. This is only done if the user has no default license, and the Provider setting DEFAULT_LICENSEKEY is empty.

Use the optional <settings> tag to retrieve Registration Server and provider settings, by specifying a comma separated list of settings names (Registration Server 4.5.1 or later). If included the result will contains a <settings> block with the names (as tags) and values of the settings (see getsettings for further details).

The <includeaccounts> and <includegroups> tag were added in version 4.0. Both are optional, and are set to true by default.

If <includeaccounts> is true then the accounts that the user belongs to are included in the <accountdata> block.

If <includegroups> is true then the <group> tag is included in the <userdata> block, if the user is a member of a group. In this case, the user’s license and depot associated with the user’s group will also be included in the <licensedata> and <depotdata> blocks. All the groups the user belongs to are also included in the <groupdata>. <includegroups> also effects the license returned in the <license> block in <userdata> (see the description of the <license> block below.

The tags <includeinusedepots>, <includeowneddepots> and <includegroupdepot>, indicate what depots of the user should be returned. If <includeinusedepots> is set to true (which is the default), then all depots that are in use by the user are returned. If <includeowneddepots> is set to true (false by default), then the result includes all depots owned by the user. If <includegroupdepot> is set to true (which is the default), then the result will include the user’s account and group depots, if there are any.

These tags are new to Registration Server version 4.0. Previously this call automatically returned all depots in use by the user. There were no options to change this behaviour.

The <sendmail> (new in version 4.0) tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, then the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getuserdata</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <activationcode></activationcode>
        <licensereference></licensereference>
        <settings>RegServerName,ClientSettings,CLIENT_SETTINGS,..</settings>
        <includeaccounts>true|false</includeaccounts>
        <includegroups>true|false</includegroups>
        <includeinusedepots>true|false</includeinusedepots>
        <includeowneddepots>true|false</includeowneddepots>
        <includegroupdepot>true|false</includegroupdepot>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <settings>
                <RegServerName>...</RegServerName>
                <ClientSettings>...</ClientSettings>
                <CLIENT_SETTINGS>...</CLIENT_SETTINGS>
                ...
        </settings>
        <userdata>
                <userid></userid>
                <username></username>
                <email></email>
                <reference></reference>
                <department></department>
                <language></language>
                <distributor></distributor>
                <usercreated></usercreated>
                <status></status>
                <clientsettings></clientsettings>
                <keyrepository>true|false</keyrepository>
                <newsletter>true|false</newsletter>
                <emailbounced>true|false</emailbounced>
                <webportal>true|false</webportal>
                <license>
                        <created></created>
                        <productid></productid>
                        <productname></productname>
                        <type></type>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <featuretext></featuretext>
                        <validuntil></validuntil>
                        <limit></limit>
                        <used></used>
                        <status></status>
                        <isdefault></isdefault>
                        <isgroup></isgroup>
                        <licenseemail></licenseemail>
                        <language></language>
                </license>
                <group>
                        <distributor></distributor>
                        <groupname></groupname>
                        <groupreference></groupreference>
                        <grouptype>provider|user</grouptype>
                        <manager></manager>
                        <manageremail></manageremail>
                        <groupcreated></groupcreated>
                        <groupmodified></groupmodified>
                        <groupdepot>
                                <depotname></depotname>
                                <depotreference></depotreference>
                                <hosturl></hosturl>
                                <depotid></depotid>
                                <globalid></globalid>
                                <username></username>
                                <accountkey></accountkey>
                                <accountreference></accountreference>
                                <contractnumber></contractnumber>
                                <storagelimit></storagelimit>
                                <transferlimit></transferlimit>
                                <created></created>
                                <etl></etl>
                                <status></status>
                                <storageused></storageused>
                                <transferused></transferused>
                        </groupdepot>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <clientsettings></clientsettings>
                </group>
        </userdata>
        <accountdata>
                <account>
                        <distributor></distributor>
                        <accountkey></accountkey>
                        <accountreference></accountreference>
                        <created></created>
                        <clientsettings></clientsettings>
                        <privileges></privileges>
                        <jointime></jointime>
                </account>
                <account>...</account>
                ...
        </accountdata>
        <licensedata>
                <license>
                        <created></created>
                        <productid></productid>
                        <productname></productname>
                        <type></type>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <featuretext></featuretext>
                        <validuntil></validuntil>
                        <limit></limit>
                        <used></used>
                        <status></status>
                        <isdefault></isdefault>
                        <isgroup></isgroup>
                        <licenseemail></licenseemail>
                </license>
                <license>...</license>
                ...
        </licensedata>
        <depotdata>
                <count></count>
                <depot>
                        <depotname></depotname>
                        <depotreference></depotreference>
                        <hosturl></hosturl>
                        <depotid></depotid>
                        <globalid></globalid>
                        <username></username>
                        <accountkey></accountkey>
                        <accountreference></accountreference>
                        <contractnumber></contractnumber>
                        <storagelimit></storagelimit>
                        <transferlimit></transferlimit>
                        <created></created>
                        <etl></etl>
                        <status></status>
                        <storageused></storageused>
                        <transferused></transferused>
                        <isowner></isowner>
                        <isdefault></isdefault>
                        <iscloud></iscloud>
                        <isaccount></isaccount>
                        <isgroup></isgroup>
                </depot>
                <depot>...</depot>
                ...
        </depotdata>
        <groupdata>
                <group>
                        <groupname></groupname>
                        <groupreference></groupreference>
                        <memberstate></memberstate>
                        <manager></manager>
                        <manageremail></manageremail>
                </group>
                <group>...</group>
                ...
        </groupdata>
</teamdrive>

The <userdata> block is identical to that returned by the loginuser call.

The <license> block in <userdata> was added in Registration Server version 4.0. It contains the details of the license assigned to the user. This will be the group license if the user is a member of a group with an assigned license, and <includegroups> is true. In this case <isgroup> will be set to true.

Note that this license may not be one of the licenses listed in the <licensedata> block, which contains all the licenses owned by the user.

The <license> blocks in <userdata> and <licensedata> is identical to that returned by the getlicensedata call (except <userlist> tag is not included).

The valid values for <status> in <userdata> include: todelete, disabled, inactive and activated.

The <group> tag (version 4.0) is included if <includegroups> is true, and the user is a member of a group. The <group> tag fields are described in the getgroupdata call. A <memberlist> block is is only included in the <group> tag returned by the “getgroupdata” call.

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

The <isgroup> tag in the <license> block is new in version 4.0. This tag has the value true if the license belongs to the user’s group. If <includegroups> is false then group licenses will not be returned in the result.

The <depotdata> block contain a number of <depot> blocks. The number of of depots in the block is specified in the <count> tag.

In this block, <isowner> (version 4.0) is set to true if the user is the owner of the depot.

In addition, the <isdefault> tag is set to true if the depot is the user’s default depot. There can only be one default depot. The default depot is the depot that was created or assigned to the user automatically when the user is first registered.

<iscloud> (version 4.0) in the <depotdata> block is set to true if this is the user’s “selected depot”. In general this is the user’s group gepot if the user is a member of group with a depot, or the account level selected depot if this exists. Otherwise this is the depot that has been selected on the user level. If the user has no selected depot, then the user’s default depot is selected.

<isaccount> (version 4.0) in the <depotdata> block is set to true if this is the depot selected at the account level. If <includegroups> is false then account depots will not be returned in the result.

<isgroup> (version 4.0) in the <depotdata> block is set to true if this is the user’s Group Depot, which means the depot belongs to the user’s group. If <includegroups> is false then group depot will not be returned in the result.

The <status> tag contains one of the following: to-be-deleted, deleted, delete-on-server, enabled ``, ``disabled.

The <accountdata> block is new in version 4.0. This block is only included if <includeaccounts> is true. It contains a list of <account> blocks with the following fields:

  • <distributor>: The provider code of the account.
  • <accountkey>: The unique account identifier.
  • <accountreference>: A unique external reference to the account. This field may be empty.
  • <created>: The time the account was created.
  • <clientsettings>: The client settings at the account level.
  • <privileges>: The privilege level and status of the user in the account. This is a comma separated list of the following:
    • member: the user is regular member of the account.
    • manager: the user is a manager of the account.
  • <jointime>: The time the user became a member of the account.

The <groupdata> block is new in version 4.0. This block is only included if <includegroups> is true. It contains a list of <group> blocks with the following fields:

  • <groupname>: The name or title of the group. The name is not unique and is used for display purposes.

  • <groupreference>: The Registration Server wide unique identifier of the group.

  • <memberstate>: This is the state of the user’s membership in the group:

    • member: the user is a member of the group
    • invited-as-member: the user has been invited to join the group as a member
    • membership-rejected: the user has refused membership of the group
    • friend: the user is a friend of the group
    • invited-as-friend: the user has been invited to join the group as a friend
    • friendship-rejected: the user has refused friendship of the group
    • manager: the user is the manager of the group
  • <manager>: The username of the manager of the group.

  • <manageremail>: The email address of the manager of the group.

    Note that this field is a comma separated list of states because a number of state combinations are possible, for example: “member,manager” and “friend,invited-as-member”.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30106: Activation code is invalid
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30127: License with reference already exists

registeruser

Create a new user.

The Provider setting API/REG_NAME_COMPLEXITY (see REG_NAME_COMPLEXITY) determines which characters may be used in the username.

The global settings ClientPasswordLength and ClientUsernameLength specify the minimum length of these values.

If <username> is not provided, or is set to $ then the email address will be used to identify the user. As documented in USER_IDENTIFICATION_METHOD. In this case a “magic username” is generated. This value is returned in the reply to this call, and can be used to reference the user in subsequent calls.

However, you can also use the email address or the <reference> specified in the request, if it is unique.

A password must be specified using the <setpassword> tag unless <setpassword>true</setpassword> is used, see below.

The <newsletter>``specifies if the user wishes to receive the TeamDrive newsletter. This value is ``false by default.

The user will get an activation email sent to their email address. You can change this behaviour using the <sendmail> tag as described below.

The user will be assigned to a provider. The Provider is determined by either the IP address of the request sender or the <distributor> tag in the request. Only the Default Provider may specify a different Provider.

Since version 3.6.2 you can specify a license to assign to the newly created user, using the <licensekey> or <licensereference> tag.

The <licensereference> tag will only be used to find an existing license if the Provider setting LICENSE/EXT_LICENCE_REF_UNIQUE (see EXT_LICENCE_REF_UNIQUE) is set to True.

If <licensekey> is set, then the license must exist ot an error will be generated.

If the license does not exists, the user will be assigned the license specified by the LICENSE/DEFAULT_LICENSEKEY setting. If LICENSE/DEFAULT_LICENSEKEY is empty, then a default license will be automatically created. If <licensereference> contains a value, this will be assigned to the newly created default license.

The <featurevalue> tag is optional (added in version 4.0). If specified the features are added to the default license of the user, if the default license does not already exist.

<featurevalue> is a comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice, inbox and agent. The integer values of the features added together may be specified in place of the text values.

If <featurevalue> is not specified, then a default license will be generated with the features specified by LICENSE/DEFAULT_ACCOUNT_FEATURE if an account has been specified for the user (see <accountkey> or <accountreference> below), otherwise the LICENSE/DEFAULT_FREE_FEATURE determines the features of the license (see DEFAULT_FREE_FEATURE for details).

The <accountkey> or <accountreference>``tags (version 4.0 or later) specify that the user must be added to an account. In this case, the ``<accountprivileges> tag determines the privilege level of the user in the account. This can be either member or manager.

The <groupreference> tag (version 4.0 or later) allows you to add the user to a group on creation. The details of the group are then returned in <group> tag in the reply.

In version 4.0 or later you can specify user-level client settings in the <clientsettings> tag. These settings are appended to the user’ Client Settings as specified by the CLIENT_SETTINGS Provider Setting (see CLIENT_SETTINGS). The user-level Client Settings take priority over group-level settings (see creategroup API call) and the Provider values.

The <activate>, <setpassword>, <sendmail> and <origin> tag are all new in Registration Server version 4.0.

The <activate> tag indicates whether the new user should be activated automatically or not. If true the user is automatically activated, if false the user must be activated manually. If the tag is omitted the default value depends on the value of the <sendmail> tag. If <sendmail> is false (or false by default) then the user is automatically activated.

If the <setpassword> tag (default is false) is set to true then the values of <activate> and <sendmail> are both ignored. In this case the users account is not automatically activated, and an email using the activationsetpassword template is sent to the user. This email contains a link to the set-password HTML template, which allows the user to set his password, and activate their user account.

The <changeuser> tag (new in version 4.0) specified the username of the user that is making the change. Note that this change is required if the [[ORIGIN-*]] email variables are to be valid (not empty).

The <sendmail> tag indicates whether the user receives an email due to registration or not. If the user was automatically activated, then the user will be sent a registrationnotify email. If the user is required to activate manually a activationlink email will be sent. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

See The <origin> tag for details on the <origin> tag.

The <messagetext> tag was added in Registration Server version 4.5. When specified, the [[MESSAGE-TEXT]] template variable can be used in any email sent by this API call. An example of this is available in the web-activationsetpassword template.

The <sendcc> tag (new in version 4.5), indicates whether the email sent should be “CC’ed” the user making the change (set by the <changeuser> tag). By default this value is false.

Starting with Registration Server 4.5 you can assign a depot to a user when the user is registered. You can also elect to prevent the addition of a default depot to the user.

The <nodepot>, when set to true indicates that no default depot should be created or assigned to the user. By default this value is false, which means the settings PROVIDER_DEPOT, HAS_DEFAULT_DEPOT, API_CREATE_DEFAULT_DEPOT and the default depot setting on the account level determine whether the user is assigned a depot on registration.

As another alternative to a default depot is so specify a particular depot to be assigned to the user. In this case the depot is identified using the <hosturl> and <depotid> tags. If the depot is unknown to the Registration Server it will be fetched from the Host Server.

If the depot provided is new to the Registration Server, then <depotreference> is set as external reference to the depot.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>registeruser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useremail></useremail>
        <password></password>
        <language></language>
        <reference></reference>
        <department></department>
        <newsletter></newsletter>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <featurevalue></featurevalue>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <accountprivileges>member|manager</accountprivileges>
        <groupreference></groupreference>
        <clientsettings></clientsettings>
        <activate>true|false</activate>
        <setpassword>true|false</setpassword>
        <changeuser></changeuser>
        <sendmail>true|false</sendmail>
        <origin></origin>
        <messagetext></messagetext>
        <sendcc>true|false</sendcc>
        <nodepot>true|false</nodepot>
        <hosturl></hosturl>
        <depotid></depotid>
        <depotreference></depotreference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <userdata>
                <userid></userid>
                <username></username>
                <email></email>
                <reference></reference>
                <department></department>
                <language></language>
                <distributor></distributor>
                <usercreated></usercreated>
                <status></status>
                <clientsettings></clientsettings>
                <keyrepository>true|false</keyrepository>
                <newsletter>true|false</newsletter>
                <emailbounced>true|false</emailbounced>
                <webportal>true|false</webportal>
                <group>
                        <distributor></distributor>
                        <groupname></groupname>
                        <groupreference></groupreference>
                        <grouptype>provider|user</grouptype>
                        <manager></manager>
                        <manageremail></manageremail>
                        <groupcreated></groupcreated>
                        <groupmodified></groupmodified>
                        <groupdepot>
                                <depotname></depotname>
                                <depotreference></depotreference>
                                <hosturl></hosturl>
                                <depotid></depotid>
                                <globalid></globalid>
                                <username></username>
                                <accountkey></accountkey>
                                <accountreference></accountreference>
                                <contractnumber></contractnumber>
                                <storagelimit></storagelimit>
                                <transferlimit></transferlimit>
                                <created></created>
                                <etl></etl>
                                <status></status>
                                <storageused></storageused>
                                <transferused></transferused>
                        </groupdepot>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <clientsettings></clientsettings>
                </group>
        </userdata>
        <intresult>0</intresult>
</teamdrive>

The <userdata> block (version 3.6.0) contains details of the created users, and is identical to that returned by the loginuser call.

The <userdata> block replaces the <username> tag (in the <teamdrive> block) which was returned since version 3.5.3. The <username> tag is still returned but has been deprecated and will be removed in a future version of the Registration Server.

The <group> block is new in version 4.0 and is included if the user is a member of a group. The <group> tag fields are described in the getgroupdata call. A <memberlist> block is is only included in the <group> tag returned by the “getgroupdata” call.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30108: Username invalid
  • -30109: Password invalid
  • -30110: Email invalid
  • -30103: Username already exists
  • -30104: Email already exists
  • -30127: User with given reference already exists
  • -30004: Redirect to Registration Server Download Page
  • -30201: Unknown license
  • -30214: License deleted
  • -30213: License disabled
  • -30212: License has expired
  • -30211: License exceeded permitted usage
  • -30130: Unknown group, Group unknown to this provider
  • -30132: Account unknown to this provider

Redirect to Registration Server Download Page

If the user you are trying to create already exists on a remote Registration Server, then you will receive a -30004 error. The <message> is set to the download URL of the Registration Server of the user. Here the user should be able to Download a TeamDrive Client which will enable him to login as the specified user.

The caller is expected to re-direct the user to the download page provided.

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <exception>
                <primarycode>-30004</primarycode>
                <secondarycode></secondarycode>
                <message>[URL]</message>
        </exception>
</teamdrive>

resendactivation

Will resend the activation mail to the user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference>, <authid> or <activationcode> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>resendactivation</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <activationcode></activationcode>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

activateuser

Activate a user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <activationcode> tag is required and must match the activation code sent to the user the activation email.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>activateuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <activationcode></activationcode>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

deactivateuser

Reset a user’s activation state.

This function is available since version 3.5.0.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deactivateuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail

disableuser

Disable the user. This function is available since version 3.5.0.

When disabled, a user is no longer able to access user information using the TeamDrive client or the Registration Server API. The user cannot re-enable himself. Re-enabling the user can only be performed using the “enableuser” API function.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>disableuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

enableuser

Enable a disabled user.

This function is available since version 3.5.0.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>enableuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

activateclient

Activate a TeamDrive Client installation.

If a user registers using the TeamDrive client, they will be sent a client activation email. The activation link from that email will normally lead back to the Registration Server. However, if the link does not directly point to the Registration Server, the following API call can be used to activate the client.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>activateclient</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <activationcode></activationcode>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30106: Wrong activation code
  • -30117: Activation code not found

sendpassword

This call generates a temporary password which is sent to the user via email. The temporary password needs to be provided in order to change the existing password (e.g. via the “changepassword” API request).

The user receives the same temporary password for every consecutive “sendpassword” API request or when a new request is triggered by a Client. The generated temporary password remains active and unchanged until the user’s password has been changed via the changepassword API call or via the user’s Client.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>sendpassword</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail

resetpassword

Resetting a user’s password will set it to a random value. This function causes all TeamDrive Clients to automatically logout.

If the user is using an external authentication service, the user is required to login again.

If the user is not using an external authentication service then user will be forced to set a new password.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <sendmail> (new in version 4.0) tag indicates whether the user receives an email or not. If the user is using external authentication then he will be sent a passwd-reset email, otherwise a passwd-invalidated email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>resetpassword</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail

changepassword

Change a user’s password.

<tmppassword> must contain the temporary password that was emailed to the after the sendpassword API call. The <password> contains the new password chosen by the user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <sendmail> (new in version 4.0) tag indicates whether the user receives a passwd-changed email or not. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>changepassword</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <tmppassword></tmppassword>
        <password></password>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30105: Temporary password does not match
  • -30109: Password invalid
  • -30137: Too many failed login attempts

Error -30105 (Temporary password does not match) is returned if the last call to sendpassword (or the last request from a TeamDrive Client for a temporary password) was more than 10 minutes ago. In this case, a new temporary password must be requested.

The new password is invalid if the length is less than the global setting ClientPasswordLength.

updatepassword

Update a user password.

Note

A user should only be allowed to change their password if they have already been authenticated.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <sendmail> (new in version 4.0) tag indicates whether the user receives a passwd-changed email or not. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>updatepassword</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newpassword></newpassword>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30109: Password invalid

setreference

Set the external reference for a user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setreference</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newreference></newreference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30127: User with reference already exists

The error -30127 will only be returned if the Provider setting EXT_USER_REFERENCE_UNIQUE has been set to True.

setdepartment

Set the department reference of a user.

This function is available since version 3.5.0.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <command>setdepartment</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <department></department>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail

setemail

Set registration email address of a user.

This command will change the email for the user directly without sending a confirmation email to the user like the changeemail call does.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setemail</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newemail></newemail>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30110: Email invalid
  • -30104: Email already exists

changeemail

The call does not change the user’s registration email immediately. It first sends a confirmation email to the user with a verification link that contains an “activation code”.

Until the user has confirmed the new email address, the old email address remains active and is displayed in the TeamDrive Client.

The change of the email is confirmed with the confirmnewemail call (see below).

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>changeemail</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newemail>true|false</newemail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30110: Email invalid
  • -30104: Email already exists

confirmnewemail

Confirm the change of email requested by the changeemail call.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <activationcode> tag is required and must match the activation code sent in the email, which was sent to confirm the new email address.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>confirmnewemail</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <activationcode></activationcode>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30106: Wrong activation code
  • -30104: Email already exists

changelanguage

Change the user’s default language.

Languages fields use valid ISO 3166 language codes (see http://en.wikipedia.org/wiki/ISO_3166-1).

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

If <newlanguage> is set to the empty string, then the language of the user will be set to the value of the EMAIL_DEFAULT_LANG setting.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>changelanguage</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newlanguage></newlanguage>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30115: Invalid language

updateuser

Update various user related fields. This function was added in version 4.0 of the Registration Server.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The tags <newreference>, <newlanguage>, <newdepartment>, <newauthid> or <clientsettings> are used to change the corresponding user values.

In version 4.0, only <clientsettings> is optional, and will not be updated if omitted. Omitting any of the other fields when using version 4.0, will remove the current value.

In version 4.1.1 or later of the Registration Server, omitted fields will not be changed.

If <newlanguage> is specified as empty, then the language of the user will be set to the value of the EMAIL_DEFAULT_LANG setting.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>updateuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newreference></newreference>
        <newlanguage></newlanguage>
        <newdepartment></newdepartment>
        <newauthid></newauthid>
        <clientsettings></clientsettings>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30127: User with external reference or authentication ID already exists

The error -30127 will only be returned when changing the external reference, if the Provider setting EXT_USER_REFERENCE_UNIQUE has been set to True.

The external authentication ID must always be unique.

removeuser

This call will delete the user immediately (as opposed to deleteuser which requires user confirmation).

<password> is optional. If specified, it must match the user’s password. This can be used as an additional security check if required (this option is new in version 3.6.3).

Set <deletelicense> to true if you would like to delete the user’s license as well.

Set <deletedepot> to true if you would like to delete the user’s storage depot as well.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removeuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <password></password>
        <deletelicense>true|false</deletelicense>
        <deletedepot>true|false</deletedepot>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

removedevice

This call deletes a user’s device. The ID of the device must specified in the request.

The list of devices a user posses can be retrieved using searchuser.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removedevice</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <deviceid></deviceid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

deleteuser

This call does not delete a user immediately, instead it sends a confirmation email with an “activation code”.

When the user clicks on the link in the email, you are required to call confirmuserdelete in order to actually delete the user.

The removeuser call can be used to delete a user without confirmation.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deleteuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

confirmuserdelete

Complete the deletion of a user that was initiated by the deleteuser call.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <activationcode> tag is required and must match the activation code sent to the user in the email sent by the deleteuser call.

<password> is optional since version 3.5.2. If specified, it must match the user’s password. This can be used as an additional security check if required.

Set <deletelicense> to true if you would like to delete the user’s license as well.

Set <deletedepot> to true if you would like to delete the user’s storage depot as well.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>confirmuserdelete</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <password></password>
        <activationcode></activationcode>
        <deletedepot>true|false</deletedepot>
        <deletelicense>true|false</deletelicense>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

getlicensedata

Get license data for a user.

This call also returns deleted licenses.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The tag <includegroup> (version 4.0) is optional. The default value is true. If the value is true then the list of licenses returned includes the user’s group license if there is one.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getlicensedata</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <includegroup>true|false</includegroup>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <licensedata>
                <license>
                        <created></created>
                        <productid></productid>
                        <productname></productname>
                        <type></type>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <featuretext></featuretext>
                        <validuntil></validuntil>
                        <limit></limit>
                        <used></used>
                        <status></status>
                        <isdefault>true|false</isdefault>
                        <isgroup>true|false</isgroup>
                        <licenseemail></licenseemail>
                        <userlist></userlist>
                </license>
                <license>...</license>
                ...
        </licensedata>
</teamdrive>

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

Description of the fields and values:

  • <created>: The creation date, format: “MM/DD/YYYY”.
  • <productid>: Either “1” or “2” (depending on <productname>).
  • <productname>: Either client (1) or server (2).
  • <type>: 0 = permanent, 1 = monthly payment, 2 = nfr (not for resale), 3 = yearly payment, 4 = one-off-trial, 5 = 1-year-professional.
  • <licensekey>: The license key number (previously <number>).
  • <licensereference>: An opitonal external reference that may be used to identify the license.
  • <featurevalue>: Sum of the numbers as described in <featuretext>
  • <featuretext>: A combination of: banner (1), webdavs (2), personal (4), professional (8), restricted (16), secureoffice (32), agent (64) and inbox (128).
  • <validuntil>: The license expiry date, format: “MM/DD/YYYY”.
  • <limit>: The maximum number of users.
  • <used>: The current usage count.
  • <status>: Either enabled, disabled or deleted
  • <isdefault>: Set to true if this is the user’s default license. The default license of a user is the one used when the current license of the user expires or is otherwise invalid.
  • <isgroup> (version 4.0): Set to true if the license belongs to the user’s group.
  • <licenseemail>: The email address associated with the license.
  • <userlist> (version 4.0: A comma separated list of usernames of the users that are using the license.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license

getdefaultlicense

Get the default license of a user. If the default license does not exists, it is created and <licensereference is assigned to the newly created license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getdefaultlicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <licensedata>
                <license>
                        <created></created>
                        <productid></productid>
                        <productname></productname>
                        <type></type>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <featuretext></featuretext>
                        <validuntil></validuntil>
                        <limit></limit>
                        <used></used>
                        <status></status>
                        <isdefault></isdefault>
                        <licenseemail></licenseemail>
                        <userlist></userlist>
                </license>
        </licensedata>
</teamdrive>

The <license> block is identical to that returned by the getlicensedata call.

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail

createdepot

Create a depot on the host specified by the <hosturl> tag.

The owner of the depot is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

The <depotreference> will be stored as an external reference to the depot.

An account may be specified using the <accountkey> or <accountreference> tag. In this case, the owner must be a manager of the account.

The <userlist> tag specified a list of users of the depot. If an account is specified then all users must be members of the account.

By default the depot owner is also added as a user of the depot. Set <addownerasuser> to false if the owner should not be made a user of depot. Note that you must be a user of a depot in order to create spaces in the depot.

If <isdefault> is set to true default is false) then the depot is made the default depot of the owner, provided the owner does not already have a default depot.

The <changeuser> tag (new in version 4.0) specified the username of the user that is making the change.

The <changeinfo> tag contains a comment which will be stored in the change history of the depot.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>createdepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <hosturl></hosturl>
        <depotname></depotname>
        <depotreference></depotreference>
        <contractnumber></contractnumber>
        <storagelimit></storagelimit>
        <trafficlimit></trafficlimit>
        <userlist></userlist>
        <addownerasuser></addownerasuser>
        <isdefault></isdefault>
        <changeuser></changeuser>
        <changeinfo></changeinfo>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <depotdata>
                <depot>
                        <depotname></depotname>
                        <depotreference></depotreference>
                        <hosturl></hosturl>
                        <depotid></depotid>
                        <globalid></globalid>
                        <username></username>
                        <accountkey></accountkey>
                        <accountreference></accountreference>
                        <contractnumber></contractnumber>
                        <storagelimit></storagelimit>
                        <transferlimit></transferlimit>
                        <created></created>
                        <etl></etl>
                        <status></status>
                        <storageused></storageused>
                        <transferused></transferused>
                        <userlist></userlist>
                </depot>
        </depotdata>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30132: Unknown account
  • -30136: User is not a member/manager of the account
  • -30141: Cannot create depot, not permitted by license

deletedepot

Delete a depot.

The depot is either identified by the <depot> tag, which contains a depot document, or by the <hosturl> and <depotid> tags.

The <changeuser> tag (new in version 4.0) specified the username of the user that is making the change.

The <changeinfo> tag contains a comment which will be stored in the change history of the depot.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, then the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deletedepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <changeuser></changeuser>
        <changeinfo></changeinfo>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found

updatedepot

Update a depot.

The depot is either identified by the <depot> tag, which contains a depot document, or by the <hosturl> and <depotid> tags.

A new owner of the Depot may be specified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

The <depotname> tag is optional. If specified, then the name of the depot will be updated.

The <depotreference> tag is optional. If specified, then the external reference of the depot will be updated.

The <contractnumber> tag is optional. If specified, then the contract number of the depot will be updated.

The <storagelimit> tag is optional. If specified, then the storage limit of the depot will be updated.

The <trafficlimit> tag is optional. If specified, then the traffic limit of the depot will be updated.

The <changeuser> tag (new in version 4.0) specified the username of the user that is making the change.

The <changeinfo> tag contains a comment which will be stored in the change history of the depot.

The <sendmail> tag indicates whether the user receives an email or not. If a user’s depot configuration changes due to this call, then the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>updatedepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <depotname></depotname>
        <depotreference></depotreference>
        <contractnumber></contractnumber>
        <storagelimit></storagelimit>
        <trafficlimit></trafficlimit>
        <changeuser></changeuser>
        <changeinfo></changeinfo>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found

activatedepot

Activate a depot.

The depot is either identified by the <depot> tag, which contains a depot document, or by the <hosturl> and <depotid> tags.

The <changeuser> tag (new in version 4.0) specified the username of the user that is making the change.

The <changeinfo> tag contains a comment which will be stored in the change history of the depot.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>activatedepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <changeuser></changeuser>
        <changeinfo></changeinfo>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found

deactivatedepot

Deactivate a depot.

The depot is either identified by the <depot> tag, which contains a depot document, or by the <hosturl> and <depotid> tags.

The <changeuser> tag (new in version 4.0) specified the username of the user that is making the change.

The <changeinfo> tag contains a comment which will be stored in the change history of the depot.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deactivatedepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <changeuser></changeuser>
        <changeinfo></changeinfo>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found

getdefaultdepotdata

This call returns the depot that should be used by default by the user.

In Registration Server 4.0 this is the so-called “cloud depot” which is not necessarily the depot marked as the user’s default (see below).

If the user is a member of a group, and the group has a depot, then the cloud depot is the group depot. Otherwise, if the user has a depot selected on the account level then this is the cloud depot. If not then this call returns the “selected depot” (which can be set in the Admin Console), specified at the user level.

Finally, if the user has no selected depot, then user’s default depot will be returned, but only if the user’s default depot is in-use.

The tag <includegroupdepot> (version 4.0) is optional. The default value is true. If the value is false then the user’s account and group depots is ignored.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

If the tag <forcecreate> is set to true, then this call will create a new depot if the user does not otherwise have a depot in use, even if HAS_DEFAULT_DEPOT and API_CREATE_DEFAULT_DEPOT are false. Account level settings are also overridden by this tag.

If a depot is created by this call, then the <depotreference> value will be stored as external reference to the depot.

The <sendmail> (new in version 4.0) tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, then the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getdefaultdepotdata</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <includegroupdepot>true|false</includegroupdepot>
        <forcecreate>true|false</forcecreate>
        <depotreference></depotreference>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <depotdata>
                <count></count>
                <depot>
                        <depotname></depotname>
                        <depotreference></depotreference>
                        <hosturl></hosturl>
                        <depotid></depotid>
                        <globalid></globalid>
                        <username></username>
                        <accountkey></accountkey>
                        <accountreference></accountreference>
                        <contractnumber></contractnumber>
                        <storagelimit></storagelimit>
                        <transferlimit></transferlimit>
                        <created></created>
                        <etl></etl>
                        <status></status>
                        <storageused></storageused>
                        <transferused></transferused>
                        <isowner></isowner>
                        <isdefault></isdefault>
                        <iscloud></iscloud>
                        <isaccount></isaccount>
                        <isgroup></isgroup>
                </depot>
        </depotdata>
</teamdrive>

The <status> tag contains one of the following: to-be-deleted, deleted, delete-on-server, enabled ``, ``disabled.

<isowner> (version 4.0) is set to true if the user is the owner of the depot.

<isdefault> is set to true if the depot is the user’s default depot. The default depot is the depot that was created or assigned to the user automatically when the user is first registered.

<iscloud> (version 4.0) in the <depot> block is set to true if this is the user’s “cloud depot”. In general this is the user’s group gepot if the user is a member of group with a depot, otherwise the “selected” user depot. If the user has no selected depot, then the user’s default depot.

<isaccount> (version 4.0) in the <depotdata> block is set to true if this is the depot selected at the account level. If <includegroups> is false then account depots will not be returned in the result.

<isgroup> (version 4.0) is set to true if this is the user’s Group Depot, which means the depot belongs to the user’s group. If <includegroup> is false then group depot will not be returned in the result, and the cloud depot will be either selected or the default depot.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30107: No default depot

gethostfordepot

This call returns the URL of the current default Host Server that is selected for creating Depots via the API.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>gethostfordepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <hosturl></hosturl>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30107: No default depot server

setdepotforuser

Set a Depot for a user. A user may have multiply Depots, one of which is designated as the default Depot.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The depot is either identified by the <depot> tag, which contains a depot document, or by the <hosturl> and <depotid> tags which identify an existing depot (new in version 4.0). If the depot is unknown on the Registration Server it will be fetched from the Host Server.

If the depot provided is new to the Registration Server, then <depotreference> is set as external reference to the depot.

The <changeuser> tag (new in version 4.0) specified the username of the user that is making the change.

The <changeinfo> tag contains a comment which will be stored in the change history of the depot.

If <isdefault> is set to true, then the specified depot becomes the default depot of the user.

<sendtoclient> has been deprecated in Registration Server 4.0. All changes to a user’s Depot configuration are now automatically synchronised with the TeamDrive Client.

The <sendmail> (new in version 4.0) tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, then the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setdepotforuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <depotreference></depotreference>
        <changeuser></changeuser>
        <changeinfo></changeinfo>
        <isdefault>true|false</isdefault>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found

removedepotfromuser

Remove the Depot from user. Registration Server 4.0 or later will not return an error if the Depot has already been removed.

If the removed Depot is the default Depot of the user and the user still has other Depots, then the oldest Depot becomes the new default Depot of the user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The Depot is either identified by the <depot> tag, or by the <hosturl> and <depotid> tags. The <depot> tag has the same content as specified in the setdepotforuser API call.

<sendtoclient> has been deprecated in Registration Server 4.0. All changes to a user’s Depot configuration are now automatically synchronised with the TeamDrive Client.

Set the <deletedepot> tag (default false) to true, in order to the delete the depot after removing to from the user. Note that this tag will be ignored if the depot is not in use by the user.

The <changeuser> tag (new in version 4.0) specified the username of the user that is making the change.

The <changeinfo> tag contains a comment which will be stored in the change history of the depot.

The <sendmail> (new in version 4.0) tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, then the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removedepotfromuser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <changeuser></changeuser>
        <changeinfo></changeinfo>
        <deletedepot>true|false</deletedepot>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

syncdepotdata

Synchronise the Depot information with the Host Server and the user’s TeamDrive Clients.

This call is available in Registration Server 4.0 or later and is used to manually synchronise a user’s Depot with the Host Server, and to update the user’s Depot configuration on client devices.

This function ensures that the user access list of the Depot on the Host Server is identical to that of the Registration Server. In previous of the Registration Server it was possible that the access list was not synchronised because changes made via the API were not automatically sent to the Host Server, as they are not done in version 4.0.

This function will also send Depot documents to all TeamDrive Client installations of the user that have access to the Depot.

If the <nosync> (default false) is set to true then the function will only send the depot configuration to the users of the specified user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The Depot is either identified by the <depot> tag, or by the <hosturl> and <depotid> tags. The <depot> tag has the same content as specified in the setdepotforuser API call.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>syncdepotdata</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <nosync>true|false</nosync>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found

getdepotdata

Retrieve current information of a Depot. This call is available in Registration Server 4.0 or later.

The function calls the Host Server to update the Depot information held by the Registration Server if it is older than 30 minutes.

The Depot is either identified by the <depot> tag, or by the <hosturl> and <depotid> tags. The <depot> tag has the same content as specified in the setdepotforuser API call.

If the <includechanges> tag (default false) is set to true then this function also returns the change history of the depot.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, then the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getdepotdata</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <includechanges>true|false</includechanges>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <depotdata>
                <depot>
                        <depotname></depotname>
                        <depotreference></depotreference>
                        <hosturl></hosturl>
                        <depotid></depotid>
                        <globalid></globalid>
                        <username></username>
                        <accountkey></accountkey>
                        <accountreference></accountreference>
                        <contractnumber></contractnumber>
                        <storagelimit></storagelimit>
                        <transferlimit></transferlimit>
                        <created></created>
                        <etl></etl>
                        <status></status>
                        <storageused></storageused>
                        <transferused></transferused>
                        <userlist></userlist>
                        <lastfetchtime></lastfetchtime>
                        <changelist>
                                <change>
                                <whatchanged></whatchanged>
                                <changedate></changedate>
                                <changeid></changeid>
                                <changedetails></changedetails>
                                </change>
                                <change>...</change>
                                <change>...</change>
                        </changelist>
                </depot>
        </depotdata>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found

sendinvitation

Note

This function is deprecated in Registration Server 4.0 and no longer performs the function as previously described. The call will be removed in future versions of the server. Please use the “syncdepotdata” API call instead of this function.

Prior to version 4.0 of the Registration Server, this function sent the invitation message provided to the speciied user device.

With version 4.0 of the server it is no longer possible to distribute arbitrary Depot documents with this function. Instead, a Depot document must be added to a user using the “setdepotforuser” API call, and then the Depot will be automatically sent to the user’s devices by the server.

In Registration Server 4.0 this call ignores the <invitation> and <type> tags, and simply triggers the Depot distribution mechanism for the specified device.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The contents of the invitation must be base64 encoded and placed in the <invitation> tag.

The <type> tag may be set to either INV_TYPE_CREATEDEPOT or INV_TYPE_DELETEDEPOT

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>sendinvitation</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <userlist></userlist>
        <type></type>
        <invitation></invitation>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30111: Invitation type unknown

setinviteduser

This function is used in the context of the referral program. (see INVITATION Settings). It specifies that <inviteduser> was invited by the user identified by one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<inviteduser> must be a username.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setinviteduser</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <inviteduser></inviteduser>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30108: Invited user can not be found
  • -30209: Increase user storage failed

createlicense

Create a license. You may optionally specify a user or account as owner of the license. The specified user becomes the owner of the license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

If the user has no default license, then the created license will be set to the user’s default license.

In version 4.0 or later, the license can be assigned to an account by specifying an account use the <accountkey> or <accountreference> tag.

Other input parameters to the call are as follows:

  • <productname>: May be either server or client. Should always be set to client.
  • <type>: Either permanent, monthly, yearly or nfr (not for resale). one-off-trial and 1-year-professional cannot be set via the API.
  • <featurevalue>: A comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice, inbox and agent. Since version 3.6.3 the integer values of the features added together may be specified in place of the text values.
  • <limit>: The number of users that may use the license, “0000” mean unlimited, but may only be used with server type licenses.
  • <licensereference>: An optional external reference (free text field with 100 characters) that can be use to identify the license at a later point.
  • <email>: This is the holder email address of the license. This email address is used to notify the holder of the license of changes to the license, of the license does have an specific owner (a specific user). This value is required if an owner is not specified.
  • <language>: This is the language to be used when sending emails to the holder email address.
  • <contractnumber>: An optional value which may contain any external data relavent to the license (free text field with 255 characters).
  • <validuntil>: This specifies an expiry date for the license, the date format used is “YYYY-MM-DD” (“MM/DD/YYYY” will also be accepted).
  • <changeid>: An optional text which will be recorded in the change history of the license.
  • The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>createlicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <productname></productname>
        <type></type>
        <featurevalue></featurevalue>
        <limit></limit>
        <licensereference></licensereference>
        <contractnumber></contractnumber>
        <email></email>
        <language></language>
        <validuntil></validuntil>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <licensedata>
                <licensekey></licensekey>
        </licensedata>
        <intresult>0</intresult>
</teamdrive>

The <licensekey> tag in the <licensedata> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30132: Unknown account
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30129: Specify either an account or a user as owner of the license
  • -30203: Productname unknown
  • -30204: Type unknown
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30122: Invalid date
  • -30110: Holder email invalid / required
  • -30115: Invalid language
  • -30125: License creation of the given type is not permitted
  • -30127: License with reference already exists

Error -30125 is generated if <type> is one-off-trial or 1-year-professional.

createlicensewithoutuser

This call has been deprecated in version 4.0. It is now identical to the createlicense call.

assignusertolicense

This call sets the owner of a license to a particular user. If it is the first license to be owned by the user, then it is set to the default license of the user, unless <isdefault> (new in Registration Server version 4.0 or later) is set to false.

Note

This function does not set the license used by the user. This is done using assignlicensetoclient.

If createlicensewithoutuser was used, then this call can be used to specify the owner of the license. If the license is already owned by another user or an account, then a -30211 error will be returned.

You can set the <removecurrentuser> tag to true (false by default) to automatically remove the previous owner (this feature is new in version 4.0).

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>assignusertolicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <removecurrentuser>true|false</removecurrentuser>
        <isdefault>true|false</isdefault>
        <changeid></changeid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license
  • -30214: License deleted
  • -30211: License already owned by another user or account

assignlicensetoclient

This call sets the license used by a user. The license need not belong to the user.

Note

This function does not set the owner of the license. This can be done using the assignusertolicense call.

Since version 3.6.0 a license can be assigned to a user even when the user has no TeamDrive Client installations.

The <devicelist> tag was removed in version 3.6.0, and will be ignored.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>assignlicensetoclient</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license
  • -30214: License deleted
  • -30213: License disabled
  • -30212: License has expired
  • -30211: License exceeded permitted usage

removeuserfromlicense

Call this function to remove the owner of a license. This is the complement to the assignusertolicense call which sets the owner of a license. The call also removes the license from all groups.

Note

This call does not change the license usage (see assignlicensetoclient call).

The current owner is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Specifying a user is optional in version 3.6.3 or later. If not specified the call will remove the current license owner. If a user is specified and the user is not the owner of the license a -30201 error is returned. Note that versions 3.6.0 and 3.6.1 incorrectly removed the owner from the license regardless of which user was specified.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removeuserfromlicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license

deactivatelicense

Deactivate a license specified by <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

If the license is already deactivated, this call will be ignored (version 3.6.3).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deactivatelicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Errors returned by this call include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted

Error -30210, is no longer returned by version 3.6.3.

activatelicense

Activate a license specified by <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

If the license is not deactivated, this call will be ignored (version 3.6.3).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>activatelicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Errors returned by this call include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted

Error -30210, is no longer returned by version 3.6.3.

deletelicense

Delete a license specified by <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

This function is available since version 3.5.0.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deletelicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license

upgradelicense

Upgrade a license specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

A user may be identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

Specifying a user is optional.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

<featurevalue> is a comma separated list of the following values: webdavs, professional, secureoffice, agent, inbox and restricted. Since version 3.6.3 the integer values of the features added together may be specified in place of the text values. This tag is optional when creating the first license belonging to a user (i.e. the user’s default license).

As of version 4.1 the features: banner and personal are no longer supported and will result in a -30205 error.

The <limit> tag is optional. If specified the usage limit of the license is increased by the given amount.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>upgradelicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <featurevalue></featurevalue>
        <limit></limit>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license
  • -30214: License deleted
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30202: License upgrade failed

The -30202 should not occur because it is the result of an internal Registration Server error.

upgradedefaultlicense

Upgrade the feature set of a default license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <featurevalue> tag is optional. If specified the features are added to the license.

<featurevalue> is a comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice, inbox and agent. The integer values of the features added together may be specified in place of the text values.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>upgradedefaultlicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <featurevalue></featurevalue>
        <changeid></changeid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license
  • -30214: License deleted
  • -30205: Feature unknown

downgradelicense

Downgrade a license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

Specifying a user is optional.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <featurevalue> tag is optional. If specified the features are removed from the license.

<featurevalue> is a comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice, inbox and agent. Since version 3.6.3 the integer values of the features added together may be specified in place of the text values.

The <decreaselimit> tag is optional. If specified the usage limit of the license is decreased by the given amount.

<forcedecrease> is optional, the default value is false. If false the downgrade may faile because the license usage will exceed the new usage limit (see error -30208 below).

If <forcedecrease>``is  set to ``true, then users using the license will be removed from the license, so that downgrad is possible. Removing the license from a users will begin with the oldest active user. This will only be done as far as it is required to ensur that the usage limit of the license is not exceeded.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>downgradelicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <featurevalue></featurevalue>
        <decreaselimit></decreaselimit>
        <forcedecrease>true|false</forcedecrease>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license
  • -30214: License deleted
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30208: Downgrade not possible

The error -30206 occurs if the <decreaselimit> value causes an invalid usage limit for the license.

The -30208 error can occur if the downgrade is not forced (<forcedecrease>) and the number of users will exceed the usage limit.

downgradedefaultlicense

Downgrade the default license of a user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The <featurevalue> tag is optional. If specified the features are removed from the license.

<featurevalue> is a comma separated list of the following values: webdavs, personal, professional, restricted, banner, secureoffice, inbox and agent. The integer values of the features added together may be specified in place of the text values.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>downgradedefaultlicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <featurevalue></featurevalue>
        <changeid></changeid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license
  • -30214: License deleted
  • -30205: Feature unknown

getusedlicense

Get a list of licenses. You must either specify a user or a license, or both.

If a user is specified, this function will return a list of licenses belonging to the user. If a license is specified, the the result will be limited to the specified license.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

A license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

This call also returns deleted licenses.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getusedlicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <licensedata>
                <license>
                        <created></created>
                        <productid></productid>
                        <productname></productname>
                        <type></type>
                        <licensekey></licensekey>
                        <licensereference></licensereference>
                        <featurevalue></featurevalue>
                        <featuretext></featuretext>
                        <validuntil></validuntil>
                        <limit></limit>
                        <used></used>
                        <status></status>
                        <isdefault></isdefault>
                        <isgroup></isgroup>
                        <licenseemail></licenseemail>
                        <userlist></userlist>
                </license>
                <license>...</license>
                ...
        </licensedata>
</teamdrive>

<userlist> is a comma separated list of usernames of the users that are using the license.

The <licensekey> tag in the <license> block is new in version 3.5.10. The <number> tag was previously used to return the license key number. This tag is still present, but is deprecated and will be removed in a future version of the Registration Server.

The <licensereference> tag returned in the <license> block is new in version 3.6.3.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: No license data found

Note that this function will never return an empty list. If no license data is found the -30201 error is generated.

setlicensereference

Set the license reference of the license specified by <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

<newlicensereference> specifies the new license (version 3.6.3).

If <newlicensereference> is missing, then the new reference is specified by <licensereference> and <licensekey> must be used to identify the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensereference</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <newlicensereference></newlicensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted
  • -30127: License with reference already exists

removelicense

This call removes the license in use by the user. It undoes the work done by the assignlicensetoclient call.

To remove a license you must be the Provider of the user, or of the license to be removed.

An attempt to remove a user’s default license is ignored. If the license is not in use by the user this function will also be ignored.

When a license is removed, the user’s license is set to the default license for that user. This may either be a default license created specifically for the user, or a default license specified for all users of a Provider (see DEFAULT_LICENSEKEY).

The user is specified by either <username>, <useroremail>, <reference> or <authid>.

The license is specified by <licensekey> or <licensereference>.

The <devicelist> tag was removed in version 3.6.0, and will be ignored.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removelicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Errors returned by this call include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30201: Unknown license
  • -30217: Cannot remove the user’s default license/provider default license
  • -30218: License is used by the group of the user and cannot be removed

cancellicense

Deactivate a license and reduce the number the license usage limit. Use the deletelicense call to actually delete the license.

Previous to version 3.5.0, this function deleted the license.

The <decreaselimit> specifies the amount by which the license usage limit should be reduced. If this value should be set to “0” in order for the license to be actually deactivated.

If <decreaselimit> is set to a positive value, the license is not deactivated and the function behaves like the downgradelicense call, with <forcedecrease> set to false.

If a user is specified, then the license must belong to the specified user.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>cancellicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <decreaselimit></decreaselimit>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30201: Unknown license
  • -30214: License deleted
  • -30205: Feature unknown
  • -30206: Limit unknown or invalid
  • -30207: Cancel license failed

The error -30207 is generated if usage limit of the license is to be set below the current usage of the license.

setdistributor

Set the Provider of a user.

This function can only be accessed by the Default Provider or by Providers which are managed by a super provider.

The <newdistributor> tag specifies the new Provider of the user.

<depotreference> (version 4.0) is used if a new depot is created after the user’s Provider has been changed.

<licensereference> is used if a new license must be created after the user’s Provider has been changed.

Note that prior to version 3.5.2 this function could not handle more that one Depot, in case <switchdepot> was set to true.

The <sendmail> (new in version 4.0) tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, then the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setdistributor</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <newdistributor></newdistributor>
        <switchdepot>true|false</switchdepot>
        <switchlicense>true|false</switchlicense>
        <depotreference></depotreference>
        <licensereference></licensereference>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30127: License with reference already exists

setcapability

Add or remove user capabilities.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

<action> must be set to either set or unset.

<capability> may be one of the following: keyrepository, newsletter, mailbounced or webportal.

The webportal setting was added in version 3.6.0.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setcapability</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <action>set|unset</action>
        <capability></capability>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30125: Action must be set or unset
  • -30204: Unknown capability

wipedevice

Wipe a user device. All TeamDrive data will be removed from the Device.

Note

This operation is permanent and cannot be undone.

The user is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid> (see Identifying Users for details).

<devicelist> is an optional list of device IDs of the user. If empty, all devices of the user will be wiped.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>wipedevice</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <devicelist></devicelist>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail

setlicensecontract

Set license contract value of a license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensecontract</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <contractnumber></contractnumber>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted

setlicenseemail

Set the holder email address of the license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicenseemail</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <email></email>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted
  • -30110: Holder email invalid / required

setlicensefeatures

Set the features of a license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicenselanguage</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <language></language>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted
  • -30205: Feature unknown

setlicenselanguage

Set the language of the license holder.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicenselanguage</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <language></language>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted
  • -30115: Invalid language

setlicensetype

Set the type of a license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <type> tag may be set to one of the following: permanent, monthly, yearly or nfr (not for resale). one-off-trial and 1-year-professional cannot be set via the API.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensetype</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <type></type>
        <changeid></changeid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted
  • -30204: Type unknown
  • -30125: License creation of the given type is not permitted

Error -30125 is generated if <type> is one-off-trial or 1-year-professional.

setlicensevaliduntil

Set a license expiry date.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <validuntil> tag must be set to a valid date in the future. the date format used is “YYYY-MM-DD” (“MM/DD/YYYY” will also be accepted).

Set <validuntil> to remove if you want to remove the expiry date.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

The <sendmail> tag specifies whether the owner should be notified via email of the license change (default false). If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensevaliduntil</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <validuntil></validuntil>
        <changeid></changeid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted
  • -30122: Invalid date

resetlicensepassword

This call resets the password of a license and sends an email using the template “web-newlicensepassword” with a temporary password to the license holder email.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <sendmail> tag specifies whether the owner should be notified via email of the license change. Note: unlike other API calls that change license data the default value for <sendmail> tag is true.

If the license has no owner, then the license holder email will be used (if this exists). A change notification email is always sent to the provider of the license using the License email address of the provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>resetlicensepassword</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted

setlicensepassword

This call sets a new password for a license.

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <tmppassword> tag must be set to the temporary password sent by the resetlicensepassword call.

<password> is set to the new password.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setlicensepassword</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <tmppassword></tmppassword>
        <password></password>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted
  • -30101: Wrong or invalid password

changelicensepassword

This call changes the password of a license (available since version 3.5.1).

The license is specified using <licensekey> (<licensenumber> before version 3.5.10) or <licensereference> (as of version 3.6.0).

The <password> tag must be set to the current password of the license. <newpassword> is set to the new password.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>changelicensepassword</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <password></password>
        <newpassword></newpassword>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30201: Unknown license
  • -30214: License deleted
  • -30101: Wrong or invalid password

sendtemplatemail

Send a template based email to a user or other recipient.

This API call is available since version 3.6.0.

A user may be identified by on one of the following tags: <username>, <useroremail>, <reference> or <authid>. Specifying the user in this manner is optional.

Alternatively, you can specify the recipient email address using the <recipient> tag. <recipient> may also be set to support to send an email to the user specified by the SUPPORT_EMAIL Provider setting (see SUPPORT_EMAIL).

<template> specifies the name of a standard email template.

<language> is optional, if not specified, the language of the user or Provider will by used.

Set <sender> to the email address of the sender or user to indicate that the user or Provider’s email address should be specified as the sender of the email.

Set the <test> tag to true in order to test certain standard templates. The default is false.

<fields> specifies a list of custom fields for the email template. The values listed here replace the associated field values in the email template. For example, the value in the <contact-person> tag will replace the [[CONTACT-PERSON]] field in the email template.

These values override any values that have been retrieved for a user or Provider.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>sendtemplatemail</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <template></template>
        <language></language>
        <sender></sender>
        <recipient></recipient>
        <test>true|false</test>
        <origin></origin>
        <fields>
                <os></os>
                <version></version>
                <license-type></license-type>
                <device-name></device-name>
                <usb></usb>
                <registration-email></registration-email>
                <contact-person></contact-person>
                <contact-email></contact-email>
                <contact-tel></contact-tel>
                <description></description>
                ...
        </fields>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Error results include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30216: Template not found: [template]
  • -30110: Provider setting <recipient>_EMAIL is not specified
  • -30110: No email address specified

createaccount

This call creates an account (available since version 4.0).

The <accountcode> tag must contains a 4-character uppercase code. This code is used to generate the account key which has the following format: [provider_code]-[account_code]-9999, where 9999 is a random 4-digit number generated by the Registration Server to ensure that the account key is unique.

The account key created by the Registration server is returned in the <accountkey> tag in the reply.

<accountreference> is an optional external identifier of the account. Both the account key and the account reference must be globally unique.

The optional <manager> tag specifies the username of the manager of the account.

The optional <memberlist> tag may be used to specify the first members of the account. <memberlist> is a comma separated list of usernames.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>createaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountcode></accountcode>
        <accountreference></accountreference>
        <manager></manager>
        <memberlist></memberlist>

</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <account>
                <accountkey></accountkey>
        </account>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30129: Account number not specified
  • -30133: Account key already exists
  • -30127: Account reference already exists
  • -30135: User is already a member of another account

updateaccount

Update an account (available since version 4.0). The account to be update must specified using the <accountkey> or <accountreference> tag.

The clientsettings tag is required. This specifies the new client level settings for all users of the account.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>updateaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <clientsettings></clientsettings>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30129: Account key or reference not specified
  • -30132: Unknown account

deleteaccount

Delete an account (available since version 4.0). The account to be deleted must specified using the <accountkey> or <accountreference> tag.

The <sendmail> tag indicates whether the user receives an email or not. If a user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deleteaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30129: Account key or reference not specified
  • -30132: Unknown account

addusertoaccount

Add a user to an account (available since version 4.0). The account must specified using the <accountkey> or <accountreference> tag.

The user to be added to the account is specified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<accountprivileges> may either be set to member, manager or member,manager (to add a user as both member and manager).

A user may be a manager of several accounts, but may be a member of only one account.

The tag <removemembership> (new in version 4.1.1) specifies whether the user’s current account membership should be removed before adding the user as a member to a new account.

By default the value of this value is false. In this case, an error occurs if the user is added as a member of an account, and is already a member of some other account.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>addusertoaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <accountprivileges>member|manager</accountprivileges>
        <removemembership>true|false</removemembership>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30129: Account not specified or incorrect privileges
  • -30132: Unknown account
  • -30135: User already a member of another account
  • -30201: Unknown license
  • -30214: License deleted
  • -30213: License disabled
  • -30212: License has expired
  • -30211: License exceeded permitted usage

inviteusertoaccount

Invite a user to an account via email. This function was added in Registration Server version 4.5. The account must specified using the <accountkey> or <accountreference> tag.

The user to be invited to the account is specified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<accountprivileges> may either be set to member, manager or member,manager. A user may be a manager of several accounts, but may be a member of only one account.

This call will send the “account-manager-invitation” or “account-member-invitation” email template depending on the type of invitation. The user is provided with links in the email to either accept or reject the invitation.

Pending invitations can be removed (before they are accepted) by removing the invited user from the account. If a user rejects an invitation 3 times the user cannot be invited to the account again.

The <messagetext> tag can be used to place an invitation text from the inviting user in the email.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>inviteusertoaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <accountprivileges></accountprivileges>
        <messagetext></messagetext>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30129: Account not specified or incorrect privileges
  • -30132: Unknown account
  • -30135: User already a member of another account
  • -30114: Invited user does not belong to account provider
  • -30201: Unknown license
  • -30214: License deleted
  • -30213: License disabled
  • -30212: License has expired
  • -30211: License exceeded permitted usage

removeuserfromaccount

Remove a user from an account (available since version 4.0). The account must specified using the <accountkey> or <accountreference> tag.

The user to be removed from the account is specified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

If the user is not a member of the account, no error occurs.

You can specify what account privileges should be removed from the user using the <accountprivileges> tag. Any comma separated list of member, manager or guest, is allowed. If not specified, the user is removed from the account completely.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removeuserfromaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <accountprivileges>member|manager|guest</accountprivileges>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

assignaccounttolicense

This call sets the owner of a license to an account. If the license is already owned by a user that is not a member (or manager) of the account, then a -30211 error will be returned.

If the license is owned by a user of the account, then the license may only be transfered to the account if the license is either not the owner’s default license, or the license has a usage limit greater than one.

The account must specified using the <accountkey> or <accountreference> tag. The license is specified using <licensekey> or <licensereference>.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>assignaccounttolicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30129: Account not specified
  • -30132: Unknown account
  • -30201: Unknown license
  • -30214: License deleted
  • -30211: License already owned by another user or account

removeaccountfromlicense

Call this function to remove the ownership of a license by an account. This is the complement to the assignaccounttolicense call which sets the owner of a license to an account. The call also removes the license from all groups.

The account may specified using the <accountkey> or <accountreference> tag. Specifying an account is optional. If the account is specified, then the account must be the owner of the account or a -30201 error is returned.

The license is specified using <licensekey> or <licensereference>.

The <changeid> tag is an optional text that will be recorded in the change history of the license.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removeaccountfromlicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <changeid></changeid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30132: Unknown account
  • -30201: Unknown license

setdepotaccount

Set the account of a depot. A depot may only belong to one account.

The account must specified using the <accountkey> or <accountreference> tag.

The depot is either identified by the <depot> tag, which contains a depot document, or by the <hosturl> and <depotid> tags which identify an existing depot. If the depot is unknown on the Registration Server it will be fetched from the Host Server.

If the depot provided is new to the Registration Server, then <depotreference> is set as external reference to the depot.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setdepotaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <depotreference></depotreference>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30129: Account not specified
  • -30132: Unknown account
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found
  • -30134: Depot already has an account

removedepotaccount

Remove the account of a Depot. This function will not return an error if the depot account has already been removed.

The account may be specified using the <accountkey> or <accountreference> tag. If specified, then the account must match the current account of the depot or a -30124 error will be returned.

The depot is either identified by the <depot> tag, which contains a depot document, or by the <hosturl> and <depotid> tags which identify an existing depot.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removedepotaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30132: Unknown account
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found or does not belong to the account

setgroupaccount

Set the account of a group. A group may only belong to one account.

The account must specified using the <accountkey> or <accountreference> tag.

The group must be specified using the <groupreference> tag.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setgroupaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <groupreference></groupreference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30130: Unknown group or the group does not belong to the provider
  • -30129: Group or Account reference not specified
  • -30132: Unknown account
  • -30134: Depot already has an account

removegroupaccount

Remove the account of a group. If the group already has no account, then this call is ignored.

The account may be specified using the <accountkey> or <accountreference> tag. If specified and the account does not match the group’s account then error -30130 is returned.

The group must be specified using the <groupreference> tag.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removegroupaccount</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <groupreference></groupreference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30132: Unknown account
  • -30130: Unknown group or the group does not belong to the account

getaccountdata

Return data about an account.

The account must be specified using the <accountkey> or <accountreference> tag.

Use the optional <settings> tag to retrieve Registration Server and provider settings, by specifying a comma separated list of settings names (Registration Server 4.5.1 or later). If included the result will contains a <settings> block with the names (as tags) and values of the settings (see getsettings for further details).

The tag <includemembers> is optional, and is true by default. If set to true the list of account members (<memberlist> block) will be included result.

The tag <includegroups> is optional, and is true by default. If set to true the list of account groups (<grouplist> block) will be included result.

The tag <includedepots> is optional, and is true by default. If set to true the list of account depots (<depotlist> block) will be included result.

The tag <includelicenses> is optional, and is true by default. If set to true the list of account licenses (<licenselist> block) will be included result.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getaccountdata</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <accountkey></accountkey>
        <accountreference></accountreference>
        <settings>ClientSettings,CLIENT_SETTINGS,..</settings>
        <includemembers>true|false</includemembers>
        <includegroups>true|false</includegroups>
        <includedepots>true|false</includedepots>
        <includelicenses>true|false</includelicenses>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <settings>
                <ClientSettings>...</ClientSettings>
                <CLIENT_SETTINGS>...</CLIENT_SETTINGS>
                ...
        </settings>
        <account>
                <distributor></distributor>
                <accountkey></accountkey>
                <accountreference></accountreference>
                <created></created>
                <clientsettings></clientsettings>
                <memberlist>
                        <member>
                                <username></username>
                                <email></email>
                                <privileges></privileges>
                                <username></username>
                                <jointime></jointime>
                        </member>
                        <member>...</member>
                        ...
                </memberlist>
                <grouplist>
                        <group>
                                <distributor></distributor>
                                <groupname></groupname>
                                <groupreference></groupreference>
                                <grouptype>provider|user</grouptype>
                                <manager></manager>
                                <manageremail></manageremail>
                                <groupcreated></groupcreated>
                                <groupmodified></groupmodified>
                        </group>
                        <group>...</group>
                        ...
                </grouplist>
                <depotlist>
                        <depot>
                                <depotname></depotname>
                                <depotreference></depotreference>
                                <hosturl></hosturl>
                                <depotid></depotid>
                                <globalid></globalid>
                                <username></username>
                                <contractnumber></contractnumber>
                                <storagelimit></storagelimit>
                                <transferlimit></transferlimit>
                                <created></created>
                                <etl></etl>
                                <status></status>
                                <storageused></storageused>
                                <transferused></transferused>
                        </depot>
                        <depot>...</depot>
                        ...
                </grouplist>
                <licenselist>
                        <license>
                                <created></created>
                                <productid></productid>
                                <productname></productname>
                                <type></type>
                                <licensekey></licensekey>
                                <licensereference></licensereference>
                                <featurevalue></featurevalue>
                                <featuretext></featuretext>
                                <validuntil></validuntil>
                                <limit></limit>
                                <used></used>
                                <status></status>
                                <isdefault>true|false</isdefault>
                                <isgroup>true|false</isgroup>
                                <licenseemail></licenseemail>
                        </license>
                        <license>...</license>
                        ...
                </licenselist>
        </account>
</teamdrive>

The <privileges> tag in the <memberlist>, is the privilege level and status of the user in the account. This is a comma separated list of the following:

  • member: the user is regular member of the account.
  • manager: the user is a manager of the account.
  • guest: the user has been invited to join a space by a member of the account. This status cannot be combined with other privileges.
  • invited: the user has been invited to join the account by a manager if the account. This status is combined with member and manager to indicate with which privilege the user has been invited.
  • invitation-rejected: the manager invitation has been rejected by the user.

Only users with the member status that are not invited or invitation-rejected are actual members of the account.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30132: Unknown account
  • -30129: Account not specified

creategroup

This call creates a group (available since version 4.0).

The manager of the group is identified using one of the following tags: <username>, <useroremail>, <reference> or <authid>.

<groupname> is the name or title of the group that is used for display purposes. <groupreference> is a Registration Server wide unique identifier for the group. <grouptype> may either be provider or user. A provider group may only be managed in the Admin Console. A user group may also be administrated by the group manager in the Group Management Portal.

The <clientsettings> are added to the user’s Client Settings as specified by the CLIENT_SETTINGS Provider Setting (see CLIENT_SETTINGS). The group Client Settings take priority over the Provider values.

You may specify a license to be assigned to the group using the <licensekey> or <licensereference> tags. The license must belong to the group manager. When a license is assigned to a group, all members of the group are considered to be using the license whether they have accepted the invitation or not.

A depot may also be set for the group by specifying a depot document in the <depot> tag, or by using the <hosturl> and <depotid> tags to identify an existing depot belonging to the group manager.

If the depot specified with the <depot> tag is new, then <depotreference> will be set as the external reference to the depot.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>creategroup</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <groupname></groupname>
        <groupreference></groupreference>
        <grouptype>provider|user</grouptype>
        <clientsettings></clientsettings>
        <licensekey></licensekey>
        <licensereference></licensereference>
        <depot></depot>
        <hosturl></hosturl>
        <depotid></depotid>
        <depotreference></depotreference>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30129: Required parameters not specified
  • -30204: Invalid group type
  • -30201: Unknown license or does not belong to the group manager
  • -30214: License deleted
  • -30213: License disabled
  • -30212: License has expired
  • -30127: Group with given reference already exists
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found or does not belong to the user

deletegroup

This call deletes a group (available since version 4.0). The group to be deleted is specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>deletegroup</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the Provider or user
  • -30129: Group reference not specified
  • -30130: Unknown group or the group does not belong to the provider or user

inviteusertogroup

Invite a user to a group (available since version 4.0). The group must be specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

<inviteduser> is the username of the user to be invited.

Invited users are sent an email which contains two links. One link is used to join the group, and the other may be used to reject the invitation. If an invitation is rejected 3 times, a user may no longer be invited.

The <invitetype> tag specifies if the user should be invited as a member or a friend. The default is member.

Users can only be a member of one group (but can be a friend of any number of groups). This means that if a user accepts an invitation as a member, then the user will be removed as a member from any other group. In this case, the user’s status in that group reverts to invited-as-member.

If invited as a member and the group has a license then the user is considered to be using the license even if the user has not accepted the invitation.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>inviteusertogroup</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <inviteduser></inviteduser>
        <invitetype>member|friend</invitetype>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the provider or user
  • -30108: Invited user unknown or does not belong to the provider
  • -30131: The user cannot be invited because invitation was rejected too many times
  • -30129: Group reference not specified, Unknown invitation type:, Unknown membership status:

removeuserfromgroup

Remove a user from a group (available since version 4.0) or cancel an invitation to a group. The group must be specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

<removeuser> is the username of the user to be removed.

No error occurs if the user has already been removed from the group, or is not a member of the group. Removing a user from a group will reduce the usage of any license used by the group accordingly.

The number of times a user has rejected invitation to the group is not reset by removing the user from the group.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removeuserfromgroup</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <removeuser></removeuser>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the provider or user
  • -30108: Removed user unknown or does not belong to the provider
  • -30129: Group reference not specified

setgrouplicense

Set the license used by users of a group (available since version 4.0). The group must be specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

The license to be assigned to the group must be specified using the <licensekey> or <licensereference> tags. The license must belong to the manager of the group. Setting the group license will automatically remove any previously assigned licensed.

All members of the group will be counted as users of the users of the license. If the license has insufficient usages available, then an error will occur.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setgrouplicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <licensekey></licensekey>
        <licensereference></licensereference>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the provider or user
  • -30201: Unknown license or does not belong to the group manager
  • -30214: License deleted
  • -30213: License disabled
  • -30212: License has expired
  • -30211: License exceeded permitted usage
  • -30129: Group reference not specified
  • -30212: Group license may not have an expiry date

removegrouplicense

Remove the group license (available since version 4.0). The group must be specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

If the group has a license it will be removed from the group. All members of the group revert to using their own default license.

The license is only removed from the group, not from the list of licenses belonging to the manager.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removegrouplicense</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the provider or user
  • -30129: Group reference not specified

setgroupdepot

Set the depot for a group (available since version 4.0). The group must be specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

The depot to be set is specified as a depot document using the <depot> tag, or by specifying the <hosturl> and <depotid> tags to identify an existing depot belonging to the group manager.

If the depot specified with the <depot> tag is new, then <depotreference> will be set as the external reference to the depot.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setgroupdepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <depot></depot>
        <depotreference></depotreference>
        <hosturl></hosturl>
        <depotid></depotid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the provider or user
  • -30123: Depot document/identifiers missing or invalid
  • -30124: Depot not found or does not belong to depot manager
  • -30129: Group reference not specified

removegroupdepot

Remove the Group Depot (available since version 4.0). The group must be specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

The depot is only remove from the group, not from the list of depots belonging to the manager.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removegroupdepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the provider or user
  • -30129: Group reference not specified

userjoinedgroup

This call can be used to confirm that a user that has been invited to a group, has accepted the invitation. In other words, it performs the function that would normally be done by the user when he clicks on the “accept link” in the group invitation email.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

If the user was invited as a member of the group then the user will become a member of the group, and if the user was invited as a friend, then the user becomes a friend of the group.

If the user is already a member of the group, this call will not change the user’s status in the group.

The <activationcode> tag is required and must match the activation code sent in the email inviting the user to join the group.

The <sendmail> tag indicates whether the user receives an email or not. If the user’s depot configuration changes due to this call, the user will be sent a depotchanged email. If the tag is omitted the default depends on a number of factors described here: The <sendmail> tag.

The <origin> tag is new version 4.0 and is described here: loginuser.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>removegroupdepot</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <activationcode></activationcode>
        <sendmail>true|false</sendmail>
        <origin></origin>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30106: Unknown or incorrect activation code
  • -30131: User cannot join group, already rejected membership
  • -30129: Group reference not specified
  • -30130: Unknown group or the group does not belong to the provider or user

setgroupclientsettings

Set the client settings for a group (available since version 4.0). The group must be specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

The Client Settings specified using the <clientsettings> tag are added to the Client Settings for every member of the group. The Client Settings specified by the CLIENT_SETTINGS Provider Setting continue to apply but the group setting values take priority.

For a complete list of allowed settings see chapter Login and Registration Client Settings

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>setgroupclientsettings</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
        <clientsettings></clientsettings>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <intresult>0</intresult>
</teamdrive>

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the provider or user
  • -30129: Group reference not specified

getgroupdata

Return the details of a group (available since version 4.0). The group must be specified using the <groupreference> tag.

The group manager may be specified in the request using one of the following tags: <username>, <useroremail>, <reference> or <authid>. Error -30130 will occur if the specified user is not the manager of the group.

An error will occur if the group does not belong to the calling provider or the specified group manager.

Request:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <command>getgroupdata</command>
        <requesttime></requesttime>
        <distributor></distributor>
        <groupreference></groupreference>
        <username></username>
        <useroremail></useroremail>
        <reference></reference>
        <authid></authid>
</teamdrive>

Reply:

<?xml version='1.0' encoding='UTF-8' ?>
<teamdrive>
        <regversion></regversion>
        <group>
                <distributor></distributor>
                <groupname></groupname>
                <groupreference></groupreference>
                <grouptype>provider|user</grouptype>
                <manager></manager>
                <manageremail></manageremail>
                <groupcreated></groupcreated>
                <groupmodified></groupmodified>
                <groupdepot>
                        <depotname></depotname>
                        <depotreference></depotreference>
                        <hosturl></hosturl>
                        <depotid></depotid>
                        <globalid></globalid>
                        <username></username>
                        <accountkey></accountkey>
                        <accountreference></accountreference>
                        <contractnumber></contractnumber>
                        <storagelimit></storagelimit>
                        <transferlimit></transferlimit>
                        <created></created>
                        <etl></etl>
                        <status></status>
                        <storageused></storageused>
                        <transferused></transferused>
                </groupdepot>
                <licensekey></licensekey>
                <licensereference></licensereference>
                <clientsettings></clientsettings>
                <memberlist>
                        <member>
                                <username></username>
                                <email></email>
                                <memberstate></memberstate>
                                <rejectcount></rejectcount>
                                <invitetime></invitetime>
                                <modifytime></modifytime>
                                <activationcode></activationcode>
                        </member>
                        <member>
                                <username></username>
                                <email></email>
                                <memberstate></memberstate>
                                <rejectcount></rejectcount>
                                <invitetime></invitetime>
                                <modifytime></modifytime>
                                <activationcode></activationcode>
                        </member>
                        ...
                </memberlist>
        </group>
</teamdrive>

The <group> block includes the following fields:

  • <distributor>: The Provider Code of the group.
  • <groupname>: The name or title of the group. The name is not unique and is used for display purposes.
  • <groupreference>: The Registration Server wide unique identifier of the group. All groups must have a unique reference.
  • <manager>: The username of the group manager.
  • <manageremail>: The email address of the group manager.
  • <groupcreated>: The date of group creation.
  • <groupmodified>: The time of the last change to the group.
  • <groupdepot>: This block contains a reference to the depot of the group. This value is optional.
  • <licensekey>: The license key of the group license. This value is optional. If the group has a license, all members of the group will use the group license instead of one other their own licenses.
  • <licensereference>: The license reference of the group license.
  • <clientsettings>: The Client Setting for the group. These setting are added to the user’s Client Settings as specified by the CLIENT_SETTINGS Provider Setting (see CLIENT_SETTINGS). The group Client Settings take priority over the Provider values.
  • <memberlist>: A list of members in the group.

The <groupdepot> block includes the following fields:

  • <hosturl>: The Host Server URL of the depot. This value has the form: http://<domainname>[:<port>]. Together with the depot ID (<depotid> below) this value uniquely and globally identifies a depot.
  • <depotid>: This is the ID of the depot on the Host Server.

The <member> block includes the following fields:

  • <username>: The username of the group member.
  • <email>: The email address of the group member.
  • <memberstate>: This is the state of membership as described in the “getuserdata” call (getuserdata).
  • <rejectcount>: The number of times the user has refused membership.
  • <invitetime>: The time the first invitation was sent to the user.
  • <modifytime>: The last time the membership status changed.
  • <activationcode>: The activation code is used to identify a invitation in the invitation email sent to the user.

If a group has a license or depot, then the license or depot is only used by users of the group when the membership state is member. User’s continue to use their own license and depot as in all other states, including: invited-as-member and membership-rejected.

However, for the purpose of license usage, any state that involves membership is counted, including: member, invited-as-member and membership-rejected. In other words, if a group has a license, then the license must be below its maximum usage in order to invite a user as a member.

Error Cases

Possible errors include:

  • -30000: Access denied to specified Provider
  • -30114: Provider not found
  • -30100: User unknown
  • -30004: Redirect due to user belonging to another Provider
  • -30120: User has been deleted
  • -30119: User is disabled
  • -30102: User not activated by activation mail
  • -30130: Unknown group or the group does not belong to the provider or user
  • -30129: Group reference not specified